参对象和map_AI论技| mAP提升40%,更快更精准的YOLO来了!还支持实例分割?!

news/2024/7/6 5:34:53

371f9f5893709d6435256478a8125d2d.png

不久前给大家详细介绍了经典的目标检测算法yolov3,最近基于yolov3的改进版本poly-yolo来了, 模型参数量仅为yolov3的60%,但是map却 提升了40% ,还能应用于实例分割,一起来看看细节和其惊人的效果吧!

本文由品览高级算法研究员Cecilia,为大家解读YOLOv3改进版: Poly-YOLO的详解与应用。

Cecilia

品览 高级算法研究员

•  毕业于南昌大学
•  3年国企研发中心经验

015464b3d7df9778b65cf4ef3318004d.png

YOLOv3的缺点

1.重写标签

由于YOLO系列都是基于图像cell栅格作为单元进行检测,以416*416大小的图像为例,在图像分辨率随着卷积下降到13*13的特征图大小时,特征图一个像素点的感受也是32*32大小的图像patch。如果将两个相同尺度的框分配给同一个cell,则其中一个将被重写。

结果,训练网络忽略一些目标,这导致正样本数量非常少。特别是存在于分辨率比较低的特征图中。如下图所示,红色目标为因为重写而没有加入到训练中的目标,可以看到,在这样一个特征图上,重写的目标数量还不少,27个目标里有10个都被重写,特别是比较稠密的地方。

33e4f93ead5bb7ab88f6fa6187d58fef.png

2.无效的anchor分配

YOLOv3使用九个anchor,每个输出尺度三个纵横比。特定的gt与最佳匹配的anchor匹配,该anchor将其分配给特定的输出特征层。这种分配方式只适用于以下的理想分布: 

19a0fed1bf80242170a85d943a9e6421.png

然而在实际问题中,目标框大小不会分布的这么理想化,就会造成某些尺度的特征层未被充分利用。

Poly-YOLO的改进

1. 高分辨率的单一尺度输出层

标签重写的问题可以通过较高的特征分辨率来缓解。当特征分辨率=输入图像大小,将不可能会发生标签重写的问题。出于速度考虑,最终选取1/4输入分辨率大小作为单一输出层的尺度。

进行改进后的标签重写率对比如下图1所示:

6c30ca9c231aaab9c1defa4ae5fc44b3.png

图1 改进后的poly-yolo标签重写率在多数据集对比

2. 解决anchor分布问题

第一种方式是:为三个输出尺度定义感受野,并定义将其拆分的两个阈值。然后,k均值将根据这些阈值计算质心三元组(用作锚点)。这会将数据驱动的锚更改为问题驱动的(感受野)锚。例如,当数据集中目标较小的时候,仅在检测小物体的比例尺上检测到,而不是在YOLOv3中当前实现的所有比例尺上检测到。这种方式的缺点是我们将无法使用网络的全部容量。总结来说,这种方式就是人工的hard调参。

第二种方式是:创建具有单个输出的架构,该架构将汇总各种规模的信息。这样的聚合输出还将一次处理所有锚点。因此,与第一种方式相反,锚点大小的估计将再次由数据驱动。

Poly-yolo采用第二种方式进行改进,如下图2所示为yolov3体系结构与poly-yolo体系结构的对比:

8c4a8ff87d0cdcd9f5c760c07647bfae.png

图2 原始体系结构和新体系结构对比

Poly-YOLO在特征提取器部分每层使用较少的卷积滤波器,并通过squeeze-and-excitation模块扩展它。较重的neck block被使用stairstep进行上采样、带有hypercolmn的轻量block所取代。head使用一个而不是三个输出,具有更高的分辨率。

综上所述,Poly-YOLO的参数比YOLOv3少40%,但可以产生更精确的预测。对多个尺度的特征融合策略,采用阶梯式聚合方式,输出结果更加平滑。在提升效果的同时,保证参数量不增加。

14a3a08f24ec57a4cb08317968d366db.png

图3 展示了HC方案(左)和带有阶梯的HC(右)对比,图4展示了阶梯式聚合带来的训练提升。

389f95b0c7a7707aeb30480ca0b67d5e.png

图4展示了阶梯式聚合带来的训练提升

此外,polo-yolo对主干网络进行了修改,在其中添加了SE注意力模块。通过添加SE模块并以更高的输出分辨率工作,会降低计算速度。

Poly-YOLO实例分割

引入一个多边形表示物体,它能够检测具有不同数量顶点的目标,而不需要使用会降低处理速度的递归神经网络。

1. 多边形原则

在一个公共数据集中,许多对象都被类似的形状所覆盖,不同之处在于对象的大小。例如,汽车牌照、手势、人类或汽车都有几乎相同的形状。

一般的形状可以很容易地用极坐标来描述,图5说明了YOLOv3中使用矩形网格,一个对象的边界框位于其中心的单元格将预测其边界框的坐标,而Poly-YOLO中基于圆形扇区的网格,用于检测多边形的顶点。网格的中心与对象边界框的中心重合。然后,每个圆形扇区负责检测特定顶点的极坐标,没有顶点的扇区应该产生等于零的置信度。

1bef4110ca82ead885c803650f1c5b1e.png

图5

6a7e541d038cd474113af8af7510fed5.png

图6 bbox检测(上)和极坐标检测(下)对比

2.与poly-yolo集成

检测边界多边形的思想是通用的,可以很容易地集成到任意的神经网络中,通常,必须修改三个部分:数据准备的方式、体系结构和损失函数。从语义分割标签中提取边界多边形,所提取的边界多边形必须以与边界框数据相同的方式进行扩充。在Poly-YOLO中更新了输出层中卷积滤波器的数量。

