Slide 1

Slide 1 text

機械学習による動作認識 大野 宏 2020/1/11 Python機械学習勉強会in新潟Restart#10

Slide 2

Slide 2 text

本日の内容 ・動作認識の概要 ・センサを使った姿勢データの取得 ・ディープラーニングを使った姿勢推定 ・作業者の解析 ・主成分分析を使った動作認識

Slide 3

Slide 3 text

動作の取得や認識・解析の目的 ・CGキャラクター用データの取得 ・スポーツ選手やベテラン技術者の動きの違いの把握 ・作業者の解析 ・個人の特定 ・不審な動きの判別

Slide 4

Slide 4 text

モーションキャプチャ ・CGキャラクター用のデータの取得、スポーツ選手 の動作の解析 ・マーカを付けてモーションキャプチャーが主流

Slide 5

Slide 5 text

3次元センサKinect ・マイクロソフトがゲーム用のジェスチャー認識する入力 装置として開発 ・スケルトン(関節点)の3次元座標を取得できる ・工業用の3次元センサもあったが高価、Kinectは 約3万 円で(価格は1/10以下)、VGAと高解像度 ・パソコンで使えるSDKが提供され、多くの大学が研究 に利用 ・現在は製造中止、アマゾン購入可

Slide 6

Slide 6 text

Kinect ・画素数 512×424 ・フレームレイト 30fps ・使用範囲 0.5~4.5m ・価格 3万円くらい

Slide 7

Slide 7 text

Kinectの利用事例 ・ウルトラセブン https://www.youtube.com/watch?v=eCbURRDUUdI&t=46s ・かめはめ波 https://www.youtube.com/watch?v=r0l18SWKd88

Slide 8

Slide 8 text

安価な距離画像センサ Intel社 デプスカメラ ・画素数 1280×720 ・フレームレイト 90fps ・使用範囲 0.2~10m ・価格 3万円くらい ・大きさ 90 mm x 25 mm x 25 mm

Slide 9

Slide 9 text

少し高い距離画像センサ Basler社 Time-of-Flightカメラ ・画素数 640×480 ・フレームレイト 20fps ・使用範囲 0-13.325m ・精度 ±1cm ・価格 40万円くらい

Slide 10

Slide 10 text

OpenPose ・2次元画像から姿勢を推定(関節点の2次元推定) https://qiita.com/nnn112358/items/121dc36c3c1752a00276

Slide 11

Slide 11 text

PoseNet https://guithub.com/tensorflow/tfjs-models/tree/master/posenet/

Slide 12

Slide 12 text

人体動作の認識方法 ・ディープラーニングで各関節角の値を取得 これらの値から別の機械学習方法を用いて動作を認識 各関節の動きを時系列データとしてRNNで認識 主成分分析で次元を圧縮して認識 ・3D-CNNで動画像のまま動作を認識 2D画像+1D時間 → 3D 3D Resnet 学習に要する時間が長い

Slide 13

Slide 13 text

Resnet ・Residual Network ・深いネットワークの場合、誤差逆伝搬法で勾配が0近く なると消失してしまい入力層近くまで伝播されない ・複数の畳み込み層をまたぐスキップ接続を導入 ・二次元の画像認識でも高い認識率

Slide 14

Slide 14 text

Kinectを使った動作認識 岐阜県情報技術研究所が開発

Slide 15

Slide 15 text

デンソーとABEJAのシステム ・作業者の作業時間を解析する

Slide 16

Slide 16 text

以前取り組んだ研究の紹介 ・「固有平面上での人体動作の認識に関する研究」 ・目的 製造現場の作業工程を改善するため、現状作業を分析 する動作認識技術の開発 従来はストップウォッチを片手に人が見て紙に記録 ・動作の対象はラジオ体操 ・International Conference on Computer Visionで発表

Slide 17

Slide 17 text

人体動作の認識方法 ・手順 ①人体モデルを画像にフィッティングさせ、前後のフレー ム間の特徴点(エッジ)の移動量を計算し、人の動き計算 ②各関節の回転角のデータをKL展開を使い、特徴を保 存 しつつ次元を圧縮 30次元(10パーツ×3回転角)の データを2次元まで圧縮して平面上に表示して判別

Slide 18

Slide 18 text

変換式式 各パーツの姿勢列を値に持つ姿勢データ行列X Xの共分散行列Q Q=XXT 次の固有方程式 λi ei =Qi ei を解き、固有値の大きい2個の固有ベクトルe1 ,e2 を使い 各フレームにおける人体姿勢列は次式で固有平面上に G=[e1 ,e2 ]TX

Slide 19

Slide 19 text

動作の計測 4方向からのカメラで撮像して計測

Slide 20

Slide 20 text

2次元平面上に表された動作 伸びの動作

Slide 21

Slide 21 text

9種類の動作 伸びの動作 腕を回す運動

Slide 22

Slide 22 text

8人の伸びの動作

Slide 23

Slide 23 text

ICCV1999

Slide 24

Slide 24 text

ギリシャのケルキラ(コルフ)島

Slide 25

Slide 25 text

まとめ ・動作認識の概要 ・センサを使った姿勢データの取得 ・ディープラーニングを使った姿勢推定 ・作業者の解析 姿勢データを取得して機械学習で認識 動画像の3D-CNNで認識 ・主成分分析を使った動作認識

Slide 26

Slide 26 text

お知らせ ・ディープラーニングによる画像処理入門 Tensorflow/Kerasを使いMNISTや自前画像の分類 ローカルPC、グーグルクラウドのGPU環境 1月23日、24日 長岡市NaDeC BASE https://nagaoka-ai-innovationhub.connpass.com/event/159388/ https://connpass.com/ 「長岡市」で検索 ・画像処理の基礎 カメラと照明の基礎と選定 画像処理ライブラリOpenCVの使い方講習 3/4