@mayokaok

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

YOLOv8の独自データ学習について

前提条件

yolov8の独自データの学習について疑問点が多かったため、ご存じの方がいらっしゃればご教示いただけますと幸いです。

まず、下記のファルダを準備しました。

datasets
└── watermelon
    ├── images
    │   ├── train
    │   │   ├── train0.jpg
    │   │   └── train1.jpg
    │   └── val
    │       ├── val0.jpg
    │       └── val1.jpg
    └── labels
        ├── train
        │   ├── train0.txt
        │   └── train1.txt
        └── val
            ├── val0.txt
            └── val1.txt

作業フォルダ内にテキストファイルを作成し、名前をdataset.yamlへ変更しました。dataset.yamlの中身は↓のように記載してあります。

path: ../datasets/watermelon  # dataset root dir
train: images/train  # train images (relative to 'path') 
val: images/val  # val images (relative to 'path') 

# Classes
nc: 1  # number of classes
names: ['watermelon']  # class names

その後学習を実施しました。

path: ../datasets/watermelon  # dataset root dir
train: images/train  # train images (relative to 'path') 
val: images/val  # val images (relative to 'path') 

# Classes
nc: 1  # number of classes
names: ['watermelon']  # class names

質問内容

1.学習が完了し、作成したモデル(メロンを検出できるモデル)で、リンゴの画像を画像認識した場合、メロンと検出されるのはなぜでしょうか?
元々YOLOに学習されていたクラスは検出できなくなるのでしょうか?

2.メロンを学習させたモデルに追加で、リンゴを追加することは可能なのでしょうか?
例えば以下のようなコードで良いのでしょうか?

# Classes
nc: 2 # number of classes
names: ['watermelon','apple']  # class names

 その際再度メロンの学習を行わないとメロンの検出はできなくなるのでしょうか?それとも、リンゴの学習のみでモデルは完成するのでしょうか?

 再度メロンの学習を行うのであれば、クラスを追加する毎に学習時間が増えていくと思うのですが、その点を解消する方法などあるのでしょうか?

長文の質問となり、大変申し訳ありませんが、ご存じの方いらっしゃればお教え頂ければ幸いです。

0 likes

1Answer

yolov8は使用したことがありませんが、v5の使用経験があるため回答させていただきます。

1.学習が完了し、作成したモデル(メロンを検出できるモデル)で、リンゴの画像を画像認識した場合、メロンと検出されるのはなぜでしょうか?

おそらく誤検知しているのではないかと思われます。
どのようなデータを用いてモデルを作成したのかわかりませんが、訓練データに緑はメロン、赤はメロンじゃないというデータがないと、モデルはリンゴをメロンではないと判別できない可能性がありますね。訓練データを見直す必要があるかもしれません。

2.メロンを学習させたモデルに追加で、リンゴを追加することは可能なのでしょうか?

はい、可能です。そしてもう一度モデルを作成しなおす必要があります。
学習時間に関しては、前処理をする(訓練画像サイズを小さくする)ことで解消されると思います。その場合、精度が極端に落ちたりしないか注意する必要があります。

0Like

Comments

  1. @mayokaok

    Questioner

    なるほど!

    ご回答ありがとうございます!

    2のもう一度モデルを作り直すとありますが、メロンも再度学習し直す必要があるのでしょうか?

  2. そうですね。メロンも再度学習し直す必要があります。

  3. @mayokaok

    Questioner

    承知致しました!

    ご返答ありがとうございます!

Your answer might help someone💌