在使用YOLO和darknet训练自定义数据集时,假设可用数据用3类标注, voc.names
cat
dog
bird
因此, .txt 文件的格式为
1 0.587 0.576 0.361 0.415
0 0.205 0.803 0.166 0.206
0 0.181 0.597 0.166 0.206
2 0.417 0.857 0.166 0.206
这意味着猫是0类,狗是1类,鸟是2类
如果我想训练模型只检测狗(1类),而忽略其余的类,该怎么做?我可以通过以下方式更改 voc.names 文件吗,即第一行和第三行留空
<assume empty line>
dog
<assume empty line>
如果以上过程错误,是否还有其他解决方法?
答案 0 :(得分:0)
如果您希望模型检测所有类,而只绘制 dog 框,则只需在绘制函数之前添加if条件。但是,如果要将类的数量从3个减少到1个,则应该采取一些其他步骤:
number_of_classes*2000
(除以3)。number_of_filters=(classes + 5)x3
如果您可以发布代码的相关部分或链接,将会有所帮助。
答案 1 :(得分:0)
最安全的方法是仅通过狗类训练网络,有关详细信息,请参考this question。