当仅检测到边界框时,最后一层由n = na(nc + 5)个卷积滤波器表示,na=9(anchor个数),nc为类别数,对基于多边形的目标检测进行集成,得到n=na(nc+ 5+ 3nv),nv为每个多边形检测到的顶点数的最大值。

Poly-yolo的损失函数:

af58289614481ec510dc37f081d34c90.png

其中

54f54cae9f6294180df6008db6b96ac5.png

6178f39f6f69104a4394471f05270d7a.png

460b0dbc4aaf858cc49451f4b309733c.png

2e96a82ff3695215695d7ccbfc04fd02.png

b0a1a7f55fe0fb43f609a991d38f8e19.png

实际应用效果展示

d8ad62bf257b49413f2e47d3056c205d.png

9ec3ae4511489fee095b703a1db6dc5a.png

643e116374e18bf49192a25f5b3f7a07.png

总体来讲,polo-yolo的改进是良心之作了,模型参数量相对于yolov3减少了60%,还展示了具有更少参数和更低输出分辨率的Poly-YOLO lite。其改进了yolov3,解决了标签重写与anchor分布问题,实际模型精度相当能打,最大的创新应该是采用极坐标的方式进行多边形预测,可以应用在实例分割上,并且实际模型训练速度非常快,608*608的输入尺度的话,前向预测速度在v100上可达到25fps!

更多技术干货,请持续关注AI论技系列文章

↓往期回顾↓

AI论技 | PSENet在票据文本检测中的应用

实用易懂的机器学习预测模型例说:如何进行价格预测

YOLOv3在标的物资产实时管理中的应用轻量级 MobileNet 在物品识别中的应用RetinaNet在货架商品盘点中的应用细粒度在商品识别领域的应用 ee87e5de049cea4bb50fb93acb607bb4.png 64b375f3bd42d417f24512e209bcc481.png   

品览Pinlan是AI物品识别专家,我们的产品结合了AI的认知识别能力,Cloud的强劲算力,IoT的边缘支持。我们的使命是让物品识别能力无处不在,赋能星球上的每一个企业与个体。

在AI应用领域,团队服务过顶新集团、欣和集团、上汽集团、自如等客户。我们同全球顶级合作伙伴微软,企业微信,百度AI大脑等一起为企业客户提供AI巡店通,AI亿览通,小览机器人以及品识-AI商品识别平台产品服务。

↓ 扫一扫添加小览微信 马上开聊↓

即可申请免费试用
品览AI巡店通、AI亿览通产品方案

4ba65b461ed2d05f1fcad2af053b698e.png


http://www.niftyadmin.cn/n/2751126.html

相关文章

如何搭建FTP服务器

7分步阅读FTP服务器可以方便的供用户上传,下载文件,对于我们日常的教学,工作都有着很大的帮助,今天小编就为大家讲解下如何在搭建FTP服务器希望对大家有所帮助。工具/原料电脑一台方法/步骤1首先我们创建一个用户账户用于登录FTP进…

c语言和python实用性_C语言和Python语言,那个更好?

(3)灵活性Python语言的最大优点在于它的灵活性,这在测试领域非常重要,因为测试所面临的业务和需求经常在变化,有时它们甚至无法满足并自行决定,而在这时,你可以使用Python丰富的第三方库轻松找到解决方案。(4)扩张Pyth…

HDU 4401 Battery(积分)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid4401 题意:给出一个长度为L的太阳能电池板。若阳光直射在板上,单位长度单位时间发电为1.斜射的话要乘以sin(x),x为阳光和地面夹角。求某一时间段太阳能电池板的发电量。 思路&#xff1a…

趣谈网络原理 网关(自我提升第二十四天)

第一,菜鸟感觉这个极客时间的专栏因为是每天挑一个学,然后写博客,感觉顺序比较乱,我今天整理了一下。 第二,菜鸟感觉这些东西真的是:一天不学,等于白学。我才几天没看这个趣谈网络原理&#xf…

还原历史版本_历史还原的“音乐事件” | 乐评

江禹杉文 | 张俊俊2020年12月16日晚,青年羽管键琴家、管风琴家江禹杉在中国音乐学院举行的《羽管键琴独奏音乐会巴赫——哥德堡变奏曲》(BWV988),可谓一场巴洛克音乐的“历史还原”之旅。作为一名旅欧羽管键琴家、管风琴家,江禹杉丰富的教堂演…

topcoder srm 445 div1

problem1 link 这个的结论是只需要考虑坐标是整数或者是整数.5,比如(2.5,3),(4,3.5),(1.5,4.5)这样的时候。这个详细证明起来应该挺麻烦的。这里有一些讨论。 problem2 link 首先,可以暴力看下$n3,4$时的情况。 $n3$, 000 001 011 010 110 100 101 111 $…

SQL优化:化解表关联的多对多join

关系数据库的基本概念就是关系,对应到数据库软件中就是join,具体有:(1对1,1对多,多对多)。在写sql时,经常会进行join,但是如果在join时没注意,关联条件是多对…

python数据排名_资源|15个排名最佳的数据科学Python包-【安基网】

选自The data Incubator机器之心编译参与:蒋思源、黄小天Python 语言是数据科学中最常见、最受欢迎的工具之一。近日,Data Incubator 发布了一篇题为《15 个排名最佳的数据科学 Python 包》(Ranked: 15 Python Packages for Data Science)的报告&#xf…