082、遥感图像旋转目标检测:YOLO + OBB 定向边界框的旋转框检测方案
一、从一次“框歪了”的调试说起
去年做卫星图像船舶检测,跑YOLOv8 baseline,结果让我血压飙升——两艘并排停靠的货轮,模型给了一个大矩形框把两艘船全包进去。我盯着那张图看了十分钟,突然意识到问题:水平框在遥感图像里就是个笑话。船舶、飞机、建筑物,哪个不是歪着长的?你用水平框去框一个45度角的飞机,IoU直接掉到0.3,NMS还给你把相邻目标全干掉。
当时我第一反应是改损失函数,后来发现更根本的问题是:目标检测的“框”这个定义本身,在遥感场景下需要重构。水平框(HBB)只能描述“目标在哪儿”,而旋转框(OBB)才能回答“目标怎么摆的”。今天这篇笔记,就是我当时踩坑后的完整方案复盘。
二、OBB的核心:五个参数怎么玩
传统YOLO输出是(x, y, w, h, cls),OBB版本要改成(x, y, w, h, angle, cls)。这个angle的定义方式就有讲究,我试过三种:
第一种:角度回归(0~180度)
直接回归角度值,看起来最直观。但实际训练时发现,角度在0度和179度附近时,梯度会剧烈震荡——因为这两个值在几何上只差1度,但在数值空间里差了179。模型学得一脸懵逼,loss死活降不下去。
第二种:角度分类(180个bin)
订阅专栏 解锁全文

240

被折叠的 条评论
为什么被折叠?



