お題
今朝Twitter をぼーーっと眺めていると、全人類が毎朝取るべき姿勢の画像が流れてきました。
1日1分で良いらしいです。
https://twitter.com/takasuzuki1123/status/1188783768779124737
シンプルで分かりやすい内容だなと思い早速試してみたのですが、これが意外と難しい。。
自分の姿勢の写真を撮ってもらいながら正解画像と見比べていたのですが、何が違うのかがよくわからない。
だけど、自分の姿勢は何かがおかしい。
リプライを見てみると、他にも同じような悩みを持たれている方が多くいることがわかりました。
自分とこの方々の悩みを一気に解決したい!
ということで、今回は機械学習を使って姿勢推定を行い、正しい姿勢が取れているかどうかを検証してみることにしました。
こういうタスクこそ機械学習でやるべきことなはず!!
実現すること
姿勢のチェックに機械学習を活用する。
使う技術
以前弊社嶋生がFusic Tech Blogに書いた記事を参考にして姿勢推定を行います。
姿勢推定を行う方法は数多く提案されており、最近の動向はこちらの記事にまとめられています。
今回は、PyTorchベースのパッケージであるTorchVisionに含まれている、Keypoint R-CNN を使います。
結果
画像に対して姿勢推定を行います。
姿勢推定で身体のキーポイント(肘・ひざ・肩など)、シンプルになった画像を見ながら自分の姿勢を整えていく作戦です。
まずは正解画像(※1)から。
どっしりしていてとてもきれいな姿勢です。
また、画像も明るくてすべてのキーポイントがしっかり抽出できています!
続いて自分の画像です。
とりあえずポーズの写真を撮ってみました。
頭が下がってしまっています。。。
また、お腹が出ているためキーポイントの抽出にも失敗しています。
壁に向かって懺悔している人みたい。いい写真とは言えません。。下手くそですね。
次に、撮った写真を見ながら姿勢を修正しました。
逆光だったので撮影場所も変えました。
姿勢が少し良くなりました。
でも、まだまだ改善の余地はありそうです。背中が反っています。
サンプルを増やすため、篠原・嶋生にも手伝ってもらいました。
ワンピースを着ているせいか、少しキーポイントの検出に失敗している箇所がありますが、
姿勢は一発でとても上手にできました!
ヨガに通っているだけのことはあるなあと感服しました。
10回目ぐらいの嶋生のポーズです。
自分よりうまくて少しつらいです。
キーポイントの抽出は概ねできています。
まとめ
今回は、機械学習を用いて体のキーポイントを推定し、正しい姿勢をとれているかどうかを検証しました。
もう少し姿勢を練習して、 全人類が取るべき姿勢 をマスターしたいと思います。
先生がリプライ等で挙げられている注意点として、
- 肘は外側へ開かず、壁から離さない
- 頭、胴体、くるぶしは垂直
- 膝を壁の方へ曲げ、壁に近づける
- 体を斜めにしない
というのがありました。
横から撮った画像からでも 肘を外側へ開かない という項目以外は判別できそうなので姿勢向上に役立てていこうと思います。
また、手伝ってもらった篠原から、ヨガのポーズを正しく取れているかどうか見てみたいという要望を頂きました。
面白そうなので、是非挑戦してみたいと思います。
次回もご期待ください!
謝辞
※1
本記事を書くに当たり、画像の掲載を快く引き受けてくださいました 鈴木様、ありがとうございました。
一人でも多くの人が全人類が取るべき姿勢を取れるようになることを心より願っております。
最後に
Fusic 機械学習チームでは、案件のご相談を随時受け付けております。
お気軽にお声がけくださいませ。