ADOCインターナショナル

2025-04-25

YOLO + SAM でアノテーション作業を効率化!AI研究現場での実践レポートのアイキャッチ画像

YOLO + SAM でアノテーション作業を効率化!AI研究現場での実践レポート

はじめに

AIに関する技術やプロダクトの調査や検証、ソリューション開発などに携わっているXYです。
今回はそのAIの調査や検証の内容について、一部ですがご紹介したいと思います。

ここ数年で、AI(人工知能)は私たちの生活やビジネスに急速に浸透し始めています。自動運転、音声アシスタント、レコメンド機能、チャットボットなど、さまざまな分野で活用が進み、その応用範囲は日々広がっています。

こうしたAI技術の多くは、コンピューターに「これはこういうものだ」と教える作業、いわゆる「アノテーション(教師データへのラベル付け)」によって成り立っています。
アノテーションは、音声認識、自然言語処理、画像認識など、あらゆる分野で必要とされる工程です。たとえば、音声データに「この発音は『こんにちは』」とラベルをつけたり、テキストに「この文はポジティブな感情を含んでいる」といった情報を付与したりします。

さまざまなAI技術の中でも特に私たちが注目しているのが、「画像や映像を理解する」分野、いわゆる画像認識AIです。
工場での不良品検出、医療画像の診断支援、防犯カメラの自動監視など、さまざまな現場で導入が進んでいます。この分野では、物体検出(画像内の対象物を見つけて枠で囲む)やセグメンテーション(対象物の輪郭をピクセル単位で特定する)といった技術が用いられます。

それら技術を学習させるには、画像内の対象物を手作業で囲み「これは○○です」と正解を教える必要があり、この工程こそがアノテーションです。精度の高いAIを作るには、このアノテーション作業の質と量が極めて重要になります。しかし、アノテーションは非常に手間がかかり、人手不足の原因にもなることから、多くの現場で課題となっています。

そこで今回、YOLO+SAMによる自動アノテーション機能を活用する実験を行い、実際に効率がどれほど向上するのかを検証しました。
本記事では、その実験内容と成果について詳しく紹介します。

使用技術の紹介:YOLO+SAMによる自動アノテーション機能

今回使用したのは、YOLOシリーズの最新版(YOLOv8以降)に組み込まれている自動アノテーション機能と、Meta社が開発したSegment Anything Model(SAM)です。

  • YOLO(You Only Look Once)
    一度の画像処理で複数の物体検出・分類が可能な高速な物体検出アルゴリズム。YOLOv8以降では、検出だけでなくセグメンテーションや分類にも対応。
  • SAM(Segment Anything Model)
    Meta社が2023年に発表した、あらゆる物体をゼロショットでセグメンテーションできる汎用モデル。任意の画像内のオブジェクトを高精度で領域分割可能。

YOLO+SAMによる自動アノテーションでは、ユーザーの手を借りずに画像中の物体領域を自動で認識・分割し、ラベル付きアノテーションデータを生成できます。

実験の目的と環境

今回行った実験の目的は、以下の通りです:

  • 目的
    手作業でのアノテーションに比べて、YOLO + SAM による自動アノテーションがどれほど効率的にアノテーションデータを生成できるかを評価すること。
  • 対象
    自動車のナンバープレートを対象とした画像10枚(実験環境に合わせた小規模な検証)
  • 使用環境
    OS: Ubuntu 24.04.1 LTS
    CPU: Intel Core i5-9400F
    GPU: NVIDIA GeForce RTX 2060(6GB VRAM)
    メモリ: 16GB

実施手順

実際の自動アノテーション作業は、以下のような手順で進めました:

  1. YOLO+SAMによる自動アノテーション環境をセットアップ
  2. 10枚の画像で、自動アノテーションを実行
  3. 出力されたセグメンテーション領域を人が目視で確認
  4. 必要に応じて微修正(ポリゴンの調整など)
  5. 正式なアノテーションデータとして保存(YOLO Segmentation Format)

このように、ユーザーの操作は最小限にとどまり、多くの作業が自動化されているのが特徴です。また、自動で出力されたデータは、YOLOの学習にそのまま利用できる形式(クラスIDと正規化座標を含む .txt)で保存されるため、学習データへの転用もスムーズです。

出力結果

実際に使用した画像データのうち1枚を例に、出力した結果を紹介します。

使用画像ファイル(.png):
  
出典:国土交通省ウェブサイト

アノテーションに使用した画像ファイル(出展:国土交通省ウェブサイト)

