オンデバイス物体検出の仕組み
このツールができること
AIオブジェクト検出器は、写真を調べて、認識できるものすべて -- 人、車、犬、ノートパソコン、椅子 -- にラベル付きのボックスを描きます。内部では、身近な80種類の物体を認識するよう学習されたニューラルネットワークが動いています。検出ごとに、名前、物体の位置を示すバウンディングボックス、モデルがどれだけ確信しているかを0〜100%で示す信頼度スコアの3つの情報が得られます。
検出は「オブジェクトを検出」を押すと始まり、分析はすべて端末上で行われます -- モデルファイル(約18MB)は初回の実行時に一度だけダウンロードされます。
こんなときに使う
写真フォルダの自動タグ付け、自前のモデルを学習させる前にデータセットの中身を確認する作業、シーンに写った人物や車両の数を数える用途などに向いています。画像の簡単なテキスト説明を生成するアクセシビリティ対応にも便利で、Python環境を構築せずにコンピュータービジョンのアイデアを試作したい人にも役立ちます。
座標付きの構造化JSONを書き出せるため、より大きなパイプラインにも組み込めます。検出を実行し、得られた枠を切り抜き・ぼかし・注釈付けのスクリプトへ渡す、といった流れです。
具体例
街の写真を入れてみましょう。モデルは、人92%、車88%、信号71%といった結果を返し、それぞれを色違いのボックスで囲むことがあります。最小信頼度を80%に上げて再実行すると、信号は結果から消え、確度の高い2つだけが残ります。40%に下げると、かすかな物体や一部が隠れた物体が現れ始めますが、ときどき誤りも混じります。注釈付き画像をダウンロードすれば表示を残せ、JSONを書き出せば名前、スコア、ボックス座標の生データが得られます。
注意点と限界
モデルが知っているのは80種類の物体なので、その一覧にないもの -- 特定の犬種、ブランドのロゴ、読める文字 -- にはラベルが付きません。重なり合った物体や非常に小さい物体は最も難しく、しきい値を下回りがちです。信頼度スライダーが主な調整手段で、値を高くすると再現率を犠牲に適合率を得て、低くするとその逆になります。写真から何も出てこないときは、しきい値を下げると、モデルが見ていたものの確信が持てなかった物体が現れることが多くあります。