本当はキーポイント検出というらしいね。キーポイント検出がわかりやすいかも(全部読んでないし)
姿勢推定
とりあえずメジャーそうなのをピックアップするか。MoveNet を使えばいい気がする。
MoveNet 本命
どうやらこれをつかえばいいらしいぞ。ちからつきたからこのへんで調査は終わる。MoveNet.SinglePose をみれば training できるに違いない。あとは COCO からデータを持ってくればいいのだ(たぶんね)。で ONNX に変換する。
とりあえず python でデモを動かしてみた感想としては SinglePose でLightning はちょっと精度が悪い。TFlite はスピードが遅い。MultiPose でも結構速い。が、テニスコートの向こうの側の人は判定できない。
COCO
COCO には keypoints のデータがあるのでこれを使えば学習(training)できる!!めどが付き始めた?
PoseNet
Adversarial PoseNet で検索( Cornell Univ. のちがう2015 PoseNet が出てくるから)これも 2017 だからこの年ホットだったんだね。
PoseNet は Apache License 2.0 らしいので商用利用可らしいぞ
これたどっていくと tensorflow の 1.12 が基本になっている。いまや tensorflow は v2 なので古いサンプルは動かない
じゃ2022 現在終わっているのかというとそうでもなさそう。tfjs-modelsに3つの例が載っている
- MoveNet
- BlazePose
- PoseNet
BlazePose はなぞだが(調べてないだけ)、PoseNet もちゃんとある。ただし動かし方がわからない。Node.js の知識がないだけかも。あ〜よくみると TypeScript もっとよくわからない。
yarn test
とするのかな?
OpenPose
2017 年に CMU の Zhe Cao さんが筆頭?の論文。ぱっとみると論文の冒頭で複数人数の姿勢推定がなされている。この論文の Referencies では 2014 の論文"2D human pose estimation" とか 2009 の Pictorial structuresrevisited: people detection and articulated pose estimation.とか 2010 の Monocular 3D pose estimation and tracking by detection. Iとか 2017 の Recurrent human pose estimation.とかが挙げられているね。この OpenPose がブームのはしりの気がする。ブームがあったのかどうかはしらんが。
OpenPose は商用利用にライセンスが必要で、ライセンスを支払ってもスポーツには使えないらしい。ということで記録だけ