アノテーションに関連した記事を調べてみた。
その記事やスライドの中から特に目についた部分を引用する。
興味を覚えたら、その記事じたいを読んでみることをおすすめする。
アノテーションこそが本質
画像認識モデルを作るための鉄板レシピ
SSII2018TS: 大規模深層学習
背景合成データ生成
より良い機械学習のためのアノテーションの機械学習
小まとめ: 少量のアノテーションでの学習は可能か
半教師あり学習により精度向上可能
ただし、多量の教師ありデータでの学習には及ばないこともある
アノテーションできる場合はおとなしくアノテーションしてしまったほうが良いかも
顔認識で精度改善が起きた理由は、大規模でクリーンなデータセットが公開されたこと
また、VGGFace2 については次のように書かれています。
現在はVGGFace2でふつうに学習したモデルが一番精度が良いようですが、実はVGGFace2は、大規模な上に綿密にクリーニングがなされたデータセットです。 このデータセットについて説明した論文[10]には、VGGFace2を作るにあたって、
クリーニング前のデータで顔認識モデルを学習し、このモデルで異常画像をフィルタリングして除去
ほぼ同一な顔画像を除去
人の顔でないデータ、顔が写っていなかったり複数の顔が写っているデータを除去(人力+自動)
というクリーニングをしていると明記されています。結果的にできあがったデータセットは、約9,000人分の330万枚の画像からなるかなりの大規模なデータですので、相当な労力をつかってクリーニングされたことが窺えます。
このように、顔認識の文脈では、大量のクリーンな教師ありデータセットが精度改善にとってはクリティカルであると認識されていましたが、十分量のクリーンなデータセットを用意するのが重要というのは、顔認識に限った話ではないと思われます。
[参考] アノテーション仕様作成におけるポイント
タスク数個~数十個のテストプロジェクトを作成する
テストプロジェクトを完成させる
テストプロジェクトの教師データで学習を行ってみる
問題の洗い出し、仕様の修正
本番プロジェクトの作成
といった手順で進めることをお勧めします。
Annotationツール比較
アノテーションルールは
その時代その時代の機械学習技術の想定と関係があります。
顔検出でもそうです。
古い顔検出ライブラリでは、BoundingBoxが正方形であることが多かった。
目位置による正規化を前提したboundingBoxの定義になっていることも多かった。
そのため、正面の顔ならば目位置による正規化が考えやすいものです。そのため、横顔の検出については、どのように大きさを正規化して学習させるべきなのかについて、HaarCascade検出器の時代には、なかなか決め手に欠ける状況だった。
横顔では、顔の輪郭の外の背景をも正規化後の学習画像に含めなければならないことも、正面顔の検出器と違って
学習の難易度を高めていた。
深層学習の顔検出のライブラリでは、大概の場合、長方形になります。
最近にアノテーションでは、
セマンティックセグメンテーションのアノテーションになってきています。
セマンティックセグメンテーションのアノテーションツールlabelme
アノテーションのBoundingBoxの定義のしかたは、機械学習の実装の性能につながる。
例えば、歩行者検出の検出枠を、歩行者の上下左右にマージンをつけて検出するタイプのものがある。
自分たちの開発しようとする検出器はどのような検出器なのかによってアノテーションのしかたを再考する価値はある。また、既存のアノテーションデータを、自分の学習のためのデータへの換算方法を構築することだ。
この図2は[サーベイ論文]統計的学習手法による人検出から引用
ここに書いてきた記事は独立させました。
qiita アノテーションツール(正解入力ツール)が進化している。 2
関連記事
qiita アノテーションツール(正解入力ツール)が進化している。