0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

オープン語彙検出モデルを使って物体検出画像のアノテーション作業を自動化したい

Posted at

オープン語彙検出モデルとは

以下の画像のようにテキストベースの入力から,物体検出を行うニューラルネットワークモデルのことです.
本来はデータを収集して,アノテーションをして,検証をして,使えるモデルの完成!!のような流れですが,オープン語彙検出モデルを使うことで,一番時間がかかるといっても良いアノテーションの作業を自動化させようと考えました.
今回はUltralyticsが公開している"yolov8x-worldv2"を使ってみました.
image.png

検出を試す

やること

アノテーションをしたい対象の画像から,検出対象をYOLO-WorldにアノテーションをしてもらいYOLO形式のアノテーション結果を出力させる.

準備(必要なライブラリのインストール)

$ conda create -n yolo_venv python=3.11(必要に応じて仮想環境を作る)
$ conda activate yolo_venv(必要に応じて仮想環境を作る)

$ pip install ultralytics

アノテーション対象の画像

セブンイレブンの弁当やコールスローなどのサラダなどが写っている画像が手元にありましたので,こちらを使用します.
bentonado.png

検出と結果の出力

弁当とサラダスティックとコールスローを検出してみます.
それぞれプロンプトを["lunch_box", "plastic cup", "salad bag"]としてみます.

from ultralytics import YOLO

model_path = "model/yolov8x-worldv2.pt"
detect_classes = ["lunch_box", "plastic cup", "salad bag"]
img_path = "data/bento.png"

model = YOLO(model_path)
model.set_classes(detect_classes)
results = model(img_path, save_txt=True)
results[0].show()

モデル自体はultralyticsのライブラリが自動でダウンロードしてくれるので,画像のパスと検出対象の変数だけ変更してください.

結果

  • 検出結果の画像出力
    このような結果になりました.弁当は検出できています.
    コールスローとサラダスティックが検出できていません.プロンプトもいろいろ変えてみたのですが,検出できなかったのでそもそも学習データに近い物体がなかったと考えられます.
    あと画像全体がlunch_boxになっちゃってますね.また,confidenceも高いので,修正が難しそうです..これはあまりいい結果とは言えません.
    追加でtrainingを行うことで,検出できるかもしれませんが,それだと本末転倒です.(泣)
    image.png

  • テキストファイルの出力
    出力結果はカレントディレクトリのruns\detect\predictに保存されます.

効果的な使い方

正直,今回用いたデータでは,うまく機能しなかったためあまり必要性を感じませんでした.ただ,推論時間が画像1枚あたり100msもかからない程度だったので,Ultralyticsのサイトでも記述されている通りリアルタイム検出として用いるべきなのかもしれません.

また,簡単に調べてみたところ,"tallest man"だったり,"white dog"など色や特徴などを記述する使い方をされている方が多かったです.十分なデータセットがない場合でもこのモデルを使うことで,異常検知・検出のようなモデルを作成できそうだなと感じました.

簡単に試したい場合

hugging faceでYOLO-Worldを検索すると,簡単に検出のデモをできるアプリケーションが公開されています.
手元に環境が用意できなければ,そちらから試してみると良いかもしれません.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?