【深度学习】——物体检测的难点

目录

一、小物体检测

1、降采样率减小 +空洞卷积

2、anchor设计

1)统计方法

2)anchor边框聚类

3、多尺度训练(multi scale training——MST)

4、 特征融合


一、小物体检测

        在分类任务中,一般物体的大小都差不多,这也使得单纯的分类任务不需要考虑物体的大小等因素,但是在目标检测中,因为在同一个图像中,可能会出现多个目标,有的目标像素占比大,有的目标像素占比小,比如远处的人高度只有30个像素,近处的人却有几百个像素,这导致在深度学习的前向传播过程中,由于下降样的因素,会导致小目标在降采样的过程中直接丢失。

        一般解决的方法有以下几种:降采样率减小、anchor设计、多尺寸训练、特征融合、尺度归一化(SNIP)

1、降采样率减小 +空洞卷积

       将采样率下降的话就可以使得更小的物体能够保留下来,而不至于在下采样后一个像素点都不保留,但是减小下采样率会导致模型的感受野减小,这样对于模型是不利的,因此为了平衡二者之间的关系,一般我们可以使用空洞卷积来维持感受野的大小。

2、anchor设计

1)统计方法

        设计多组anchor,然后将每一组anchor和真实框进行对比,以IOU和正样本数作为指标。取一组性能指标指示最好的anchor作为训练的anchor。

        同一类物体虽然在单一尺寸上有很大的区别,但是在宽高比例上可能差别不大。

2)anchor边框聚类

        利用k-means等聚类算法对训练集的真实框的长宽进行聚类,得到k个中心,将这些中心的值作为anchor生成的比例。具体可以参考yolov3模型。

3、多尺度训练(multi scale training——MST)

        训练的时候将图像缩放成指定的尺度,然后进行训练。为了实现多尺度,先设置多组不同的尺度,然后每次迭代训练的时候都是先随机选取一个尺度,然后将输入图像缩放到这个尺度后再进行训练,虽然在同一次的迭代时,尺度是一样的,但是不同的迭代会有不一样的尺度,这样得到的模型就会有较高的鲁棒性。

        测试的时候则将图像放大4倍或者其他倍数后,再进行检测,这样有利于小物体的检测。

4、 特征融合

        一个图像在深度学习模型前向传播的过程中,图像会逐渐减小,导致图像的细节丢失,语义信息增加。即浅层的图像细节多,深层的图像语义信息多,因此可以将深层的上采样回来和浅层的进行融合。常见的有FPN、DetNet、彩虹融合、dssd等等

 5、

猜你喜欢

转载自blog.csdn.net/qq_45769063/article/details/120203641
今日推荐