stMind

about Tech, Computer vision and Machine learning

姿勢推定の関節ヒートマップデコードと標準シフト処理の有効性

姿勢推定モデルにおいては、関節毎のヒートマップ表現がよく使われており、OpenPoseを始め、多くの論文で有効性が確認されています。さらに、関節毎のヒートマップから、オリジナル画像における座標へ変換するデコード処理は、これまで十分に考察が行われてこなかったのに対して、DarkPoseと呼ばれる新しいデコード処理を提案する論文がCVPR2020で発表されました。

arxiv.org

論文では、様々な姿勢推定モデルにDarkPoseのデコード処理をアドオンすることで、検出精度が向上したことが報告されていたのですが、注目したのは、デコード処理を比較した以下の結果です。

f:id:satojkovic:20211107180907p:plain

No shiftingは、ヒートマップの最大値の座標をそのまま関節座標とするもので、Standard shiftingは、最大値の座標mと次に大きい値の座標sを求め、mからsへ0.25だけシフトする処理のことで、Stacked Hourglassの論文で使われたものです。このようなサブピクセルレベルのシフト処理は、ダウンサンプリングされたヒートマップ画像における位置が、オリジナル画像の正確な位置とは一致しないことを補うことが目的で、経験的な値として0.25とされた様ですが、大変な効果があることに驚きました。経験的な固定値ではなく、分布を考慮してシフトするのがDarkPoseで、さらに向上が見られているのですが、データセットにおける有効性は確認した上で、シンプルな実装としてStandard shiftingを使っても良いのかもしれません。