見出し画像

【初心者向け】はじめての画像認識AIテキスト:番外編「大変なアノテーション作業を楽にするAIアノテーションの話」

こんにちは!ヒューマノーム研究所インターンの塩谷です。

この記事は初心者向けのノーコードAI構築ツール「Humanome Eyes」を用いて、物体検知AI(ものを見つけるAI)を作ってみよう、という連載の番外編となります。これまでの記事は以下のリンクからお読み下さい。

AI構築を勉強している方は「AIアノテーション(自動アノテーション)」という言葉を一度は耳にしたことがあるのではないでしょうか。今回はそんなAIアノテーションを物体検知AI構築で活用する方法についてお伝えします。

1.「AIアノテーション」とは?

AIアノテーションとはその言葉通り、AIを利用してアノテーションを行うことを指します。

詳しい説明に入る前に、まずはアノテーションについておさらいしましょう。物体検知AI構築におけるアノテーションとは、学習データである画像に対し、画像のどこに特定したい物体があるのかという情報を付け加えることを言います。

AIはアノテーション済みの画像、つまり問題(=画像)とその答え(=物体の位置の情報)のセットを学習することで、はじめて新しい画像に対して評価や判定を行うことができます。この「評価や判定」には、アノテーションも含まれます。そのため、AIアノテーションを利用する際にも、まずは人の手によるアノテーションが必要となります。

下図のように、人が作成したアノテーション済み画像を学習したAIが、未知な画像に対してアノテーションを行うという流れが基本になります。

AIアノテーションが可能となるまでの流れ

「学習済みのAIモデルが未知の画像に対して判定を行っている」という点で、AIアノテーションは、完成したAIを物体検知器(物体検知するシステム)として利用することと実質的に同じです。

両者は物体検知AIから出力された結果の利用方法が異なります。出力を学習データとしてAI構築のために利用するのか(=AIアノテーション)、あるいは解析結果として実課題の解決のために利用するのか(通常の利用方法)が両者の違いと言えます。

物体検知AIモデルの利用方法のバリエーション

用いるAIモデルの学習の出来が物体検知器の精度を左右するように、AIアノテーションの精度も学習の出来によって変わります。そのため精度が十分でないAIを利用してAIアノテーションを行う場合、AIが行なったアノテーションが正しかったかどうかを確認し、間違いを修正する必要があります。

AIは完璧ではありません。精度が確保できるまでは、間違っている点を人間が教え、修正する必要があります。

2. AIアノテーションの便利な点

AIアノテーションを利用することで、どんなメリットがあるでしょうか。
例として、50枚の画像にアノテーションを付けて学習させたいとき、AIアノテーションを使うのと使わないのではどのような違いが起こるかについて考えます。

AIアノテーションを使わない場合は、地道に手動でアノテーション作業を頑張るしかありません。枚数が多くなるにつれケアレスミスも増えてしまいます。

AIアノテーションを利用する場合はどうでしょうか。

上図のとおり、AIアノテーションを利用すると、50枚の画像を学習したモデルをたった10枚のアノテーション(+50枚の修正)だけで作成することができます。

また連載本編でもお話しした通り、AI構築はモデルを何度も作り直してようやく完成する場合がほとんどです。モデルを作り直す際に、その前に作成したモデルを用いてAIアノテーションを行えばより効率的にAI構築を進めることができます。

参考:「アノテーション」が新たに生み出す就労機会
先述したとおり、AIによってアノテーション作業が軽減されるとは言え、その前後にはやはり人の手によるアノテーションが必要です。AIアノテーションの普及により新たな雇用機会が産まれ、これらの業務は障害者や高齢者などへの就労支援モデルのひとつとして注目を集めています。

出典:八戸AIデータワーク推進事業

3. EyesでAIアノテーションをやってみる

ここからは、AIアノテーションの方法を Humanome Eyes を実際に操作しながらご説明します。連載本編の続きの内容になりますので、まだお読みでない方はぜひご覧いただき、AI構築を試してみてください!

