Updated YOLO object detection model dataset to estimate bird type and location

1. Overview

I recently created a dataset for a YOLO object detection model that estimates bird type and location using the procedure described on this page.

The dataset has been updated with additional photos of other birds.

2. Adding Images

As with this page, Label Studio was used to create the dataset.

Label Studio has an Import button, but this time I added the newly taken images to the folder where I placed the bird images before and updated the dataset.

Assumes a setup that uses Local Storage in Label Studio.

I added the new images to the folder where I placed the bird images before and clicked the Sync Storage button under Settings – Cloud Storage.

In the past, I selected “Delete Tasks” from Label Studio and deleted some of images from the Project. Those images that I chose not to use were also left in the folder. When the Sync Storage button was clicked, those images were re-added to the project in addition to the newly added images.

3. Adding labels

Select “Settings – Labeling Interface” and add the names of the birds to be labeled as shown below. I added the names of new birds to be labeled to the Labeling Interface XML that I prepared using the procedure on this page.

<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>

After changing the Labeling Interface as described above, I checked that already labeled photos were still labeled with ダイサギ, カルガモ, etc. as before.

Birds in the newly added photos were labeled “bird”. The same procedure as on this page was used to label the newly added photos.

4. Check with updated dataset

After labeling was completed, the Export button was used to output a dataset for the YOLO object detection model. As with this page, I divided data for training, validation, and test.

The following commands were used to run training and prediction on yolo11n. This time, the network was trained with 100 epochs.

$ 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/

Estimation results using test photos that were not used for training are shown in the image below. Some results show one bird as multiple birds, but otherwise the estimates are almost as intended. The additional birds I photographed this time, such as ヤマガラ, カワアイサ, and キジバト were also estimated.

I uploaded the updated dataset tobagawa-dodogamine-2025-02-09.zip on this link.

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA