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
その際再度メロンの学習を行わないとメロンの検出はできなくなるのでしょうか?それとも、リンゴの学習のみでモデルは完成するのでしょうか?
再度メロンの学習を行うのであれば、クラスを追加する毎に学習時間が増えていくと思うのですが、その点を解消する方法などあるのでしょうか?
長文の質問となり、大変申し訳ありませんが、ご存じの方いらっしゃればお教え頂ければ幸いです。