先月の前編に引き続き、本日コンピュータビジョン勉強会@関東「CVPR2023読み会(後編)」をニューラルグループ株式会社様提供の会場をお借りして開催いたしました。
以下、資料やリンク等のまとめです。
先月の前編に引き続き、本日コンピュータビジョン勉強会@関東「CVPR2023読み会(後編)」をニューラルグループ株式会社様提供の会場をお借りして開催いたしました。
以下、資料やリンク等のまとめです。
本日、コンピュータビジョン勉強会@関東を「CVPR2023読み会(前編)」というテーマで株式会社サイバーエージェント様に会場をお借りして開催いたしました。
CVPRはコンピュータビジョンのトップカンファレンスの一つで、読み会は当勉強会では恒例の開催となりました。
というわけで、資料やリンク等をまとめておきます。
私が発表した内容はこちらです。
javascriptでカメラの解像度を取得する際、OSやブラウザによって振る舞いが異なるため、色々とはまったのでメモ。
まず、カメラの解像度を取得するコードは以下の通り
let stream = await navigator.mediaDevices .getUserMedia({ video: { facingMode: currentFacingMode }, audio: false }); // Get the video track of the camera stream const track = stream.getVideoTracks()[0]; // Get the current settings of the video track const settings = track.getSettings(); // Camera resolution let video_width = settings.width; let video_height = settings.height;
ここでvideo_widthが幅のピクセル数、video_heightが高さのピクセル数になります。
やっかいなのは、OSやブラウザによって、デバイスの自動回転をONにした状態で、スマホを横向きにした時にwidthとheightが入れ替わるケースとそうでないケースがあることです。 デバイスの回転に関係なく一定のケースでは、デバイスの向きによらず、width > heightでした。一方デバイスの回転が反映されるケースでは、スマホを縦に持った時はheight > width、横にした時はwidth > heightです。
僕がテストした範囲ではこんな感じです。
結局、navigator.userAgentなどを使用して、OSやブラウザを特定して場合分けすることで対応しました。
今回、主に点群に対してSemantic Segmentationを行うためにTansformerを適用した研究についてサーベイしてみたので、資料を公開します。
元々は、前回開催したコンピュータビジョン勉強会@関東「深層学習+3D論文読み会」で発表するために準備していたのですが、発表者が十分に集まったことと、ハイブリッド開催のため運営が大変になりそうだったので、発表は断念しました。
最初は画像と点群でのTransformerの適用方法の違いが気になって調べだしたので、PointTransformerとPointMixerあたりまでを発表するつもりだったのですが、発表を取りやめて調べる時間もできたので、色々と追加で調べているうちに分量が増えてしまいました。
調べてみて、果たしてTransformerは畳み込みと比べて点群処理に最適か?というのはよくわかりませんでした。ただ、PointBERTのように大規模事前学習モデルを作るのは世の流れなので、学習データの量の問題はありますが、点群に関してもいずれそうなるのではないかと思ってます。
また、点群に対してTransformerを適用する場合、計算リソースが大きな問題となるので、そこをどう工夫するか各手法が知恵を絞っている感じでした。 他にもAttentionの計算に、内積の代わりに差分を用いる等、画像とは違ったアプローチが多々見られました。
というわけでご参考になれば幸いです。また、抜けや誤り等コメント歓迎です。