概要
物体検出AIを使用することで、「何が」「どこに」写っているかをAIに判断させることができます。本記事では、[物体検出]推論実行の実行結果に出力される「boxes」(どこに)について紹介します。
座標の出力形式
[物体検出]推論実行のレスポンスは下記3つのキーで構成されています。
- boxes:検出対象の座標
- labels:検出対象のラベル名
- scores:検出尤度(≒検出精度)
検知物体の座標(「どこに」位置しているか)は上記のboxesの中の数値で出力されます。
通常座標は(150,200)のように、座標の左上から開始して右方向(x軸)に150px、下方向(y軸)に200pxと実際のピクセル数を表記しますが、Learning Center Vision では座標の最小値を0、最大値を1として出力しています(正規化)。
以下のように左上を原点(0,0)、右下を最大値(1,1)としており、画像の中央にある点は画像のサイズと関係なく、(0.5,0.5)となります。
座標の詳細について
boxesの中に[ymin, xmin, ymax, xmax]と4つの座標が配列で格納されています。
それぞれはどこの距離を表しているかは下記イメージ図をご参照ください。
座標の使用用途
検出対象の画像を切り抜き、文字認識(AI-OCR)をさせたい場合など、正規化された座標ではなく、実際の座標が知りたい場合は、掛け算をすることで本来の座標が得られます。
例えば下記イメージ図から、検出対象が写っている範囲の画像を切り抜く場合は、仮に検出対象の左上の座標および縦横のサイズ(黄色矢印で示している3ヶ所)を必要とします。
各値は以下のように算出できます。
- 左上の座標 = (画像の横サイズ × xmin,画像の縦サイズ × ymin)
- 検出対象の横サイズ = 画像の横サイズ ×(xmax − xmin)
- 検出対象の縦サイズ = 画像の縦サイズ ×(ymax − ymin)
これで検出対象の場所を特定することができ、後処理で様々な活用が可能となります。