iOSのコンピュータビジョンで人物の全身ボックスを検出する


これまでVisionの人物ボックス検出(DetectHumanRectanglesRequest)では、上半身のボックスしか取得できなかった。
2021年のアップデートから、全身のボックスも検出できるようになった。

新しいVNDetectHumanRectanglesRequestRevision2を使う。

let request = VNDetectHumanRectanglesRequest()
request.revision = VNDetectHumanRectanglesRequestRevision2
request.upperBodyOnly = false // trueにすれば上半身のみのBoundingBoxを取得する
upperBodyOnly 結果
true
false

感想

全身をとるために機械学習モデルをわざわざ使わなくて良くなった。
上半身だけを検出する必要のあるケースってあるのだろうかと考えてみたが、
こちらの動画のようにフレームに上半身しか映っていないケースでは上半身のみの方が検出数が多くなる。
【上半身のみ】

【全身】

🐣


フリーランスエンジニアです。
お仕事のご相談こちらまで
簡単な開発内容をお書き添えの上、お気軽にご連絡ください。
[email protected]

Core MLやARKitを使ったアプリを作っています。
機械学習/AR関連の情報を発信しています。

Twitter
Medium