物体検出の機能概要

Object detection Overview

はじめに

物体検出サービスを利用すると、指定された画像内にある複数のオブジェクトの検出ができます。

物体検出では、おおまかに以下の機能を提供します。

  • 指定された画像内にある複数のオブジェクトを検出し、各オブジェクトごとの種類(事前に定義したラベル)と矩形領域の位置と大きさを示します。これらの情報は、BigQuery テーブルに格納します。

  • ポジティブサンプル画像とネガティブサンプル画像を使ったトレーニングにより、より精度の高いオブジェクトの検出が可能です。

    • ポジティブサンプル画像:アノテーション付きの画像
    • ネガティブサンプル画像:アノテーションなしの画像で、ポジティブサンプル画像でアノテーションされたオブジェクトが写っていない画像
  • 高解像度の画像から大小さまざまなオブジェクトを適切に検出するために、トレーニングの前後に以下の処理を行う機能を持ちます。

    • 前処理 1:固定サイズ(300 ピクセル)で画像を分割(小さなオブジェクトの検出が可能)
    • 前処理 2:分割前の画像を縮小(縮小しても潰れない大きなオブジェクトの検出が可能)
    • 後処理:前処理 1・2 の画像群をトレーニングした結果を統合して 1 枚の画像の検出結果としてまとめる(大小さまざまなオブジェクトの検出が可能)

    一般的に画像検出のトレーニングや予測においては、低解像度の画像しか扱えないため、高解像度の画像はトレーニング時に自動的に縮小して利用されています。このため、縮小すると潰れてしまうようなオブジェクトは、検出できなくなります。本機能により、この問題を解決しています。

  • トレーニングで生成したモデルを使って、アノテーションなしの画像からアノテーション情報の自動生成も可能です。

  • 扱える画像は、JPEG 形式のみです。

はじめ方

物体検出は、BLOCKS にログイン後、以下の操作で使い始めます。

メニューから物体検出をクリックする様子
  1. をクリック
  2. 物体検出]をクリック
追加ボタンをクリックする様子
  1. 追加]ボタンをクリック
物体検出タイプ[自動アノテーション可]をクリックする様子
  1. 物体検出タイプ[自動アノテーション可]]ボタンをクリック
物体検出を新規作成する様子
  1. 名前を入力
  2. GCP サービスアカウントを選択
    エラーメッセージが表示される場合は、「GCP サービスアカウント選択時のエラー対応」の解説を参照願います。
  3. 本サービスで使用する GCS 上のフォルダーを指定
  4. 画像アノテーションツールで作成済みのラベルセットを選択
  5. 作成]ボタンをクリック
戻るボタンをクリックする様子
  1. 戻る]ボタンをクリック
作成した物体検出をクリックする様子
  1. 使用する物体検出の名前をクリック
物体検出の画面

この画面から、物体検出の各機能にアクセスできます。

GCP サービスアカウント選択時のエラー対応

GCP サービスアカウント指定時に、以下のようにエラー表示となる場合があります。

GCP サービスアカウント指定時のエラー画面

この場合は、以下の手順で操作してください。

  1. リンクをクリック
続行ボタンをクリックする様子

別タブに上記画面が表示されます。

  1. 続行]ボタンをクリック
画面を閉じる様子

この画面が表示されたら画面(タブ)を閉じて、BLOCKS の画面に戻ります。

機能紹介

物体検出には、以下の機能があります。ここでは、これらについて解説します。

トレーニング

トレーニングタブでは、トレーニングの実行やトレーニング一覧の確認ができます。トレーニングの実行に成功するとモデルが作成されます。

トレーニング実行の手順は、以下のとおりです。

トレーニングを開始する様子
  1. トレーニング開始]ボタンをクリック

下図のようなトレーニング画面が表示されます。

