検索:
硬貨認識AI ① ~CVATのAI Toolsを使ってアノテーションをしてみたらすごく楽だった~

AIで物体認識を行うためには

① 画像

② アノテーション「=注釈」データ(どこに何が写っているかの情報)

が必要になります。

アノテーションデータを生成するための便利なツールがいくつも開発されています。

ここでは Intel 社が開発した CVAT(Computer VIsion Annotation Tool)を使って、硬貨を認識するためのアノテーションデータを生成してみます。


CVATのサイトへ行き、「Try for free」をクリックします。

ユーザー登録を行い、右上の「+」マークから “Create a nes task” を選択します。
下記の “Create a nes task” が開くので、タスク名とラベル名(分類したい種別)を入力します。ラベル名はEnterまたは ”Continue” ボタンで、次のラベル名を入力できます。

画像をウインドウにドラッグ&ドロップして”Submit & Open” をクリックすると、作業用のページが開きます。

左側のメニューから “AI Tools” を選択します。”Convert masks to polugons” にチェックを入れます。

次に “AI Tools” を使って硬貨を選択していきます。硬貨の上で左クリックすると、下図のように多角形で自動的に硬貨の領域を囲んでくれます。(最初の1回だけ少し時間がかかります)

ここで硬貨の種類を示すラベルを選択しても良いのですが、個人的には、硬貨の領域を教える作業だけを先にやってしまい、ラベリングはあとでまとめてやった方が効率が良いと思います。

キーボードの ”N” を押すと領域が確定でき、もう一度”N” を押すと “AI Tools” が再起動されるので、

「左クリック」⇒ 「N」⇒ 「N」

を連続でやっていけば、領域を教える作業は次々と進めることができます。また一度クリックしただけでは、所望の領域が選択されないことがありますが、同じ硬貨の上の別の場所を再度クリックすることで領域が修正されます。

全ての画像の領域チェックが終わったら、ラベリングをしていきます。右のリストでドロップボックスから選択しても良いですし、画像の上で右クリックでも選択可能です。

すべてのラベリングが完了したら、左上の ”MENU”から”Export job dataset”を選択。
「COCO 1.0」形式でエクスポートします。

以上で、アノテーションデータ「.jsonファイル」が完成しました。

AnacondaでPythonの仮想環境を構築する

Pythonでの開発において、Pythonのバージョン、インストールされているライブラリの種類・ライブラリのバージョンの状態をまとめて「環境」と呼びます。Pythonを実行するには環境の構築が必要です。

仮想環境とは

Pythonに限った話ではありませんが、プログラムを作成する際、「このライブラリのこのバージョンはPythonのこのバージョンにしか対応していない」のようなことがよくあります。
また、ライブラリをアップデートすることで以前作ったプログラムが動かなくなってしまったら困ります。

そこで「仮想環境」と言われる所望のパッケージの所望のバージョンをインストールした環境を用意し、環境を切り替えることで、簡単に実行できる環境を構築することができます。

ここではAnacondaを使用した仮想環境の構築につて紹介します。

仮想環境の生成

実際に仮想環境を作成してみます。
Windows PowerShell や Anaconda Powershell Prompt で下記のコマンドを実行してください。

PowerShell
conda create -n vir_env1 python=3.11.4

ここでは「vir_env1」という名前の仮想環境を構築しています。

仮想環境が正しく作成されたか、下記コマンドで確認します。

PowerShell
conda info -e

コマンドを打つと、下記のような結果が出力されます。

PowerShell
 base               *  C:\ProgramData\anaconda3 
 vir_env1              C:\Users\Users\.conda\envs\vir_env1

base 環境の他に、「vir_env1」が生成されていることが確認できます。

仮想環境の切り替え

仮想環境は activate/deactivate して切り替えます。
仮想環境「vir_env1」をactivateする方法は下記になります

PowerShell
conda activate vir_env1

コマンドを実行すると、「vir_env1」の仮想環境がアクティベートされます。

念のため「conda info -e」を実行すると、下記のように仮想環境が切り替えられたことを確認できます。

PowerShell
 base                  C:\ProgramData\anaconda3 
 vir_env1           *  C:\Users\Users\.conda\envs\vir_env1

「*」印が、有効になっている仮想環境を示しています。
Anaconda Powershell Prompt を使っている場合、コマンドラインの左端の表記が(base)から(vir_env1)に変わっているかで、環境の切り替えを確認することもできます。