光センサによる身体計測に向けた
シミュレータの試作
1 ) 慶 應 義 塾 大 学
2022/09/01
松尾 佳奈(1 ,杉浦 裕太(1
ヒューマンインタフェースシンポジウム Human Interface 2022
• 個人情報保護性の高い行動識別システムの需要
2
[1] xsens, MTw Awinda. https://www.xsens.com/products/mtw-awinda, (参照 2021-11-08)
[2] イプロスものづくり,慣性センサ式モーションキャプチャ『MVN Animate』. https://www.ipros.jp/product/detail/2000519464/, (参照 2021-11-08)
[3] OMRON, 形D6T MEMS非接触温度センサ. https://www.omron.co.jp/ecb/product-detail?partNumber=D6T, (参照 2021-11-08)
センサベースの動作識別の手法の構成
身体装着型 環境設置型
慣性センサ [1] 装着イメージ [2] サーマルセンサ [3]
• 実世界上の学習データの収集は労力が高い
• センサ数の見積もりが難しい
• センサ最適配置の検討の労力が高い
3
背景:実世界計測装置の開発の課題
従来のセンサベースシステム設計の流れ
• 扱う情報の抽象度が高い
• センサ配置は設置環境に依存
4
[4] Murakami, M., Kikui, K., Suzuki, K., Nakamura, F., Fukuoka, M., Masai, K., Sugiura, Y., Sugimoto, M.: AffectiveHMD: facial expression recognition in head mounted
display using embedded photo reflective sensors, SIGGRAPH '19: ACM SIGGRAPH 2019 Emerging Technologies, pp.1-2 (2019).
[5]川島 昂之, 川西 康友, 出口 大輔, 井手 一郎, 村瀬 洋, 相澤 知禎, 川出 雅人: 赤外線センサアレイを用いた畳み込みRNNによる人物動作識別, 精密工学会誌, 84巻, 12号,
p.1025-1032, 2018.
関連研究:光センサによる識別
赤外線センサアレイによる動作識別 [5]
フォトリフレクタによる表情識別 [4]
• 実世界上のセンサ配置探索とデータ収集労力の削減
• センサ配置とデータ収集を支援するシミュレータの開発
5
研究の目的
センサ表面の
シミュレーション
システム上でのセンサデータ取得
• 実世界センサの配置をデザインできるソフトウェア
の研究
• 距離センサを対象にデータ収集の労力を削減
差異:センサの種類・識別対象の再現手法
6
[6] 斎藤 彩音, 河合 航, 杉浦 裕太: “ジェスチャ認識システム構築に向けたセンサ配置およびデータ収集支援ソフトウェアの開発”, Vol.61, No.3, P638-643, 情報処理学会論文
誌, 2019.
先行研究:実世界システムシミュレーション
ソフトウェア画面 [6] 実世界とバーチャルのデータの比較 [6]
• 測定したい対象に合わせたセンサの最適配置を計算
やシミュレーションによって導出
7
[7] Song, S., Qiu, X., Wang, J. and Meng, M. Q. .: Design and Optimization Strategy of Sensor Array Layout for Magnetic Localization System, IEEE Sensors Journal, Vol. 17, No. 6, pp.
1849–1857 (2017).
[8] Jourdan, D.B., Weck, O.L.: Layout optimization for a wireless sensor network using a multi-objective genetic algorithm, 2004 IEEE 59th Vehicular Technology Conference, (2004).
先行研究:センサの最適配置
磁気トラッキングのセンサ配置 [7]
ワイヤレスセンサの配置 [8]
8
シミュレータの流れ
シミュレータの流れ
• フォトトランジスタ:赤
外光を受光すると出力電
圧が変化
• 検出距離1mm~10mm程
度
• 1個40~150円
• 外部の光源を利用
• 配光角度は104度
• 検出距離2m~3m
9
[9] 反射型センサ, KODENSHI, https://www.kodenshi.co.jp/top/products/sensor/reflective/, (参照 2021-06-27)
利用する受光素子と赤外発光装置
フォトリフレクタ [9]
赤外光発出機
発光装置の配光角度
• カメラ画像の輝度値を赤外線センサの出力電圧値と
みなし計測
• Unity上に赤外線センサと同じ大きさの物体を用意
• 表面だけをバーチャルカメラで撮影
• カメラ画像の輝度値を計算
• スポットライトを活用し赤外光と仮定
10
シミュレータの構築(計測手法)
バーチャルセンサの構成
センシングの様子
• 計測環境をUnity上に再現
• Kinect DK
• SLAM技術
• 3Dモデリングツール
(Blender)
• モーションの再現
• 慣性センサ(MVN
Animate)
• fbxファイルに書き出し
11
シミュレータの構築(環境)
センサ配置環境の再現
モーションの再現
センサデータはCNNに入力
1. 横軸を時間変化としセンサデータを1列に列挙
2. センサ値を0~255に正規化
3. 2値化の処理を施し、白黒の画像を生成
12
センサデータの画像化
時系列データ
センサ1
センサ2
センサ3
…
センサデータの画像化
• センサ数を少なく、識別率が高くなるように最適化
• 遺伝子:0/1(0:センサを使用しない、1:センサを使用)
• 個体:配置したセンサ個数分の遺伝子
13
遺伝的アルゴリズムによる最適配置
11000 ・・・ 10101
11000 ・・・ 10101
11000 ・・・ 10101
・・
・
011111011001011101001011
作成された集団
センサ個数分
遺伝子
個体
個体とセンサ配置の対応
14
遺伝的アルゴリズムのパラメータ
パラメータ項目 数値
個体内の遺伝子数 配置したセンサ数
集団 30個体
繰り返し世代数 20世代
選択サイズ
トーナメント選択
3
交叉率
一点交叉
0.5
個体突然変異率 0.2
遺伝子突然変異率 0.05
初期集団の生成
適応度の評価
選択
交叉
突然変異
最適解
遺伝的アルゴリズムのパラメータ
遺伝的アルゴリズムの流れ
• 壁に4×6で配置した24個のセンサの最適配置導出
• 遺伝的アルゴリズムを使用してセンサ個数が少なく、識
別率が高くなる配置を提示
15
最適配置の提示
取り付ける対象 平面
全体のセンサ数 24個
識別動作の種類 6種類
各種類ごとの
データ取得回数
10回
サンプリングレート 5fps
フレーム数 40フレーム
学習方法 CNN
評価方法 交差検証
識別条件
センサの配置
識別する動作の種類
16
遺伝的アルゴリズムにより得られた最適配置
センサ数:15個 識別率:98%
センサ数:12個 識別率:97%
センサ数:11個 識別率:95%
1. シミュレータ上のセンサデータにて層全体を事前学習
2. 実世界のセンサデータにて赤枠部分を再学習
17
転移学習方法
再学習データ個数
(1動作につき)
交差検証分割数
1/10個 10分割
2/10個 5分割
3/10個 3分割
4/10個 2分割
5/10個 2分割
6/10個 2分割
7/10個 3分割
8/10個 5分割
9/10個 10分割
CNNのネットワーク構造
転移学習のデータ数
• 1~3個の学習データ数において、識別率が高いこと
を確認
※ベースライン:システム上のセンサデータだけで作られた識別器
にて実世界のセンサデータを識別した結果
18
転移学習の結果
センサ個数11のときの転移学習の結果
19
今後の展望:最終的な試作ワークフロー
現在のフロー
システム上の
センサ配置 データ取得 学習・識別 実運用
最適配置
算出
短い時間で実運用できる識別精度の出るセンサ配置の導出を実現
今後のフロー
よりインタラクティブな人間の介入
ユーザの経験則・配置不可な場所の回避
20
最新のシミュレータの状況
ケーススタディを実行
目的
• シミュレータの使用感や必要機能の選定
• シミュレータ自体の有効性を測定
21
予定
22
まとめ
背景
実世界センサ配置の算出コストが高い
配置変更後の学習データ収集コストが高い
関連研究 アルゴリズムによるセンサ最適配置の導出
提案
遺伝的アルゴリズムによるセンサの最適配置の導出
転移学習による再学習コストの削減
実装 CNN、遺伝的アルゴリズム、転移学習
評価 Leave-one-out交差検証・転移学習
結果
利用センサ数の削減
実世界センサデータの利用量を少なくできることを確認
センサ配置環境の再現
シミュレーションの様子
転移学習の結果

光センサによる身体計測に向けたシミュレータの試作(ヒューマンインタフェースシンポジウム2022)

Editor's Notes

  • #2 光センサによる身体計測に向けたシミュレータの試作、と題しまして慶應義塾大学の松尾が発表します。 近年では、身体の動作を計算機上で識別する需要が高まっており、高齢者施設での徘徊・転倒などの異常行動の検知や独居高齢者の身体機能の低下の検知などに応用が期待されています。また、個人情報保護性の高い行動識別システムの需要があります。
  • #3 個人情報保護性の高い動作識別手法としてセンサベースの方法があります。 センサベースの行動識別の方法としては、大きく分けて身体装着型と環境設置型に分けられます。 本研究では環境設置型のセンサを用いた行動識別手法について注目します。
  • #4 このとき、センサ計測と機械学習を組み合わせたデータ駆動型身体動作計測が行われており、 このような計測ではセンサの数や配置は経験による決定,試行錯誤による変更が行われています。 また識別率が高くなるようにセンサの数や配置を変更した場合,デバイスの修正や学習データを集めるために時間と労力がかかるという問題点があります。
  • #5 ここで関連研究として、光センサを利用した識別について紹介します。 左の図はヘッドマウントディスプレイの中に光センサを設置することによって顔の表情を識別する研究です。 右の図は赤外線センサアレイによる行動識別の関連研究です。 スライドの右の図から扱う情報の抽象度が高く、プライバシーに考慮した識別手法であることがわかります。一方で、光センサは室内光の影響を受けやすいため、実験環境以外で関連研究の手法を再現しようとするとセンサ配置を再検討しなければならない課題があります。
  • #6 そこで本研究の目的は、実世界上のセンサ配置の探索とデータ収集労力の削減です。 センサ配置とデータ収集を支援する実世界シミュレータを開発することで目的を実現します。
  • #7 ここで先行研究を紹介します。本研究の先行研究に、実世界をシミュレーションする研究があります。 この研究は、測距センサにおけるデータ収集労力を削減するため、3Dのバーチャル空間にて、実世界センサの配置をデザインできるソフトウェアを開発しています。この研究ではバーチャル空間で測距センサをシミュレートし学習データを取れるようにしています。 この研究と本研究の差異としてはセンサの種類と識別対象の再現手法にあります。本研究では光センサのシミュレーションを対象としています。また、この研究ではKinectを利用して手のジェスチャーをバーチャル上に再現していますが、本研究ではXsensという慣性センサを利用して身体の動作をバーチャル上に再現しています。
  • #8 続いて、センサの最適配置の先行研究を紹介します。 センサ配置のシミュレーションを計算機上で行うことで,実世界での試行錯誤の労力を軽減する研究がされています. 左はトラッキング対象の磁石の位置・方向の推定精度が高くなるセンサ配置を検討しています. 右は地上の形状を計測するためのワイヤレスセンサの最適配置を決定する手法の提案をしています.ワイヤレスセンサは地面の計測範囲とセンサデータを基地に送信する距離を考慮して配置しなければなりません。このため、多目的遺伝的アルゴリズムを用いて最適配置の導出しています。 これらの研究は実世界での試行錯誤の必要がないので,検討時間の短縮や費用の削減につながります。 今回は光センサの最適配置について遺伝的アルゴリズムを用いて検討します.
  • #9 シミュレータの流れについてです.  本研究は2つのフェーズに分かれており、最適配置を導出するフェーズと転移学習による実世界センサデータの識別フェーズがあります。 1つ目の最適配置を導出するフェーズでは、Xsensを用いて実世界の人間の動作を記録し、Unity上で実世界形状復元を行った上で時系列のセンサデータを取得します。取得したデータは識別ができるように処理を加え、そのデータを用いて組み合わせ遺伝的アルゴリズムによる最適配置の導出を行います。 2つ目の転移学習による実世界センサデータの識別フェーズでは、システムによって導出されたセンサ配置での光センサデータを実世界上においても取得します。システム上のセンサデータから生成された識別器を用いた転移学習を行うことで、実世界上に配置した光センサデータを識別します。
  • #10 続いて実装について説明します。 まずは本研究で利用するセンサについて説明します。 本研究では赤外線センサとしてフォトリフレクタを使用しています。 このセンサは赤外LEDとフォトトランジスタのセットのモジュールです。 フォトトランジスタで赤外光を受光すると出力電圧が変化します。 検出距離は1mm~10mm程度と短いです。 このため、検出距離を伸ばすために、外部の赤外光の光源を利用しました。この光源の配光角度は104度であり、この光源を使うことで検出距離を2m~3mに伸ばしました。
  • #11 次に、センサの挙動の再現について説明します。 今回使用した光センサは表面に当たる光の量に比例して値を出力します。 そこで、シミュレーションセンサでは、計算機上に設置できる仮想カメラの画像の輝度値を光センサの出力値とみなし計測しています。 Unity上に光センサと同じ大きさの物体を用意し、その表面だけを仮想カメラで撮影し、カメラ画像の輝度値を計算しています。 赤外光発出機はUnityのスポットライトを利用し、赤外光と仮定しました。センサと赤外光の間で人間が動作し、センサにあたる赤外光が遮蔽されることで、センサの出力値が変化します。
  • #12 続きまして、シミュレータの構築について説明します。 実世界における動作識別実験は自宅の自室で行ったため、自室の環境をデプスカメラとSLAM技術と3Dモデリングツールを用いてUnity上に再現しました。 モーションの再現に関してはXsens社の慣性センサであるMVN Animateを利用してモーションデータを取得し、Unityに読み込むことで動作を再現しました。
  • #13 次に、取得センサデータの画像化について説明します。 取得センサデータはCNNに入力するため画像化します。 まずは、横軸を時間変化とし、センサデータを縦に1列で並べます。 次にセンサ値を0~255に正規化し、2値化(大津の二値化)の処理を施し、白黒の画像を生成します。
  • #14 続いて遺伝的アルゴリズムを使用した最適配置の算出方法についてです. 遺伝子の集合体である個体を複数用意し,適応度の高い個体を優先して交叉や突然変異などの操作を繰り返しながら最適解の探索を行います。 今回は個体として01のリストを用意し,0であればセンサを使用せず1であれば使用するとみなして識別率の計算が行われます。 適応度についてはセンサ数が少なく識別率が高い個体ほど評価が高くなるように設定しています。
  • #15 今回使用した遺伝的アルゴリズムのパラメータを表にまとめました. 選択,交叉,突然変異のループを20世代まで繰り返すことで最適配置の導出を行いました。
  • #16 先ほどの算出方法を用いて実際にセンサの最適配置を求めました. 壁に4×6で配置した24個のセンサの最適配置を求めました。 識別対象の動作は右下の図にある6種類の動作になります。 各動作を10回ずつ行い40 フレーム分のデータを取得したうえで画像化し、CNNで識別を行いました。
  • #17 遺伝的アルゴリズムによってセンサ数が少なく、識別率が高くなる配置を提示した場合の結果です. 最適配置として提示された組み合わせの上位3つを載せています。センサ数11,12,15個の組み合わせが求められ、識別率は95%以上という結果になりました。
  • #18 続きまして、転移学習についての実験を説明します。 実世界上に配置した光センサデータの識別にシミュレータ上で取得したセンサデータを学習データとして利用できることを確認するため、シミュレータ上のセンサデータから生成された識別器を用いた転移学習を行いました。 まず、遺伝的アルゴリズムで求められたシミュレータ上のセンサデータを用いて、CNNのネットワークの黒枠の部分を学習させました。その後、実世界のセンサデータを用いて、赤枠の全結合層を再学習させました。 このとき、再学習の際に与える実世界センサのデータ数を、1動作につき、1~9個に変えた時の識別率の遷移を見れるように9回転移学習を行いました。
  • #19 GAによって提示された3種類の最適配置のうち、最小のセンサ数である11個のときの配置の光センサデータを利用し、学習・識別と転移学習を行いました。スライドに識別率の遷移の結果を示しました。図の青の線は転移学習を行った識別率、オレンジの線は実世界上のセンサデータだけ学習した識別器の識別率を表しています。どちらもテストデータは実世界上のセンサデータを識別しています。グレーの線は転移学習を行わず、シミュレータ上のセンサデータだけから生成された識別器をそのまま使用して、実世界のセンサデータを識別した場合の識別率となっています。図において、学習データが1~3個といった少ないデータセットで再学習を行った場合、実世界の光センサデータのみで学習と識別を行った場合よりも識別率が高くなりました。シミュレータ上で取得したセンサデータを事前学習データとして活用できると考えられます。
  • #20 今後の展望です。 現在のセンサによる動作識別デバイスの試作ワークフローは上の図のようになっております。 センサ配置から学習・識別まで計算機上で行われますが、UIなどがなく、プログラミングでセンサの設置などを行っています。 この現在のフローにUIをつけ、より直感的にセンサを配置できるようにします。このことで、ユーザの経験則やセンサ配置不可な場所をシミュレータに教えることができます。下の図のオレンジの枠はシステムと人間がよりインタラクトする工程を表しています。
  • #21 進捗として、ユーザインタフェースを付けたので紹介します。 このようなスタート画面があり、ここから計測対象の人間アバターやセンサを配置したりします。背景に映っているのは、計測環境の3Dモデルです。 センサを配置したあとに計測ボタンを押すと学習のための学習データ取得が始まります。人間アバターを設置するモードでは矢印キーでアバターの位置を決められます。つぎにセンサに必要な光源を設置します。マウスを用いて、真ん中の十字マークを設置したい箇所に合わせて左クリックをすると設置できます。 センサも同様にマウスを用いて配置します。 配置したセンサなどは位置を編集したり、削除することもできます。 学習データを取る画面はこのようになっていて、設置したセンサの値をグラフで可視化しています。 設置した人間アバターが識別したいジェスチャを行います。 学習データを取り終わったら、識別率を計算するフェーズになります。配置したセンサで識別率がどうなるのか混合行列とともに確認できます。またGAを利用して配置したセンサの中から識別率が高くなるセンサ配置を計算する機能もあります。 この後センサの配置に戻ると、計算された最適な配置を提示します。配置が気に入らない場合は編集などをしてユーザの納得するセンサ配置を探索していきます。
  • #22 今後の予定としては、シミュレータの使用感や必須機能の選定、シミュレータ自体の有効性を測定するための、ケーススタディを実行したいと思います。
  • #23 まとめは以下の通りです。 質問 なんで遺伝子アルゴリズムを用いたの? →最適配置の先行研究において基礎的な方法であったから 世代数は適切? →適切じゃないかも。世代数が進むごとにセンサ数は少なくなると予想されるが増えているため。そもそも遺伝的アルゴリズムは不適だったかもしれない。 遺伝的アルゴリズム以外の最適方法は考えている? →The Parallel Virtual Machine (PVM)を利用して、計算速度そのものを上げるか PVM はクラスタ処理を 行うための実装パッケージであり、計算機の集合を単一の大規模並列計算機 として用いることで計算機の能力を上げる手法。 →センサの値変化が激しいセンサは特徴量が多いとみなし、そのセンサの配置は最適とみなすといった数学的なアルゴリズムを開発するとか 何を達成したいのか? →試作サイクルを短くするのと、バーチャルで学習データを取れるようにすることが意義(今回の文脈) →学習データを取得するのに使えるという前提のもと、シミュレータにおいて、どのような操作だとユーザが素早く使いこなせるようになるかをユーザスタディにより明らかにしたいです。こうすることで、IoTデバイスの試作などが一般生活にも浸透し、一般生活者が自分で必要なデバイスを簡単に作れるようになります。こうすることで、人々の生活がより便利になる将来を実現したいです。 「センサ個数が少ない∧識別率が高い」ってどのように評価したのか気になりました.(識別率) ÷ (センサ個数) の最大化問題みたいなのを考えたとか? →遺伝的アルゴリズムで選ばれたセンサ位置の組み合わせのデータで識別率を出し、それを高い順に評価しただけです。 全結合層だけ再学習する理由は? →畳み込み層は画像の特徴を抽出する部分であることから、シミュレータ上で取得したデータと実世界上で取得したデータに対して同じ処理を行うと仮定するのが自然であるため、全結合層のみをチューニングした。具体的には少量の実世界上で取得したデータを用いて、事前学習CNNの畳み込み層の重みは固定した状態で全結合層となる最後の2層を再学習した。