大塚裕介 のすべての投稿

週報(大塚)

  • 事前学習モデルをグレースケールで再学習

精度はRGBの場合とほとんど変わらなかった

  • カメラ2台に対応したモデルを実装
  • 先行研究の論文を読む

Two-Stream CNNs for Gesture-Based Verification and Identification: Learning User Style 

https://www.cv-foundation.org/openaccess/content_cvpr_2016_workshops/w4/html/Wu_Two-Stream_CNNs_for_CVPR_2016_paper.html

概要

・ハンドジェスチャーを生体認証として利用するための研究

・ネットワークはTwo-Stream CNNsを使用し、ハンドジェスチャーのdepth map、optical flowから特徴量を抽出

・ImageNetの重みで初期化

・ユーザーが行う特定のジェスチャーだけでなく、ユーザーがジェスチャーを行う際の特定のスタイルを学習する

週報(大塚)

・長回しで取ったmp4ファイルを自動で分割するプログラムを作成

mp4ファイルにMediaPipe Handsを使うことで手を認識し、ジェスチャーの開始フレームと終了フレームを求め、ジェスチャーごとのmp4ファイルに分割

・自分で集めたデータを学習、ファインチューニングありとなしで検証

学習に使ったデータ:カメラ1台で撮影、10種類のハンドジェスチャーをそれぞれ20回ずつ

精度はどちらも100%になりましたが、t-SNEで可視化したものやcos類似度を見ると、ファインチューニングなしで学習したものは本質的に動作の特徴を学習できておらず、今回集めたジェスチャーのデータに過学習しているように見えます。

ファインチューニングによる負の転移は今のところ起きてないようなので、ファインチューニングが有効であるという前提で研究を続けます。

週報(大塚)

・基本情報の勉強

・データの取得

・プログラムの修正

webカメラ周りで少し詰まってます。

具体的には、

カメラを2台使って同時に録画したい

→Macに入ってるQuickTime Playerは同時に録画できなさそうなのでpythonとopencvで録画

→1frame保存するのに0.15秒くらいかかるので実質7fpsくらいしか出ない

後から動画を画像に分割してframeを間引く(fpsを小さくする)ので、あまり問題にならないと思いますが、できれば30fpsに近い値で録画したいです。カメラ2台を同期させて録画するのに何か良い方法はありますか?

週報(大塚)

  • 研究のソースコードを修正

(損失関数の変更、バッチサイズの拡張、testデータの精度を求める)

結局、ECO + ArcFaceLoss で上手くいった。

lossが下がり、精度もそれなりに良いので、このアーキテクチャーで研究を行おうと思います。

研究で使うために、webカメラ2台(スタンド付き)が欲しいです。