発端は以下のお話し。
元々自社からも要望されていた調査ではあるのですが、、、🦔
僕のもとに持ち込まれる手検出の相談って、、、
— 高橋 かずひと@孫請級プログラマー🦔 (@KzhtTkhs) 2021年3月18日
「手検出は単一で良い」
「パー/グーの分類が出来れば良い」
「中心の1点のXY座標が取得できれば良い」
ぐらいの機能で、仕様を満たせることが多くて、EfficientDetどころかMobilenetSSDでもオーバースペックなケースあるんですよねー、、、🙄
クラス分類モデルの出力を2出力に変えて、分類結果(無し/グー/パー) と 回帰結果(X座標、Y座標) を出力するモデルに改造しています。
正直、PC上で動かすならMediaPipe使ったほうがお手軽に精度高くなりますね。現状の僕のスキルレベルでは🙄
お試しで作成🙄
— 高橋 かずひと@孫請級プログラマー🦔 (@KzhtTkhs) 2021年3月22日
出力が分類(無し/グー/パー)×1 と 回帰(X座標、Y座標)×2のLocalizationモデルです。
ONNXに変換してCPU推論で動かしています。
まあ、正直想定通りですが、、、
僕のレベルじゃ、精度と速度どっちも良いモデルなんて作れないなー、、、🤔 https://t.co/bKhDAX1kNT pic.twitter.com/sooo1fUMam
ラズパイで確認。
こちらも少々イマイチな結果ですね。
以前作ったObjectDetecstionモデルが10fps超えていたので見劣りしてしまいます。
ラズパイで動作確認🙄
— 高橋 かずひと@孫請級プログラマー🦔 (@KzhtTkhs) 2021年3月22日
数値が見にくいですが、約100ms(10fps)くらいですね🤔 https://t.co/gj3qVlKp8S pic.twitter.com/kMjVlxW8V1
もう少し実験してソースコードは整理しようと思いますが、結果がイマイチなので公開しようか考え中、、、👻