梶研 [伊達巻センシング&モーションデータから骨格比較序章]
2024年04月09日
伊達巻センシング&モーションデータから骨格比較序章
出席率
- 3年セミナー:??%
スケジュール
短期的な予定
- mocopi と お料理センシング
- シーンとランドマークを決める(~2月上旬)
- SVM で動作判別する
- 機械学習を深める
- 機械学習の手法を知る
- 使う手法を決める
- データセットを探す
- LSTM してみる
- 主成分分析してみる
- クラスタリング
- 自己相関
- お料理センシング
- お料理でどんな動作があるかを知る
- レシピを決める
- センシングする
- ?
- 論文書く
- 発表
- BLEビーコンのuuidを書き換えたい
- 通信内容を読み解く
- shellコマンドで通信してみる
- 実装してみる
- BookWorm
- Pasori と デスクトップアプリを接続する(技術検証)
- nfc読み込み機能 & 画面を作る
- API と連携させる
- 管理者画面を作る
長期的な予定
- ~?月 シーン検知?をする
- ~?月 論文を書く
- ~?月 論文発表したい
進捗報告
目的
料理中の動作を mocopi を使ってセンシングする。
このデータから最終的に位置推定を行う。
- 一定の区間でどの動作をしているかを当てる (クラス分類)
- 料理の手順を元にシーン検知を補正する
- 例) 焼く動作 → 卵割る動作 はおかしい
- 位置とシーンを相補的に補正する
- 例) 冷蔵庫の前で焼く動作 はおかしい
センシング
1回目
- 卵は4個のところ2個使ってた
- フードプロセッサーの前に越してた
- 濾す時にスプーンを使って最後までとる
- 材料入れてない
- 全ての定義
- 時間測ってない
- アルミの蓋をあらかじめ作っておく
- ひっくり返すタイミングが早かった
- 強さ1, 時間不明
2回目
- 調味料が少なかった
- ちゃんと測る
- 濾しきれなかった
- もっとフードプロセッサーする
- 調味料が混ざりきってない
- 火力が強かった
- もっと強く巻く
- 2枚目が巻ききれなかった
3回目
- 調味料を入れ忘れて一回フードプロセッサー後に混ぜた
- 半分ずつフードプロセッサしていたのに調味料を1回目で全て入れてしまった
- 反転が少し早くてぐちゃっとしてしまった
骨格比較してみる
たくさんセンシングするのに時間掛かるので、BVH形式(mocopiの形式) のデータが欲しい
配布されたデータを使う
HIMEHINA めっちゃ配布していてよさそう
BVH そのままはあまりない → Blender で FBX から BVH に変換する
FBX形式をそのままimport
骨格がおかしい
Automatic Bone Or...
にチェックを入れる
export
HIERARCHY
ROOT __0
{
OFFSET 0.0 0.0 0.0
CHANNELS 0
JOINT LeftUpLeg
{
OFFSET 6.016071 -5.991787 -0.570599
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT LeftLeg
{
OFFSET 1.473883 -22.940727 25.570656
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT LeftFoot
{
OFFSET 10.054010 -36.721462 8.523235
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT LeftToeBase
{
OFFSET 0.199265 -2.577995 10.048431
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
JOINT LeftToeBase_end
{
OFFSET -1.852784 4.928898 8.940361
CHANNELS 6 Xposition Yposition Zposition Xrotation Yrotation Zrotation
End Site
{
OFFSET -1.958740 5.357021 8.667324
}
...
}
}
MOTION
Frames: 13390
Frame Time: 0.016667
6.016071 -5.991786 -0.570600 55.940175 29.546575 -10.590621 1.473998 -22.939415 25.571917 -20.626367 -5.640613 -4.760249 10.054013 -36.721455 8.523234 2.104019 -2.327466 4.335304 0.199258 -2.577998 10.048431 5.101742 1.445268 0.202135 -1.852785 4.928891 8.940372 -0.000002 -0.000001 -0.000000 -6.016064 -5.992060 -0.570697 48.566145 -3.272763 -10.961684 5.764049 -25.210388 22.660982 -8.680125 -1.420935 0.843367 6.935874 -36.778938 11.017743 -1.568447 0.093772 1.330093 0.359520 -2.823103 9.977855 -0.000002 0.000001 -0.000002 -1.785817 4.253182 9.293996 -0.000001 0.000000 -0.000000 -0.000004 8.782891 0.000013 0.447803 0.959584 -0.012855 -0.010080 8.412071 -0.829323 4.225040 1.160445 -2.875167 2.015081 12.033426 -3.428221 1.082880 -2.266284 -9.061214 -23.728786 13.838702 7.687195 11.925301 -18.844561 1.931485 -81.714915 3.379480 -89.022473 9.674701 -17.302729 2.648575 -34.089785 -8.369577 -52.421733 7.173927 -1.459049 0.328262 1.493115 2.823160 7.722260 1.409587 -0.659219 -0.383050 1.128535 2.033040 -1.073637 -0.896030 -1.650551 0.850898 10.734283 22.106454 50.398439 0.000001 -0.000002 -0.000000 6.700581 -1.875833 -0.951379 6.609983 15.350386 24.807117 1.543655 -1.605713 0.251667 -9.922834 36.025997 94.419053 2.179163 24.811251 55.309113 -1.790955 0.973256 0.067924 -0.000001 0.000002 -0.000003 5.245774 -2.719982 -3.228395 5.992846 26.737190 63.028972 9.632104 21.215686 35.673293 -0.913534 -0.594059 0.673075 6.597634 10.177176 18.527547 -1.127216 -0.194416 0.576218 0.000002 0.000000 0.000001 5.869275 -2.386193 -2.159164 7.508564 23.510635 46.398892 -5.930868 38.993956 78.318268 -1.719785 -0.442700 0.739133 4.028843 25.383942 45.574434 0.000005 0.000001 0.000001 2.868027 -0.791358 1.729172 -12.700557 -9.252987 9.038987 1.629950 -1.027784 0.383072 -8.619491 -11.654011 7.331244 1.300357 -1.300587 -0.529163 -12.818001 -19.248163 10.822153 0.986077 -1.235801 -1.078353 -0.000002 0.000000 0.000003 -1.168015 16.662645 -2.406670 36.540624 22.393344 -14.479113 -1.305044 4.790944 -1.762904 24.038130 19.776413 -22.444360 -3.734966 11.645303 -3.324600 5.339431 6.079242 -3.167164 32.088509 34.087490 -18.498307 -10.038071 -18.833271 6.755636 7.792868 -9.573410 0.679572 -10.832918 21.998979 -59.692766 -6.776648 2.348377 1.504833 -0.106483 0.464488 -0.833707 15.356229 -3.145008 21.317239 9.753649 -2.486610 13.154296 -0.000002 0.000003 -0.000004 -6.119329 2.085446 2.743407 -1.137318 1.842883 -4.677343 -1.772653 0.800798 1.114075 7.313403 -2.013884 13.406014 4.566046 -1.474312 8.444649 -0.000000 0.000002 0.000001 -4.331814 1.629875 4.890669 0.541042 5.096590 -6.688435 -5.023484 1.735436 -15.742302 -3.251821 0.972018 -10.105744 0.000001 -0.000001 0.000002 -5.100971 1.892352 3.899239 -1.480338 1.992733 -5.228294 5.419881 -0.780866 14.510923 3.431879 -0.671548 9.242294 0.000002 0.000002 0.000004 -2.813058 1.845372 -0.731935 -3.376391 -5.980432 1.180183 -1.822548 0.691253 0.245597 -2.634372 -8.471911 1.715695 -1.569425 0.713398 0.830986 -5.517210 -16.583995 4.728681 -1.600557 0.586066 0.870227 -0.000001 -0.000001 -0.000004
6.016070 -5.991786 -0.570599 60.079730 13.185339 -21.492995 1.474049 -22.939470 25.571800 -19.976309 -6.853882 -6.875169 10.054009 -36.721443 8.523230 2.104106 -2.247831 4.354328 0.199260 -2.577987 10.048425 5.062390 1.434055 0.201071 -1.852784 4.928885 8.940370 -0.000004 -0.000001 -0.000000 -6.016063 -5.992061 -0.570698 48.535099 -3.248880 -10.958547 5.766253 -25.228764 22.640043 -8.531440 -1.395542 0.830744 6.935878 -36.778931 11.017749 -1.595350 0.085934 1.325848 0.359525 -2.823128 9.977868 1.881379 0.447062 0.150834 -1.785816 4.253170 9.294009 0.000004 -0.000000 -0.000000 -0.000004 8.782892 0.000013 0.401357 0.947066 -0.011434 -0.010080 8.412072 -0.829323 4.249175 1.148691 -2.883057 2.015080 12.033425 -3.428221 1.089113 -2.237840 -9.062712 -23.777224 13.958895 7.656605 11.925303 -18.844566 1.931487 -81.531271 3.431604 -89.027226 9.674698 -17.302732 2.648575 -34.268890 -8.305359 -52.482999 7.173924 -1.459053 0.328264 1.494987 2.828613 7.746107 1.409585 -0.659211 -0.383052 3.276177 41.244026 90.583506 -0.896032 -1.650550 0.850897 12.019861 23.093419 49.342441 0.000000 0.000000 0.000002 6.700582 -1.875834 -0.951379 6.578542 15.282873 24.761630 1.543661 -1.605707 0.251673 -9.923083 36.026099 94.419674 2.179102 24.811384 55.309441 -1.790963 0.973253 0.067927 0.000000 -0.000002 -0.000003 5.245773 -2.719987 -3.228394 5.907580 26.727946 63.179182 9.613826 21.066112 35.444328 -0.913533 -0.594059 0.673078 6.558082 10.088586 18.383017 -1.127216 -0.194417 0.576221 -0.000000 -0.000001 0.000003 5.869274 -2.386198 -2.159163 7.464691 23.450420 46.401799 -5.918513 38.985142 78.288011 -1.719784 -0.442700 0.739135 4.022116 25.436762 45.527715 -0.000002 -0.000000 -0.000001 2.868022 -0.791362 1.729173 -12.727545 -9.298810 9.068234 1.629953 -1.027784 0.383072 -8.575868 -11.587715 7.295455 1.300353 -1.300584 -0.529166 -12.741524 -19.113342 10.761568 0.986073 -1.235804 -1.078350 -0.000003 0.000003 0.000002 -1.168013 16.662607 -2.406674 36.624058 22.439425 -14.423247 -1.305044 4.790937 -1.762900 24.109955 19.816510 -22.470721 -3.734966 11.645304 -3.324600 5.297746 6.083647 -3.135250 32.072154 34.067409 -18.447832 -10.038072 -18.833271 6.755636 7.859936 -9.525478 0.757155 -10.848491 22.053544 -59.742305 -6.776646 2.348375 1.504835 -0.549534 0.190329 -1.181681 14.786600 -3.133842 20.537554 9.390851 -2.436339 12.670382 -0.000003 0.000000 -0.000000 -6.119326 2.085446 2.743404 -1.596325 1.676367 -5.152006 -1.772656 0.800794 1.114080 7.134983 -1.986165 13.085048 4.454565 -1.447007 8.241532 0.000003 0.000003 -0.000000 -4.331812 1.629874 4.890665 0.527434 5.092925 -6.704445 -5.029737 1.738612 -15.762890 -3.255949 0.973665 -10.118923 0.000001 0.000005 0.000004 -5.100973 1.892349 3.899237 -1.656735 1.810689 -5.262754 5.146616 -0.774666 13.787214 3.258667 -0.651274 8.781045 0.000003 0.000001 -0.000001 -2.813060 1.845370 -0.731935 -3.322797 -5.656094 1.226571 -1.822548 0.691245 0.245596 -2.630464 -8.458782 1.713328 -1.569423 0.713399 0.830988 -5.492727 -16.507563 4.710259 -1.600558 0.586065 0.870225 -0.000004 -0.000001 -0.000003
...
骨格比較
軽く調べても動画や画像から骨格推定しているものばかりだった
→ 論文漁ってみる
https://waseda.repo.nii.ac.jp/record/76928/files/Rikoshuron_202209_t5120fg36.pdf
ST-GCN
とかいう機械学習の手法を使えばいいらしい
GCN とは
グラフ畳み込みネットワーク
- 隣接行列を用いてノード特徴を集約
- 隣接行列: グラフ上のとあるノード同士が接続しているかを表す行列. 習った気がする
- ノード特徴: 分からない. サンプルコードでは仮で乱数を使っていた
- こんな感じで集約する$$
\begin{bmatrix}
1, 1, 1, 0, 1
\end{bmatrix}
{\times}
\begin{bmatrix}
v_1 \\
v_2 \\
v_3 \\
v_4 \\
v_5 \\
\end{bmatrix}
=
v_1 {\times} v_2 {\times} v_3 {\times} v_5
$$- 平均を使うと偏りが少なくなる
- 実際は正規化を行うことが多いらしい
- 畳み込み演算
- 隣接ノード数では固定の重みを使えない
- エッジの重みを学習することで代用できる
- 数式はよく分からん
- とにかく重要度の低いノードの重みは小さく,重要度の高いノードの重みは大きくなる
ST-GCNとは
GCN (Graph Convolional Network) に ST (Spatial Temporal, 時空間) 方向で拡張したもの(?)
多分2次元平面 + 時間軸 でやっている
→ いずれ3次元空間 + 時間軸 でやる方法も必要?
TODO: 理解する
参考: https://zenn.dev/hash_yuki/articles/3b0f782ccffa54
これからの進め方
- 軽く GCN する
- ST-GCN で行動認識する
- 3次元空間+時間軸で行動認識する?
進路関係
余談
新入生歓迎会をした
研究室横断LT会のポスター制作中
セカオワのライブに行ってきた
浜松城に寄った
ソロ花見をした
会場(の隣のエコパスタジアム)
⚠️以下ライブのネタバレを含みます⚠️
センシング失敗した
保存できていなかった
欲しかったデータのイメージ(↓は8月のフェスの加速度)