アノテーションツールを選定する際に考えたい比較ポイント
AI開発においてアノテーションツールの選別は重要なポイントです。
ここではツールの比較検討する際に、どのような観点でみるべきかを考えていきます。
その前に、サービスを選ぶべきか・ツールを選ぶべきか、メリット・デメリットについてみていきましょう。ツールを選ぶ際にもこの観点は役立ちます。
アノテーションサービスのメリット・デメリット
◆利点
- 社員リソースの貴重な時間をそれぞれの専門分野で、本来の形で利用可能
- 精度保証を謳うサービスであれば、品質確保の労力が減る
- データ量を増やしていく場合の増員等について考慮が不要
◆欠点
- 社外にデータを出すことになるので、社内合意形成が必要
- 特殊技能が必要なアノテーションの場合、外注サービスでは対応困難な場合あり
- アノテーションサービスの比較がしづらく、価格以外の差は定量化が困難
アノテーションツール+自社リソースのメリット・デメリット
◆利点
- 専門技術・専門知識が必要なアノテーションに対応できる
- 小規模なアノテーションを進めて、方針変更なども自身でコントロールできる
- 社内からデータを外に出す事を避けられる
- 特殊な要件であってもオープンソースをカスタマイズすることなどで対応できる場合がある
◆欠点
- 専門家に専門以外の作業(アノテーション作業やメンバーの進捗管理)を強いるため非効率
- 自社インフラやプライベートクラウドに、ツール用のWebサーバ等を置く場合そのコストやメンテナンス、セキュリティへの配慮が必要
- ASP型サービスの場合、データがどこに置かれるかはサービス同様注意が必要
- オープンソースの場合、ライセンス等に注意を払う必要あり
例えば以下のケースでは、社内リソースやクラウドリソースをアノテータとして利用し
自身が用意したツールで作業を進めるというスタイルが向いているといえるでしょう。
- アノテーション作業者の専門知識が必要な場合
- プロジェクト開発初期で、予算が限定されていたり、AIモデルのデザインがまだはっきり決まっていない試作段階で限定的にアノテーションを行いたい場合
- 社外に出すことが難しいデータを取り扱う場合や、社外のアノテータにデータを触らせるのが難しい場合
- 既存のツールそのものでは対応出来なくてもオープンソースツールをカスタマイズできる場合
またこうしたケースでポイントになるのは、以下の点です。
ツールの比較ポイントを考えてみる
ツール+社内/クラウドリソースを行うのが適しているケースがわかったところで、ツールを選択するときにどのような比較ポイントがあるのかを見ていきましょう。
1. アプリケーションの配布方法
アプリケーションの配布形態としては、「インストーラ型」と「Webアプリ型」に分けることができます。
WEBブラウザ上で利用できるWEBアプリ型でれば、OSを問わず利用できる場合が多いです。またインストールの手間もなく、複数のメンバーで環境を合わせる事も比較的容易です。
少し前まではユーザーエクスペリエンスに劣るものが多かったWEBアプリですが、今ではインストール型に劣ることは少なくなってきたといえるでしょう。
ただし、サーバとブラウザ間でデータをやり取りする形式になるので、社内で用意するのであればサーバをどこかに設置する手間が発生します。同時にメンテナンスも必要になります。Docker等のコンテナ技術を利用して個別のPCにインストールすることも考えられますが、この場合は実質的にインストールアプリと同じ課題が出てきます。
インストーラ―を配布して利用するアプリの場合、極小人数での利用であれば大きな問題はありませんが、アノテータメンバーが増えてくるとその管理コストは想像以上に管理者を悩ませることになります。
またOSに依存するケースも出てきます。OSの違いによってバグの有無等が変わると管理者の悩みはさらに増えます。
ただし1人~少人数での実施であれば、自身のPCにインストールするだけなので良い選択になりえます。
2. オープンソースと有償サービス
アノテーションツールには優秀で有名なオープンソースツールが多数あります。プロジェクト規模が小規模であれば、この選択肢は有効でしょう。商用であっても無償で利用可能なツールも多々あります。ツールの選別にあたっては技術掲示板等の評判やGitHubにおける★やForkの数が目安になります。
またソースが公開されているので、必要に応じてカスタマイズも可能です。不具合があったとしてもコミュニティでの解決策が提示されていることも多いです。
ただし、オープンソースは無保証である場合が多い点に注意してください。有償化すると保障が受けられるタイプのものもありますが、あなたがクライアントのためにAIを納品する立場の場合、そのクライアントに対するサポートが保障のないオープンソースツールで対応できるのか、少し立ち止まって考えてみる必要があるかもしれません。
アノテーションツールで有償なものは、ユーザー数やデータ数等によって課金が発生するタイプのツールが多い傾向にあります。
これらのいくつかは、一定の制限の中であれば無料で使えるものがあります。無料の範囲でつかってみて、自分のプロジェクトにマッチするか評価することができますし、小規模なAIであればその範囲で学習が済んでしまう場合もあります。
オープンソースと違って、自身でのカスタマイズは困難です。プランによってカスタマイズに対応している製品もあるので問い合わせてみるのもいいかもしれません。
3.アノテーションタイプ
アノテーションツールの中核となる機能で、どのようなデータにどのようにアノテートしていくのか、あなたが求める方法がツールに用意されいてるか、確認が必要です。
アノテーションタイプの大分類として、画像・動画系/NLP(自然言語処理)系/Cuboid等の立体アノテーション等があります。
画像系であれば、四角形(Bounding-Box)や多角形(Polygon)で対象オブジェクトを囲ってラベルをつけるタイプ、塗り絵のようにピクセル単位で色を塗って意味付けを示す(Semantic- Segmentation)等が有名です。そのほか、人体の骨格に合わせて関節点にポイントを打っていく(SkeltonまたはKeypoint)ものや、単純に画像全体にたいしてラベルを付けたり分類するだけの機能をもっているものもあるでしょう。
NLPのうち文字や文章を扱うものでは、文章内に出現する人名・地名等の固有名詞・日付・時間などを選び出すタスクに向けたものや(固有値表現抽出)、文章中の特定の文字にラベルを付与する作業、文章全体に対してクラス分類を行うもの(例えば感情の分類)等があります。また音声データをシンプルに文字起こしするだけのタスクもあります。
Cuboidは本来直方体といういう意味ですが、アノテーションにおいては、点群(Point Cloud)データで表現された空間内で特定の物体部分を立方体で囲うような作業が代表的です。
このようにアノテーションツールによって、サポートしているアノテーションタイプは全く異なるため、どのようなAIモデルを構築したいか、そどのような教師データを与えたいかによって、必要な機能を選択してください。
4.管理系機能
アノテーションツールの中で、一部のツールは最初から複数メンバーで作業することを想定して作られています。個人用のツールを複数メンバーに与えて作業を進める場合、まず管理者がやることは誰にどのファイルを作業させるかを決めてそれぞれにファイルを送ることになります。
こうしたやり方は分担が重なっていたり不足していたりするだけで後々面倒なことがおきかねません。管理機能に対応したツールではデータセットをツール上でタスクとしてメンバーにアサインし、それらがどのようなステータスで進んでいるかといったことをグラフィカルに表現できるものが多いです。
またツールによっては品質レベルを表現するものや、メンバーの作業効率等を数値化して表示するもの、等もあります。研究者個人でアノテーションであれば不要ですが、3名以上で作業する場合は、最初から管理機能が充実したツールを選択することをお勧めします。
5. アノテーション補助機能
人間がアノテーションをする前に自動でタスクを行ってくれる機能がついているものも増えてきました。いわばプリセットされたAIが、あなたのアノテーション作業を補助してくれるものです。
とはいえ、これは汎用的に作られたAIを使うことになるため、たとえば「自動車」や「人」の典型的なオブジェクトを抽出や、領域の境界を自動でスナップしてポリゴン作成の補助をするといった内容が多いです。
あなたのプロジェクトが特殊なアノテーション、例えば自動車の前タイヤだけを枠で囲いたい・・・といった場合はその部分のAIを作りこむ必要があります。
6. セキュリティ
サーバ提供されるソフトウェアであればセキュリティが気になりますが、あなたが作成するAIに求められるコンプライアンスについても注意を払う必要があるかもしれません。
総務省が公表しているAIネットワーク指針会議報告書2020(https://www.soumu.go.jp/menu_news/s-news/01iicp01_02000091.html)では、悪意を持って作成されたデータによってAIが誤動作する可能性や、データ作成者追跡の必要性等が論じられています。
ログインシステムで作業者の個人認証を備えたツールの中には出力フォーマット内に作業メンバーの情報が付与できるものもあります。
7. スケーラビリティ
小さなプロジェクトとして始まったAI開発であっても、次第にサービスが拡大していく中で、求められる教師データの量や質が増えていくことは十分考えられます。メンバー増強やデータ保管の増強が必要になった際、インストールアプリ配布の手間が増えて実質的に対応困難にといったことが起こるのは避けるべきです。
プロジェクトによってはフェーズが進んだ段階で、スムースにサービス利用型のアノテーションにスイッチすることも有効です。