物体検出のアノテーションを行う方法!手順や注意点をわかりやすく解説

現時点においてもAIの発達は目覚ましく、将来的な活用の幅は広がっていくことが予想されます。
AIの使い勝手がよくなるかどうかは、アノテーションが左右するといわれます。

こちらでは、物体検出のアノテーションにフォーカスして取り上げ、データ作成を含めたやり方や手順、作業時の注意点を含めてご紹介します。

物体検出のためのアノテーションとは

物体検出のためのアノテーションとは

英語のアノテーションには、「注釈」「注解」という意味があります。

IT業界の中では、テキストや音声、画像や動画などのデータ一つ一つに、情報分類に利用するタグや、それぞれのデータに関する付加情報を記載したメタデータを付していく工程をアノテーションと呼んでいます。

アノテーションするターゲットの一つとして、先に画像を挙げましたが、画像のアノテーションの一つが、物体検出です。
画像に写り込んでいるものの中から物体を探し、それに意味のあるタグ付けをするのが、物体検出のアノテーションです。
なお、画像分野のアノテーションには、物体検出のほかに、画像の中の領域を選択してタグ付けをする領域抽出、画像に対して属性を付す画像分類があります。

物体検出のアノテーションによってできることは、現時点でもたくさんあります。
まず一つが、異常検知や外観不良検知です。人間による製品の目視検査では、見落としや疲れなどによる精度の低下が課題になりますが、物体検出を利用した外観検査では、製品を撮影した写真データをもとに異常を検知し、安定した品詞向上に資する役割を果たしています。

自動運転の分野でも、AIによる物体検知が役に立っています。
車に載せられたカメラで周囲の状況を撮影し、画像に映った標識や障害物などの物体に加え、歩行者を感知できるようアノテーションすると、人間の反応スピードよりも速く正確に判断しながら運転することが可能になります。

物体検出のアノテーションは、建物の外観診断や防犯・監視、がんの早期発見といった医療分野への活用も広がっています。

物体検出をするためのアノテーション方法

こちらでは、物体検出のアノテーション作業に必要な知識とツールを使ったアノテーションのやり方についてご紹介します。

物体検出のアノテーション作業に必要となる前提知識

まずは物体検出のアノテーション作業をするのに知っておきたい知識を紹介します。

バウンディングボックス(領域矩形)

画像の中にある、検出したい物体の正解を示すために囲う四角い箱を指します。物体検出のアノテーションでは、画像データの中にあるオブジェクトの周りをバウンディングボックス(矩形)で囲い、それに物体名などを付してAIに学習させます。

データ拡張

AIに学習させるための教師データが不足している場合に、データを水増しすることを指します。データの水増しには、一つの画像を拡大・縮小させたり、画像を回転するなどの加工作業を行うことが多いようです。

アノテーションツールVOTTを使うやり方

物体検出のアノテーションツールであるVOTTを使ってのやり方や手順を説明します。
VOTTは、Windows、Mac、LinuxなどのOSが使えますが、こちらではWindowsで使用するケースをもとにお伝えします。
なお、VOTTは、microsoft/VOTTからダウンロードできます。

VOTTをインストールしたら、セキュリティトークンの設定を行います。
セキュリティトークンは、アプリケーションをインストールしなおした場合などに、使用していたデータセットを引き続き使うのに必要な情報です。
セキュリティトークンの設定は、VOTTの左側のバーに表示される歯車マークをクリックし、「Addセキュリティトークン」を押下して、「名前」欄に適当に入力します。
そうすると「キー」が表示されるので、こちらをコピーペースとして保存しておきます。

次にデータセットの初期化を行います。
これは、物体検出のアノテーションを実施したい画像を入れるためのディレクトリを用意する作業になります。
新たにアノテーション用のデータセットを追加するには、VOTTのホーム画面に表示される「新規プロジェクト」のアイコンをクリックします。
「プロジェクト設定」の画面に遷移するので、「表示名」にデータセット名を入力し、「セキュリティトークン」で登録した名前を選択します。
「Add Connection」をクリックし、「表示名」に何らかの名前を入力し、「プロバイダー」ではローカルファイルシステムを選びます。
そうすると「フォルダを選択」ボタンが表示されるので、クリックしてデータセットのパスを選択します。完了したら「設定を保存」ボタンを押下します。

設定保存が完了したら、セキュリティトークンを入力した下側の「ソース接続」と「ターゲット接続」の欄で、データセット名を選択できるようになります。
さらに、タグ入力欄で、認識したい対象物の名称を、クラス名として設定します。なお、クラス名は、クラス一覧から変更したり、追加・削除も可能です。
これらすべての情報を入力し終わったら、「プロジェクトを保存」ボタンを押下して、データセットの初期化を完了します。

データセットの初期化が完了すると、アノテーション画面に遷移し、データセットした画像が表示されます。
アノテーションは、範囲指定したい部分をドラッグして囲います。そうすると、範囲指定された矩形が、グレーで表示されるはずです。

画面右側のクラス一覧から、該当のクラス名を選択すると、矩形の色が変化して、選んだ名称が表示されます。
これで、その対象物のアノテーションは完了したことになります。画像の中に認識させたい対象物がまだある場合は、ドラッグして範囲指定する作業からクラス名をつける手順を繰り返します。
1枚の画像内のすべてのアノテーションが終了したら、「5」キーを押すと次のデータの作業に移行します。また、「w」キーを押下すると前の画像に戻って作業することもできます。

すべての画像のアノテーションが完了したら、画面左に表示されるバーから「エクスポート設定」を選び、データセットの出力形式を選びます。
例えば、最もシンプルなCSVを選択したい場合は、「プロバイダー」で「コンマ区切り値(CSV)」を選び、「エクスポート設定を保存」を押下します。
そして、ツールバーから「プロジェクトをエクスポート」ボタンをクリックすると、データセットがあるディレクトリに入れ子の形で出力が実施されます。

物体検出のアノテーションをする際の注意点

物体検出のアノテーションをする際の注意点

物体検出のアノテーションで大事なのは、理想の目標に到達し、課題が解決できることです。
物体検出をどの程度の精度で行うかは、目標物によって異なるので、必ずしも画像の枚数だけに依存しているわけではありません。
その点を見誤っていると、必要ない作業をし続けてしまうことになるので、注意が必要です。

アノテーションにかかる枚数は、企業の予算や人員などにもよると思いますが、中小企業の場合は5,000枚ほどが限界といわれます。
一方、錠剤や半導体などに使うアノテーションのレベルは、万単位で必要とされます。
用意した枚数以上の精度を求めるアノテーションの場合は、データの水増しに加え、ダブルチェックや指差し呼称を行うなど、作業する側の工夫で目標をクリアすることもできるでしょう。

画像の枚数に加え、被写体の構造や解像度にも気を付けるとよいかもしれません。
被写体の構造ですが、複数の画像を重ねたりバラエティに富んだ背景を使うことは、精度を上げる点では避けた方がよいようです。
また、画像の解像度は必要最低限のものに抑えるのがおすすめです。画像の解像度が高いと、それを読み取って処理するまでの時間が余分にかかることになりますし、解像度が低すぎると検知の精度が落ちるからです。

物体検出のアノテーションのやり方とデータ出力の手順まとめ

物体検出のアノテーションは、異常検知や自動運転など、身近な生活に役立つサービスを支えています。
それぞれのサービスで求められる物体検出の精度の基準を見極め、必要最低限のアノテーションを実施するのが最も効率的です。
アノテーションツールを使うやり方であれば、手順をマスターすると、データ出力まで比較的容易に行うことができます。

最新情報をチェックしよう!