トレーニング情報を設定する様子
  1. トレーニングの名前を入力
  2. 作成済みのアノテーションを選択

    複数選択が可能です。画像アノテーションツールで作成したアノテーションはもちろんのこと、本サービスで自動生成したアノテーションも加えてのトレーニングが可能です。

  3. 画像の分割幅を変更(デフォルト値:300 ピクセル)もしくは追加

    追加操作することで、複数の分割幅が指定可能です。これにより複数の分割サイズを使ったトレーニングが行えます。追加操作は、[追加]ボタンをクリックします。

    変更・追加可能な分割幅の最低値は、300 ピクセルです。

  4. 画像を分割するときのオーバーラップ幅(デフォルト値:20%)を変更

    画像の分割は分割領域が重なり合うように行います。その重なり合った部分をオーバーラップ幅と呼びます。

    画像分割とオーバーラップ幅の解説図

    このオーバーラップ幅を「画面の分割幅」に対する比率で指定します。

  5. 詳細設定]をクリック(オプション)

    必要に応じて以下の各項目を変更もしくは指定します。

    • 分割後の画像に含まれるアノテーション矩形領域が元の何割以上のときだけ残すかのしきい値を変更
    • 分割後の画像に含まれるアノテーション矩形領域がなくなった場合、アノテーション矩形領域を含む画像の枚数に対して何枚まで残すかの比率を変更
    • ネガティブサンプル画像を含む GCS 上のフォルダーを指定
  6. 開始]ボタンをクリック
閉じるボタンをクリックする様子
  1. 閉じる]ボタンをクリック
トレーニング一覧で詳細やトレーニングの実行をキャンセルする様子

トレーニング一覧では、トレーニングの詳細情報の確認や実行中のトレーニングのキャンセルができます。

  1. をクリック
  2. 詳細]をクリック:トレーニングの詳細情報の確認
    キャンセル]をクリック:実行中のトレーニングをキャンセル

トレーニングの詳細情報は、トレーニングの名前をクリックすることでも確認できます。

モデル

モデルタブでは、トレーニングで生成されたモデルの一覧の確認ができます。

モデルのダウンロードを希望される場合は、「お問い合わせ」のページより問い合わせをお願いします。なお、モデルのダウンロードに関しては、別途料金が発生します。

モデルの一覧を確認する様子

モデルの一覧では、モデルの削除ができます。

モデルを削除する様子
  1. をクリック
  2. 削除]をクリック

モデルのダウンロードが可能となっている場合は、以下の手順でモデルのダウンロードが可能です。

モデルをダウングレードする様子
  1. をクリック
  2. モデルダウンロード]をクリック

しばらくすると、ダウンロード先を指定する画面が表示されます。ダウンロード先を指定して PC 上にダウンロードしてください(ファイルは ZIP 形式で圧縮されています)。

アノテーション

アノテーションタブでは、トレーニングで生成されたモデルを使って、指定した画像のアノテーション情報の自動生成と生成したアノテーションの一覧が確認できます。

アノテーションの生成手順は、以下のとおりです。

アノテーション情報の生成を開始する様子
  1. アノテーション情報生成]をクリック

下図のようなアノテーション情報生成の画面が表示されます。

アノテーション情報の生成に必要な情報を設定する様子
  1. このアノテーション自動生成の名前を入力
  2. モデルを選択
  3. アノテーション情報を自動生成したい画像を含むフォルダーを指定
  4. アノテーション情報を出力する空のフォルダーを指定
  5. 生成するアノテーション情報の名前を入力
  6. 画像の分割幅を変更(デフォルト値:300 ピクセル)もしくは追加

    追加操作することで、複数の分割幅が指定可能です。これにより複数の分割サイズを使ったトレーニングが行えます。追加操作は、[追加]ボタンをクリックします。

    変更・追加可能な分割幅の最低値は、300 ピクセルです。

  7. 画像を分割するときのオーバーラップ幅(デフォルト値:20%)を変更

    画像の分割は分割領域が重なり合うように分割します。その重なり合った部分をオーバーラップ幅と呼びます。

    画像分割とオーバーラップ幅の解説図

    このオーバーラップ幅を「画面の分割幅」に対する比率で指定します。

  8. 詳細設定]をクリック(オプション)
    • 結果を残すオブジェクト検出スコアのしきい値を変更
  9. 開始]ボタンをクリック
