损失函数
①找到文件ultralytics/utils/metrics.py,将bbox_iou函数的代码进行替换。下图为原代码:
②找到文件ultralytics/utils/loss.py,将BboxLoss类的loss_iou进行替换。
同时在上面的第73行,替换成如下的形式,因为这里用的Inner的思想的IoU,所以红框内和原先的也是不一样需要修改的,可以看到这里用到的是Inner_CIoU。如果想使用其它的IoU可以直接将Innner_CIoU更改其他的。如果都是False则默认适用Inner_IoU即普通版本。(这里可以使用Focus的思想,如果想使用则在下面的红框内添加Foucs=True即可,Focus一般情况下精度会更高,但也有个别的例外)
③找到文件ultralytics/utils/tal.py,在这个文件中找到如下的代码块,这里已经修改完了(这里不要开启Focus,如果步骤二开启这里也不要开启,同时现在修改了,如果你想要使用inner就设置inner为True,举例如果你使用WIoU,如果不设置inner则此时为WIoU,如果你设置inner为True,那么此时使用的就是inner_WIoU)
最后:
如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真......希望能帮到你!