こんにちは。RSです
私はAI技術に不可欠なアノテーション業務を行っています。
ここ数年で、AI技術は「開発途上の最先端技術」というよりは「実際に日常に活用されている最先端技術」になってきたと感じています。車の自動運転技術・自動で障害物を避けるお掃除ロボットなど、AI(人工知能)を使った様々な製品・サービスがあることを見聞きしたり仕事やプライベートでChatGPTを使っている方もいらっしゃることでしょう。
また、AI技術が発展してきていることでアノテーション業務を行う様々な業者が増えてきたり、アノテーションを行う求人を見かけるようになったりと、アノテーション業務自体も増えてきている事を感じています。
今回はAI技術に不可欠な「アノテーション」とはどんな事をする作業なのか、無料アノテーションツールを紹介しながらアノテーションの世界を紹介したいと思います。最後に複数のアノテーションツールを実際に使用して、アノテーション作業のタイムアタックを行いました。タイムアタックを通して分かった事もシェアします。
アノテーションってなんだろう?
ここまで、散々じらしてしまいましたが…
そもそも、アノテーションってなんでしょう?アノテーションとは annotation=注釈 という意味です。AIの機械学習には様々な手法がありますが、その中の一つに「教師あり学習」という方法があります。テキストや音声・画像といったさまざまな種類のデータにタグやメタデータを付けたデータを使ってAIに学習させます。その学習用データを作る事をアノテーションと言います。もっとカンタンに言うと「教師あり学習」で機械学習をする際の正解データを作る作業がアノテーションです。
例えばAIに「花」を学習させたい場合、様々な花の画像を用意します。その画像全てに「花」というタグを付けてあげて正解を認識させます。このように認識させたいものと解答を用意して認識させます。
ただ、「鼻」とか間違えたタグをつけてしまうと、花の画像を「鼻」と認識してしまいます。なので正確な「正解データ」がたくさん必要になります。アノテーション業務では基準に沿って正確に作業し、たくさんのデータを完成させることが求められます。
アノテーションの種類|AIの機械学習との関係
アノテーションの種類を説明する前に、対象データについて少しお話しさせていただきます。機械学習では教えたい内容に応じてアノテーション対象となるデータに様々な種類あります。代表的なものは以下の通りです。
- 画像・動画データ
- 音声データ
- テキストデータ
今回は画像データに対するアノテーションの種類を説明したいと思います。
A.画像分類
1枚の画像に写っているものがなにかタグをつける作業。
B.物体検出
画像・動画の中に映っている物体等を四角で囲み、タグを付ける作業。
画像内のどの位置にその物体があるのか情報を得ることができます。
C:領域検出
画像・動画の中に映っている物体等の領域を囲みタグをつける作業。
四角ではなく、対象物をその形のままに囲み、被写体を識別することができます。
D:座標検出
主に人体に対して使われることが多く、顔や身体等の部位に印をつける作業。
顔認識や姿勢推定などに使われます。
アノテーション作業の課題…機械学習では大量の正解データが必要
色々なアノテーションの種類を見てきましたが、教師ありの機械学習では大量の「正解データ」が必要になります。そのため作業の効率化はとても大事になってきます。私が行ってきたアノテーション作業では、ほとんどのケースで専用のアノテーションツールを使って作業していました。ただ、専用のツールだとしても使い方が煩雑であれば、作業効率はそれほど上がらない可能性もあります。また、アノテーションツールは探してみると色々とリリースされています。各ツールそれぞれに特徴があり、作業工程・操作のしやすさ・使用感はどうなのか?気になるところです。
使用感の指標の1つに…タイムアタックをやってみた!
アノテーション作業では大量のデータを効率よく作業する必要があります。精度も重要ですが、それと同じくらいスピードが求められます。そこで実際の作業の流れを紹介しつつ同一条件でアノテーション作業のタイムアタックを行って、ツールの違いがどれくらい作業スピードに影響するか検証します!
さてさて、どんな結果が出てくるか…計っていくぅ~!
使用するツール
今回はネットで調べて「無料で使う事ができる」「様々なデータにアノテーションできる」「進捗管理ができる」「ウェブ上で動作するので気軽に試せる」等の特徴が類似している3つのツールを使います。
アノテーション対象
通常の業務では、お客様の意図した「正解データ」を作るために、お客様からいただく基準書や質問を通してお客様とコミュニケーションを取りながら基準を明確にして作業を行います。今回は花の画像を用意して「物体検出」で「花」や「つぼみ」が写っている以下の画像10枚に対して、アノテーション作業のタイムアタックを行います。
アノテーションの作業内容とタイム計測方法
通常の業務ではアノテーション作業前に事前準備、作業後に見直し作業を行っています。事前準備では実施時に困らないように基準の確認・データ内容の確認等を行います。見直し作業では作業したデータが基準と相違がない事を確認します。「正確性が命」のアノテーションには無くてはならない作業です。自身(もしくは他者)が見直しを行う事で、基準と異なるデータが混入してしまうのを防止することができます。今回のタイムアタックも通常の業務と同じ手順で行いました。
タイム計測方法は、それぞれのツールで作業手順・設定項目等が異なる事から、どの作業にどれくらいの時間がかかるか分かりやすくするために下記3つに分けてタイムを計りました。
<作業準備>
画像アップロード〜アノテーション作業準備完了までを計りました。
作業画像のアップロード・ラベル名の作成・担当者の指定等ツールごとに最低限必要な設定を行い、アノテーション作業できる状態にしました。
<作業実施>
アノテーション作業実施のタイムを計りました。今回は「物体検出」を行いました。
<データ見直し>
アノテーション作業実施終了後の見直し開始〜終了までタイムを計りました。アノテーション作業が終わったら必ずミスをしていないか確認をします。実際の作業でも重要な工程です。
結果発表とツールの操作感
一番合計タイムが早かったのはCVATでした。
<作業準備>では他の2ツールと比べると設定項目が多いANNOFABが一番時間がかかりました。
<作業実施>ではCVATが一番早く終わりました。操作がシンプルで分かりやすい事が要因だと感じました。ANNOFABでは手順1つ多くて且つそれ抜かすとアノテーション出来ない仕様になっていました。そこを抜かすミスを多くしてしまったため時間がかかってしまいまいた。
<データ見直し>ではANNOFABで上記ミスにより焦りが生じたためか他のツールに比べて作業ミスが多く発生してしまいました。その結果、見直しに時間がかかってしまいました。同じデータをアノテーション作業するとはいえ、人の作業なのでタイミングによって精度にブレが出てしまいました。。。
では、ここからは各ツールごとに操作感をお伝えしたいと思います。
Labelbox
画像アップロード時に一部の縦画像が横で表示されてしまいました。ツール上で修正ができるか調べてみましたが、私の調べた限りでは見つけることができませんでした。そのため修正は行いませんでしたが、使用するデータや状況によっては縦横の修正が必要になるかもしれません。そのような場合どう対応すればよいのか悩ましいところではあります。
それ以外は直観的に作業ができて、ショートカットがある機能はメニュー操作時に表示されていました。はじめて作業を開始してから操作手順を覚えるまでは作業ペースが上がりづらいので、何度も目に入って覚えられるのは良いと思います。
ANNOFAB
進捗管理の機能・アノテーション作業の機能共に色々な機能が付いています。作業時間を細かくモニタリングして統計を取ることもできます。一見便利そうに見えましたが、便利機能があるがために設定項目が多くなったり、必要としている機能がどこにあるのか分かりづらく感じました。使いこなせればとても便利だとは思います。ただ、私は悲しいことにシンプル脳なので笑、私には使いこなすのは難しいなぁ…と感じました。
CVAT
他の2つのツールに比べるとアノテーション作業準備やアノテーション作業の手順がシンプルに感じました。それもあってかタイムアタックでも一番作業が早かったです。
3つのツールの印象
3つのツールの印象を私が一言で表すならば下記のようになります。
- 詳細な進捗管理をしたい、作業者をモニタリングして作業スピードを向上させるヒントを得たい→ANNOFAB
- シンプルな操作方法・管理方法でアノテーション作業したい→CVAT
- ANNOFABとCVATの間→LabelBox
どのツールも作業効率を上げるために色々な工夫をしていたのが印象的でした。
例えば
- 矩形を作る際には縦横の補助線を表示して1回の作業で矩形の中に対象物が入るような点を打つ手助けする(3ツール全て)
- 矩形をコピー&ペーストしたら少しずれた位置にコピーした矩形が表示される事で1つの対象物に複数個の矩形が重なって付く事を防ぐ(Labelbox・CVAT)
- ショートカットをメニューに表示する(3ツール全て)
等です。
そんな小さなことで〜?!と思われる方も多いでしょう。ただ、アノテーション作業は基本的に単調な作業です。例えば今回の「物体検出」も、「画像から対象物を探す→矩形を作る(コピーする)→対象物にサイズを合わせる」 という、慣れれば数秒で完了するこの工程を1日中繰り返すのです。処理数が多くなるので、ちょっとしたツールの使い勝手の良し悪しが数秒のロスと微細なストレスを生み、積み重なって進捗に影響を与えます。なので、このような小さな工夫が役に立つのです。
更なる効率アップ~自動アノテーション
ここからさらに効率を上げていくには人がイチからアノテーション作業を行うのではなくツールの「自動でアノテーションする機能」を使う方法があります。これはツールが自動でアノテーションした結果を作業者が確認、修正が必要であれば修正する方法です。自動アノテーションの精度が上がれば上がるほど、作業者が修正する時間が減っていき、その分作業者が1日で処理できる作業量も増えていきます。
今回上げた3ツールに自動でアノテーションする機能が付いていましたが、有償版の機能だったものもあったため検証は行いませんでした。ご興味がありましたら、ぜひお試しいただければと思います。
各ツールでの無料版・有料版で使える機能をまとめました。よろしければ参考になさってください。
終わりに
アノテーション作業について説明しましたが、少しはイメージできましたでしょうか?これまで見てきたように、アノテーションとはAIに覚えさせたいデータにタグやメタデータを付ける作業です。必要なデータに合わせて色々な種類に対してアノテーション作業を行い、画像の場合は4種類のアノテーション作業がある事をお伝えしました。少しでもアノテーションに興味を持っていただけたら嬉しいです。
また、アノテーション作業を行う際のツールが色々あり、使用感などを参考にしてもらうためタイムアタックを行いました。今回の検証では3ツールで物体検出を行うための必要最低限の操作方法・ショートカットキーを覚えてタイムアタックに挑みました。なので、今回はこのようなタイムアタックの結果になりましたが、各ツールの習熟度によってはタイムも変わってくるとは思います。 ただ、ツールによって作業時間に差が出ることは新たな発見でした。やる事は同じでもちょっとした工程が変わるだけで作業効率に差が出る事が分かりました。また、ツールの使い勝手も進捗に影響を与えるのだと改めて感じました。この検証を参考にしていただき、ご自分に合ったアノテーションツールを選択していただければと思います!
最後まで読んでいただき、ありがとうございました。
<おすすめサイト>
AIやメタバースについては、こちらのサイトも是非参考にしてみてください。
メタバース相談室