閉じるボタンをクリックする様子
  1. 閉じる]ボタンをクリック
アノテーション一覧で詳細やアノテーション生成の実行をキャンセルする様子

アノテーション一覧では、アノテーションの詳細情報の確認や実行中のアノテーション生成のキャンセルができます。

  1. をクリック
  2. 詳細]をクリック:アノテーションの詳細情報の確認
    キャンセル]をクリック:実行中のアノテーション生成をキャンセル

アノテーションの詳細情報は、アノテーションの名前をクリックすることでも確認できます。

予測

予測タブでは、トレーニングで生成されたモデルを使った指定画像内のオブジェクトの検出(予測)と予測結果の一覧が確認できます。予測結果は、BigQuery テーブルに出力します。

予測の手順は、以下のとおりです。

予測を実行する様子
  1. 予測開始]ボタンをクリック

下図のような予測開始の画面が表示されます。

予測に必要な情報を設定する様子
  1. 名前を入力
  2. モデルを選択
  3. オブジェクトを検出したい画像を含む GCS 上のフォルダーを指定
  4. オブジェクト検出結果を格納する BigQuery データセットを指定
  5. オブジェクト検出結果を格納する BigQuery テーブルを指定
  6. 画像の分割幅を変更(デフォルト値:300 ピクセル)もしくは追加

    追加操作することで、複数の分割幅が指定可能です。これにより複数の分割サイズを使ったトレーニングが行えます。追加操作は、[追加]ボタンをクリックします。

    変更・追加可能な分割幅の最低値は、300 ピクセルです。

  7. 画像を分割するときのオーバーラップ幅(デフォルト値:20%)を変更

    画像の分割は分割領域が重なり合うように分割します。その重なり合った部分をオーバーラップ幅と呼びます。

    画像分割とオーバーラップ幅の解説図

    このオーバーラップ幅を「画面の分割幅」に対する比率で指定します。

  8. 必要に応じて[詳細設定]をクリック
    • 結果を残すオブジェクト検出スコアのしきい値を変更
  9. 開始]ボタンをクリック
閉じるボタンをクリックする様子
  1. 閉じる]ボタンをクリック
予測結果一覧で詳細や予測の実行をキャンセルする様子

予測結果の一覧では、予測の詳細情報の確認や実行中の予測のキャンセルができます。

  1. をクリック
  2. 詳細]をクリック:予測の詳細情報の確認
    キャンセル]をクリック:実行中の予測をキャンセル

予測の詳細情報は、予測の名前をクリックすることでも確認できます。

BigQuery テール部の予測結果のスキーマ情報は、以下のとおりです。

カラム名 説明
image STRING 画像の GCS URL
width INTEGER 画像の幅(ピクセル)
height INTEGER 画像の高さ(ピクセル)
objects RECORD(REPEATED) オブジェクト情報
objects.label_id INTEGER ラベルの ID
objects.label_name STRING ラベルの名称
objects.xmin FLOAT オブジェクト矩形領域の左上の X 座標(画像の左上原点)
objects.ymin FLOAT オブジェクト矩形領域の左上の Y 座標(画像の左上原点)
objects.xmax FLOAT オブジェクト矩形領域の右下の X 座標(画像の左上原点)
objects.ymax FLOAT オブジェクト矩形領域の右下の Y 座標(画像の左上原点)
objects.score FLOAT 検出したオブジェクトのスコア(確からしさ)

設定

設定タブでは、本物体検出を作成した時の設定情報の確認と削除ができます。

削除は、以下の手順でできます。ただし、トレーニング実行中・アノテーション情報生成中・予測実行中の場合、削除操作は行えません。

モデルのダウンロードを可能にしている場合も削除操作は行えません。

設定タブでサービスを削除する様子
  1. 削除する]をクリック
削除ボタンをクリックする様子
  1. 削除]ボタンをクリック