Slide 1

Slide 1 text

Real-time Hand Gesture Detection and Classification Using CNN Okan Kopuklu, Ahmet Gundz, Neslihan Kose, Gerhad Rigoll

Slide 2

Slide 2 text

CONTENTS I. INTRODUCION II. RELATED WORK III. METHODOLOGY IV. EXPERIMENTS V. CONCLUSION

Slide 3

Slide 3 text

1.始まりと終わりが分からないので難しい。 2.1度しか行われない動作の認識は難しい。 3.メモリのコストを考えてアーキテクチャを設計するのが難しい ABSTRACT リアルタイムジェスチャー認識+分類が難しい理由 提案手法 評価方法 Levenshtein距離で「多重認識」「誤分類」「認識失敗」を評価 … … 認識器 分類器 ジェスチャー認識と ジェスチャー分類を分割して行う。 軽量 DEEP 幅固定の動画片

Slide 4

Slide 4 text

家電が便利になる! PCやマウスの操作が容易になる! INTRODUCTION ジェスチャー認識+分類の需要 アプローチの種類 1. Using glove-based wearable devices 2. Using 3-dimensional locations of hand keypoints 3. Using Row visual data ▶装備がうざったいが、精度も速度もよい ▶Keypointを知るための余分なステップが必要で計算面でも時間面でもコスト高 ▶カメラ1台あればよい!もっとも現実的!

Slide 5

Slide 5 text

INTRODUCTION リアルタイムジェスチャー認識+分類に求められること 1. 有用な分類精度 2. 応答反応の俊敏さ 3. 計算リソース 4. 一回のジェスチャーで正しく認識すること ほとんどの研究は1にしか注目していない! リアルタイムで動くものもあるが、Deep CNNsを組み合わせているのでメモリや電源の問題がある。 我々は1~4のすべてを満たすアーキテクチャを作った!

Slide 6

Slide 6 text

簡単な場合分けで、ジェスチャー中でも 正しくジェスチャーを認識できる。 ジェスチャー終了後にジェスチャー断定 ジェスチャー終了前にジェスチャー断定 ハンドジェスチャーが行われた確率を計算 INTRODUCTION どのハンドジェスチャーが行われたかを計算 ☹ジェスチャー初期に混同がある。 重みづけ後処理を行う

Slide 7

Slide 7 text

RELATED WORK CNNは動画解析でたくさん使われてる!スゴイ! CNNで時系列情報を扱うのは限界がある。 そこで、3D CNNが誕生!我々も3D CNNを採用した。 CNNの発展 リアルタイムジェスチャー認識+分類 Gesture Recognition: Focus on the Hands(2018) HOG特徴量からSVMでジェスチャーを分類 Multi-sensor System for Driver’s Hand-Gesture Recognition(2015) レーダーでジェスチャーを認識 Online Detection and Classification of Dynamic Hand Gestures with Recurrent 3D CNN(2016) CTC lossを用いて連続したジェスチャーを認識(ただし、single time activation不可) It is the first time single-time activations are performed for deep learning based hand gesture recognition.

Slide 8

Slide 8 text

METHODOLOGY DEEP CNN Light weight CNN Detector に対しても Classifierに対してもs = 1 sを大きくするとリソースを節約できる。 全体像

Slide 9

Slide 9 text

METHODOLOGY ジェスチャーが行われているか否かを分類。 ResNet Block F: 特徴量のチャンネル数 N: ブロック数 Detector どのジェスチャーが行われているかを分類。 Classifier ResNeXt Block Weighted-cross entropy を採用。 Weight of gesture is 3 Weight of no gesture is 1

Slide 10

Slide 10 text