出力されたアノテーション結果(.txt):
7 0.37259429693222046 0.7566666603088379 0.3718244731426239 0.757777750492096 0.3679753541946411 0.757777750492096 0.36720553040504456 0.7588889002799988 0.366435706615448 0.7588889002799988 0.3641262650489807 0.7622222304344177 0.3641262650489807 0.7633333206176758 0.36335644125938416 0.7644444704055786 0.36335644125938416 0.7666666507720947 0.3625866174697876 0.7677778005599976 0.3625866174697876 …(省略)
7 0.7043879628181458 0.324444442987442 0.7036181688308716 0.32555556297302246 0.7020785212516785 0.32555556297302246 0.7013087272644043 0.3266666531562805 0.7005388736724854 0.3266666531562805 0.6997690796852112 0.32777777314186096 0.6989992260932922 0.32777777314186096 0.6974595785140991 0.33000001311302185 0.6974595785140991 0.33222222328186035 0.695919930934906 0.33444443345069885 0.695919930934906 …(省略)
7 0.031562741845846176 0.7566666603088379 0.03079291805624962 0.757777750492096 0.029253272339701653 0.757777750492096 0.028483448550105095 0.7588889002799988 0.027713626623153687 0.7588889002799988 0.02694380283355713 0.7599999904632568 0.02694380283355713 0.7611111402511597 0.024634333327412605 0.7644444704055786 0.024634333327412605 0.9177777767181396 0.025404157117009163 0.9188888669013977 …(省略)
7 0.032332561910152435 0.32555556297302246 0.031562741845846176 0.3266666531562805 0.029253272339701653 0.3266666531562805 0.027713626623153687 0.3288888931274414 0.02694380283355713 0.3288888931274414 0.02694380283355713 0.33000001311302185 0.025404157117009163 0.33222222328186035 0.025404157117009163 0.33444443345069885 0.024634333327412605 0.3355555534362793 0.024634333327412605 0.4877777695655823 …(省略)
7 0.37490376830101013 0.32555556297302246 0.3741339445114136 0.3266666531562805 0.36874517798423767 0.3266666531562805 0.3679753541946411 0.32777777314186096 0.366435706615448 0.32777777314186096 0.3648960590362549 0.33000001311302185 0.3648960590362549 0.3311111032962799 0.3641262650489807 0.33222222328186035 0.3641262650489807 0.3333333432674408 0.36335644125938416 0.33444443345069885 0.36335644125938416 …(省略)

この出力YOLOセグメンテーション形式のフォーマットで、
各行は1つの物体(この場合はナンバープレート)を示しており、先頭はクラスID(ここでは「7」)、その後に続くのは正規化(0〜1)のポリゴン座標(x1 y1 x2 y2 …)です。

アノテーション可視化画像:
上記のアノテーション情報をもとに、元画像上にポリゴンを描画した画像を作成しました。
 ※下記画像ファイルは、本実験により出典元画像(前出)は加工されています。

アノテーション可視化された画像ファイル(出展:国土交通省サイトのものに当社が加工

ポリゴンは、ナンバープレートの縁を高精度に囲っており、手動で描くのと遜色ないレベルで出力されています。

アノテーション作業の比較

今回の実験では、実際に10枚の画像に対して手動アノテーションを行いました。各画像にはおおよそ10個のナンバープレート関連オブジェクトが含まれており、それぞれのアノテーションに平均して約5分を要しました。つまり、全体で約50分かかる結果となりました。
一方、同じ画像セットに対してYOLO+SAMを用いた自動アノテーションを実行したところ、1枚あたりの処理時間はおよそ30秒で、全体で約5分という大幅な時間短縮を実現できました。

この結果からも明らかなように、作業時間は約10分の1に削減され、アノテーション工程の大幅な効率化が確認されました。特にセグメンテーションが複雑な対象に対しても、SAMが的確に輪郭を捉えるため、後の修正にかかる手間も最小限で済みます。

項目 手動アノテーション YOLO+SAMによる
自動アノテーション
作業時間(1画像) 約5分 数秒
総作業時間(10画像) 約50分 5分未満
作業者の負担 高い
(繰り返し操作が多い)
低い
(ほぼ自動)
精度 高い
(人が確認)
ややバラつきあり
(微修正が必要)

まとめ

アノテーション作業はAI開発の基盤とも言える重要な工程ですが、これまで多くの労力がかかる作業でした。今回のYOLO + SAM の自動アノテーション機能の導入により、実用的な精度を保ちながらも、作業効率を大きく改善することができました。
今後もこのようなAI活用の現場知見やツールの活用事例を発信し、AI技術の普及と実装を後押ししていきたいと考えています。

ブログトップへ