本編では下図のように、モデル①とモデル②の2つのAIモデルを作成しています。モデル②では、Precisionが6割弱、Recallが6割強と、モデル①に比べると高い精度が得られました。

一方で、学習データとしては画像を23枚しか使っていないため、学習データを増やせばもう少し精度を高められそうです。そこで、今回は前回よりも高い精度を目標に、AIアノテーションを利用して効率的に学習データを増やし、AIを再構築してみます。

3-1. AIアノテーションを利用した新しい学習データを作る

まずは、新しい画像を用意します。今回も画像をあらかじめご用意しました。以下からダウンロードしていただけます。

今回の記事で利用する画像セット

ダウンロードしていただいた new_kinotake_image.zip という名前のzipファイル自体が、今回Eyesにアップロードする画像データとなります。ファイルの中には、きのことたけのこのお菓子の画像が51枚(これまでは24枚)入っています。

ここからは連載の第2回の記事を参考に、新しいタスクを作成し先程の画像データをアップロードしましょう。Basicプランをご利用の方は新しいタスクを作成する前に既存のタスクを削除してから実施して下さい。

フレーム数やアノテーション数を確認したら、前回の学習によって得られたモデルを用いて、AIアノテーションを行います。手順は下図のとおりです。

既存モデルを利用したAIアノテーションの実施手順

AIアノテーションが終了したらアノテーション詳細画面に移ります。
(※ 画面変化がない場合はリロードしてみてください)

今回のAIアノテーションでは正解率が約6割のモデルを用いているため、全てが正しくアノテーションできているわけではありません。そこでAIが正しくアノテーションできているかを確認し、間違いを訂正します。
以下の4点について確認しましょう。

  1. 物体に付けられたラベルの種類が正しいか

  2. 全ての特定したい物体にアノテーションが付いているか

  3. 特定したい物体以外にアノテーションが付いていないか

  4. 物体が四角からはみ出していないか

外観→色分けから ”Label” を選んで、ラベルごとに色分けをすると確認がしやすくなります。間違いを見つけた場合は以下の手順で修正します。

AIがつけたラベルが間違っていて、内容を修正したい場合
アノテーションを削除 / アノテーションの大きさを変えたい場合

全ての画像の確認が終わったら、変更を保存しタスク詳細画面に戻ります。このときアノテーション数が「261」と表示されていれば正しく修正されています。

3-2. 学習させる / 精度をみる

AIアノテーションと修正が終わったら、学習回数を1000回に設定し学習を開始します。Basicプランをご利用の方は既存のモデルを削除してから学習を開始してください。

学習が終わったら精度を評価しましょう。

今回の Precision / Recall の結果

今回の学習データを増やしたモデルではPrecisionが0.65、Recallが0.70と、以前のモデルよりも精度が良くなりました。このように、AIアノテーションを利用してAI構築を進めることで、効率的により賢いAIを作ることができます。

4. あとがき

今回は学習データを効率的に作成するための、AIアノテーションという手法についてお話ししました。膨大な量のアノテーション作業を数分に短縮するAIアノテーションの便利さを感じていただけたら幸いです。ここまでお読みいただきありがとうございました!

※ 筆者紹介
塩谷 明日香(慶應義塾大学環境情報学部1年)
:人間と機械の知能の両方に興味があります。好きなことは模様替え。機械学習やプログラミングは学び始めたばかりの見習いです。
---
私は今年度から当社でインターンシップを始め、ワークショップのTAや機械学習ツールの使い方の紹介記事を執筆しています。今後も、AI構築の実際についてご紹介していきますので、お読みいただけると嬉しいです!

---
この連載は以下のリンクからまとめて読むことができます。

【参考】「表データでAIを作りたい!」という方向けテキスト

ペンギンについて調べた表データを使って、一連のAI構築・データ解析の流れを学べる無料テキストをnoteで公開しています。AI学習の最初の一歩にぜひお役立て下さい。

AI・DX・データサイエンスについてのご質問・共同研究等についてはお気軽にお問い合わせ下さい!


この記事が気に入ったらサポートをしてみませんか?