METHODOLOGY Data Augmentation 1. 全画像をランダムにクロップして、112×112にして、 1倍、2−1/4倍、2−3/4倍、2−1倍にスケール 2. Spatial elastic displacement をクロップして、スケールされた画像に施す。 3. 入力動画の一部の連続したフレームをランダムに取り出す。 3D CNNはパラメータ数が多いので多くの訓練データが必要 cf: Best practices for convolutional neural networks applied to visual document analysis.(2003) 次の1~3すべてを行った。 画像は各画像の平均値と分散を用いて0から1に規格化。(これで学習がはやくなる?) テスト時は画像の中心をクロップして112×112にし、規格化した。 Training Detail SGD with Nesterov momentum = 0.9, damping factor = 0.9, weight decay = 0.001 Pretraining後の学習率は10エポック目から25エポック目までの間の1エポック毎に10で割る。 Training は 30エポックまで行う。 Pretraining ClassiferをJester datasetで訓練後に、EgoGesture dataset と nvGesture datasetで訓練 これで、劇的に結果が良くなった!

Slide 11

Slide 11 text

METHODOLOGY Post processing service 手が画面の外にあったために、正しくジェスチャー認識ができなかったかもしれない。 −4 −3 −2 −1 ′ = Median( , −1 , −2 , −3 , −4 ) raw softmax probability そこで過去の情報も用いる。 ′ の値で、ジェスチャーか否かを判定

Slide 12

Slide 12 text

METHODOLOGY Single-time Activation リアルタイムジェスチャー認識では応答時間の短さが重要 ・各ジェスチャーは、「準備フェーズ」「コアフェーズ」「終了フェーズ」からなる。 区別が容易 ここに注目すればジェスチャー終了前に分類可 Single-time Activation Early-detection ジェスチャー終了前に分類 Late-detection 認識器がOFFになった段階で分類 Early-detectionのためには、コアフェーズ終了直後に分類するのが良い。 準備フェイズは似た動作が多いので大きく混同する。 ▶準備フェイズの影響が小さくなる重みを与える。 = 1 1 + −0.2(− 4) : iteration index : mean duration of the gestures in the dataset [Ego Gesture Dataset] を計算して、平均をとる。 ′ = ′

Slide 13

Slide 13 text

METHODOLOGY Single-time Activation ■ Early-detection 大きい2つの ′を比較して、その差が になったら最大の ′に対応するクラスと断定する ■ Late-detection 認識器がOFFになった時点で最大の ′が = 0.15より大きい場合に最大の ′に対応するクラスと断定する Late-detection Early-detection

Slide 14

Slide 14 text

METHODOLOGY Evaluation of the Activation 次の3つのエラーを評価する指標が必要。 ・分類器による誤分類。 ・認識器がジェスチャーの存在をとりこぼした。 ・認識器が一つのジェスチャーを複数回認識した。 Levenshtein距離 二つの文字がどれくらい似ているかを表現するときなどにも使われる。 Ground Truth Predicted [1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 2, 7, 4, 5, 6, 6, 7, 8, 9] 3が7に置き換わっている。 6が重複している。 Levenshtein距離 += 1 Levenshtein距離 += 1 ゆえにGround TruthとPredictedのLevenshtein距離は2 これをGround Truthの長さで割って2/9 = 0.2222、1から引くと (1-0.222)*100 = 77.8% 評価指標 Levenshtein精度

Slide 15

Slide 15 text

EXPERIMENTS Real-Time Classification Results EgoGesture Dataset の 431 のテスト用動画で実験 Levenshtein精度 91.04% nvGesture Dataset の 482 のテスト用動画で実験 Levenshtein精度 77.39% ■実行速度 ジャスチャーなし 460 fps ジェスチャー認識中 62 fps ただし、実行環境は、NVIDIA Titan Xp GPU ■精度 ■ Early detection time and Levenshtein精度 nとmの値については記述なし。

Slide 16

Slide 16 text

CONCLUSION ・評価指標として、Levenshtein精度を導入 ・適切な後処理でEarly-detecitonを実現 ・認識器は軽量に、分類器はDEEPに設計