鳥の種類と位置を推定する YOLO 物体検出モデルのデータセットの更新

1. 概要

先日、こちらのページに記載した手順で鳥の種類と位置を推定する YOLO 物体検出モデルのデータセットを作成しました。

追加で別の種類の鳥の写真を撮影したため、データセットを更新しました。

2. 画像の追加

こちらのページと同様、Label Studio を使用してデータセットを作成しました。

Label Studio には Import ボタンがあるのを確認していますが、今回は野鳥の画像を置いたフォルダに新たに撮影した画像を追加し、データセットを更新しました。

Label Studio で Local Storage を使用する設定を想定しています。

こちらのページで野鳥の画像を置いたフォルダに新たな画像を追加し、Settings – Cloud Storage で Sync Storage ボタンをクリックしました。

以前、Label Studio から Delete Tasks を選択し、使用しないことにした画像もフォルダに残していました。Sync Storage ボタンをクリックした際、新たに追加した画像に加え、これらの画像もプロジェクトに再度追加されました。

3. ラベルの追加

Settings – Labeling Interface を選択し、下記のようにラベル付けの対象となる野鳥の名前を追加しました。先日、こちらのページの手順で用意した Labeling Interface の XML に新たにラベル付けする野鳥の名前を追加しました。

<View>
  <Image name="image" value="$image"/>
  <RectangleLabels name="label" model_path="yolo11x.pt" toName="image" model_score_threshold="0.05">
    <Label value="bird" background="red"/>
    <Label value="カルガモ" background="#096DD9"/>
    <Label value="マガモ(オス)" background="#ADC6FF"/>
   <Label value="マガモ(メス)" background="#FFA39E"/>
    <Label value="ダイサギ" background="#D4380D"/>
    <Label value="アオサギ" background="#FFC069"/>
    <Label value="ヒドリガモ(オス)" background="#AD8B00"/>
    <Label value="ヒドリガモ(メス)" background="#D3F261"/>
    <Label value="カワウ" background="#389E0D"/>
    <Label value="オオバン" background="#5CDBD3"/>
    <Label value="キジバト" background="#D45CD4"/>
    <Label value="ヤマガラ" background="#FA0"/>
    <Label value="カワアイサ(オス)" background="#070"/>
    <Label value="カワアイサ(メス)" background="#F70"/>
    <Label value="セグロセキレイ" background="#888"/>
  </RectangleLabels>
</View>

Labeling Interface を上記のように変更した後も、すでにラベル付けした写真にはこれまで通り、「ダイサギ」、「カルガモ」等のラベルが付けられているのを確認しています。

新たに追加した写真に写っている野鳥にはラベル「bird」が付けられていました。こちらのページと同様の手順で、新たに追加した写真にもラベルを付けました。

4. 更新したデータセットで動作確認

ラベル付け完了後、Export ボタンで YOLO 物体検出モデル用のデータセットを出力し、データセットを作成しました。こちらのページと同様、training, validation, test 用にデータを分けて使用しました。

下記のコマンドで yolo11n を対象として、training と prediction を実行しました。今回はエポック数 100 で traninig しました。

$ yolo train model=yolo11n.pt data=/mnt/c/dev/data/custom/tobagawa-dodogamine/tobagawa-dodogamine-2025-02-09/data.yaml batch=-1 epochs=100
$ yolo predict model= ./PycharmProjects/TestUltralyticsCuda/.venv/src/ultralytics/runs/detect/train8/weights/best.pt source= /mnt/c/dev/data/custom/tobagawa-dodogamine/tobagawa-dodogamine-2025-02-09/images/test/

ネットワークの training には使用しなかった test データを使用した推定結果は下の画像のような結果になりました。一部の結果は 1羽の鳥を複数の鳥として検出していますが、それ以外はほぼ意図通りの推定結果となっています。今回追加で撮影した、ヤマガラ、カワアイサ、キジバトも推定できていました。

こちらのリンクに今回用意したデータセットの圧縮ファイル tobagawa-dodogamine-2025-02-09.zip を置きました。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA