見出し画像

【AI】物体検出(Object Detection)のアノテーションツール比較

物体検出のモデルを作成するときに、画像データに対してアノテーションを行って教師データを作成する必要があります。

AIの予測精度で高精度を達成するためには高品質な教師データを作成する必要があるので、アノテーションツールは作業者のクオリティや作業速度を上げるために重要になってきます。

そこで、オープンソースで利用できるアノテーションツールをいくつか比較してみようと思いました。

比較対象一覧

今回は以下のツールについて比較してみようと思います。

labelImg
labelme
CVAT
VoTT(TBC)

GitHubスター数

全てオープンソースのツールなのでGitHub上で取得できるスター数、ライセンス、作成日、ライセンスなどを確認してみます。(2020年05月08日現在)ツールの順序はGitHubのスター数降順です。

labelImg
LabelImg is a graphical image annotation tool and label object bounding boxes in images
★:10.5k、作成日:2015年、ライセンス:MIT
labelme
Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).
★:4.6k、作成日:2011年、ライセンス:GPL
CVAT
Powerful and efficient Computer Vision Annotation Tool (CVAT)
★:3.5k、作成日:2018年、ライセンス:MIT
VoTT(Visual Object Tagging Tool)
Visual Object Tagging Tool: An electron app for building end to end Object Detection Models from Images and Videos.
★:2.5k、作成日:2017年、ライセンス:MIT

比較

ここでの比較は主観によるところが大きいので、皆さんで実際に使ってみてアノテーションツール選定を行って頂ければと思います。

labelImg
セットアップ方法:クライアントへのインストール
データ入力:ローカルの画像ファイルの読み込み
データ出力: PascalVo、YOLOフォーマット
ログイン機能:なし
アノテーションの種類:矩形のみ
ログイン機能:なし
使用感:アノテーション時に補助線が表示されるので便利。アノテーションもサクサクできる。あとでラベルの変更や、ショートカットキーなどもサポートされている。ツールのインストールも、READMEに書いてある通りに実行したら起動した。

画像1

labelme
セットアップ方法:クライアントへのインストール
データ入力:ローカルの画像ファイルの読み込み
データ出力: JSON形式で出力
ログイン機能:なし
アノテーションの種類:矩形、多角形(ポリゴン)、円、線など
使用感:アノテーションの種類が豊富で、作業自体もサクサクできるので一つの画像に複数の種類のアノテーションを行いたい場合は良さそう。

画像2

画像3

出力されるJSONの例

{
 "version": "4.2.10",
 "flags": {},
 "shapes": [
   {
     "label": "car",
     "points": [
       [
         19.187793427230048,
         75.44600938967136
       ],
       [
         480.69014084507046,
         303.1455399061033
       ]
     ],
     "group_id": null,
     "shape_type": "rectangle",
     "flags": {}
   }
 ],
 "imagePath": "car.jpg",
 "imageData": "encoded-image",
 "imageHeight": 371,
 "imageWidth": 500
}

CVAT
セットアップ方法:Dockerで起動
データ入力:ローカルの画像ファイルの読み込み or URL直指定
データ出力:PascalVo、YOLOフォーマットなどサポート

出力フォーマット


ログイン機能:あり
アノテーションの種類:矩形、多角形(ポリゴン)、円、線など
使用感:Dockerですぐに立ち上げられるのが◎。多機能なため最初のキャッチアップに時間がかかるが、アノテーションの種類は豊富。認証機能やタスクのアサイン機能もあるのが便利そう。2020年03月21日に0.6.1が出ていて、現在バージョン1.0.0をプレリリースしているので、今後も注目したい。

画像7

画像6

VoTT
TBC

まとめ

VoTTはあとで試してみたいですが、アノテーションの内容が矩形だけであれば labelImg で、複雑になってくると labelme or CVAT が良さそうです。作業者のキャッチアップコストを考えるとlabelmeの方が良さそうな感じです。個人的にはCVATの1.0.0のリリースが楽しみです。

また、どのツールもクライアントへのインストールするので多人数でのコラボレーションしながら作業を行うのはあまり向いていない印象です。例えば、誰かがラベル付を行って、他の人がその内容をレビューするなど行った時に、一度データを送ったりする作業が発生してめんどくさそうです。

自分でホスティングしても良いですが、セットアップとか管理が面倒なので、ウェブサービスのアノテーションツールがあれば嬉しい。

最後に

弊社ではアジャイルチームのためのアノテーションサービスを提供しており、AIチームがアノテーションの課題を解決し、AI開発サイクルを高速化することを目指します。

また、アノテーションツールをSaaSで提供しており、チームメンバーを招待したり、レビューフローを組めたり、自社のクラウドサービスのストレージとデータ連携できます。

興味をお持ちの方はぜひHP、またはTwitterでDMください!



サポートして頂くと、こちらからもサポート返しさせて頂きます。