试过几次wwW46www.79kmkm.comcom始终都联不上,测试了46www.79kmkm.com还刚找到

接果现在46fd就找不到入口了,基本上可以wwW46fdCoM确定的是_百度知道
该问题可能描述不清,建议你
接果现在46fd就找不到入口了,基本上可以wwW46fdCoM确定的是
我有更好的答案
只适,va7.us才是动力
采纳率:100%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。试过几回wwW46kmkmCom一直都联不上,测试了46kmkm还刚找到_百度知道
试过几回wwW46kmkmCom一直都联不上,测试了46kmkm还刚找到
我有更好的答案
别在嚷嚷了,老实的趣乐会吧。
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。WWW.46KMKM.COM
<tbody id="411524<tbody id="250478
浙江东大电缆有限公司(谷露影院)成立于2003年5月,总部位于中国电器之都柳市镇柳黄路1688号西仁宕工业区。专业生产10KV及以下的各种通用橡套软电缆,矿用防爆电缆,电力电缆,控制电缆,绝缘架空电缆,民用电线,高压电缆,计算机电缆,硅橡胶耐寒耐高温电缆,特种电缆等等。 东大引进当今世界上最先进的生产流水线以及检测设备,拥有一批专业技术人员和一支高素质的员工队伍,让东大公司年产各种电线电缆达3000万公里。 ……【更多】
东大电力设备有限公司网站改版成功啦…… ()
胜华电缆抓住风电市场机遇 促发展 ()
神马科技老总谈电缆设备企业发展思路 ()
金杯电工:电缆连通未来(组图) ()
东大电缆产品应用广泛
东大电缆服务比较好
东大电缆高效管理系列
东大电缆良好的人际关系
生产基地:中国&浙江柳市西仁宕工业区 商务电话:4 商务传真:7 商务中心:柳市有色金属材料市场504-505号 商务电话:4 商务传真:0
www.35i24bl8.cn &&Copyright
全色网 All rights reserved.浙ICP备号
WWW.4444KF.COM&figure&&img src=&https://pic3.zhimg.com/v2-bbfc513a7ed3_b.jpg& data-rawwidth=&1024& data-rawheight=&394& class=&origin_image zh-lightbox-thumb& width=&1024& data-original=&https://pic3.zhimg.com/v2-bbfc513a7ed3_r.jpg&&&/figure&&p&文章选自Google Blog,&b&作者:Mark Sandler、Andrew Howard,机器之心编译。&/b&&/p&&blockquote&深度学习在手机等移动端设备上的应用是机器学习未来的重要发展方向。2017 年 4 月,谷歌发布了 MobileNet——一个面向有限计算资源环境的轻量级神经网络。近日,谷歌将这一技术的第二代产品开源,开发者称,新一代 MobileNet 的模型更小,速度更快,同时还可以实现更高的准确度。 &/blockquote&&p&项目链接:&a href=&https://link.zhihu.com/?target=https%3A//github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/tensorflow/m&/span&&span class=&invisible&&odels/tree/master/research/slim/nets/mobilenet&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&谷歌 2017 年推出了 MobileNetV1,它是一种为移动设备设计的通用计算机视觉神经网络,因此它也能支持图像分类和检测等。一般在个人移动设备上运行深度网络能提升用户体验、提高访问的灵活性,以及在安全、隐私和能耗上获得额外的优势。此外,随着新应用的出现,用户可以与真实世界进行实时交互,因此我们对更高效的神经网络有着很大的需求。&/p&&p&今天,谷歌很高兴地宣布下一代移动视觉应用 MobileNetV2 已经发布。MobileNetV2 在 MobileNetV1 的基础上获得了显著的提升,并推动了移动视觉识别技术的有效发展,包括分类、目标检测和语义分割。MobileNetV2 作为 TensorFlow-Slim 图像分类库的一部分而推出,读者也可以在 Colaboratory 中立即探索 MobileNetV2。此外,我们也可以下载代码到本地,并在 Jupyter Notebook 中探索。MobileNetV2 在 TF-Hub 中会作为模块使用,且预训练保存点可在以下地址中找到。&/p&&ul&&li&Colaboratory 试验地址:&a href=&https://link.zhihu.com/?target=https%3A//colab.research.google.com/github/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet_example.ipynb& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&colab.research.google.com&/span&&span class=&invisible&&/github/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet_example.ipynb&/span&&span class=&ellipsis&&&/span&&/a&&/li&&li&MobileNetV2 本地实验地址:&a href=&https://link.zhihu.com/?target=https%3A//github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet/mobilenet_example.ipynb& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/tensorflow/m&/span&&span class=&invisible&&odels/blob/master/research/slim/nets/mobilenet/mobilenet_example.ipynb&/span&&span class=&ellipsis&&&/span&&/a&&/li&&li&预训练模型下载:&a href=&https://link.zhihu.com/?target=https%3A//github.com/tensorflow/models/tree/master/research/slim/nets/mobilenet& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&github.com/tensorflow/m&/span&&span class=&invisible&&odels/tree/master/research/slim/nets/mobilenet&/span&&span class=&ellipsis&&&/span&&/a&&/li&&/ul&&p&MobileNetV2 基于 MobileNetV1[1] 的基本概念构建,并使用在深度上可分离的卷积作为高效的构建块。此外,MobileNetV2 引入了两种新的架构特性:1)层之间的线性瓶颈层;2)瓶颈层之间的连接捷径。MobileNetV2 的基本架构展示如下: &/p&&figure&&img src=&https://pic4.zhimg.com/v2-d3bc87baa39d_b.jpg& data-size=&normal& data-rawwidth=&909& data-rawheight=&865& class=&origin_image zh-lightbox-thumb& width=&909& data-original=&https://pic4.zhimg.com/v2-d3bc87baa39d_r.jpg&&&figcaption&MobileNetV2 的架构概览,蓝色块如上所示为复合卷积构建块&/figcaption&&/figure&&p&我们可以直观理解为,瓶颈层对模型的中间输入与输出进行编码,而内层封装了模型从像素等低级概念到图像类别等高级概念的转换能力。最后,与传统的残差连接一样,捷径能快速训练并获得更优精确度。读者可查阅文末的 MobileNetV2 论文了解更多的详情。&/p&&p&V2 与第一代的 MobileNet 相比有什么区别?总体而言,MobileNetV2 模型在整体延迟范围内上实现相同的准确度要更快。特别是,目前新模型减少了两倍 operations 的数量,且只需要原来 70% 的参数,在 Google Pixel 手机上的测试表明 V2 要比 MobileNetV1 快 30% 到 40%,同时还能实现更高的准确度。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-c50d48eaedc80ff3e4de_b.jpg& data-size=&normal& data-rawwidth=&818& data-rawheight=&465& class=&origin_image zh-lightbox-thumb& width=&818& data-original=&https://pic4.zhimg.com/v2-c50d48eaedc80ff3e4de_r.jpg&&&figcaption&MobileNetV2 不仅速度更快(降低延迟),还刷新了 ImageNet Top 1 准确度&/figcaption&&/figure&&p&MobileNetV2 是一个用于目标检测和分割的非常有效的特征提取器。比如在检测方面,当 MobileNetV2 搭配上全新的 SSDLite [2],在取得相同准确度的情况下速度比 MobileNetV1 提升了 35%。我们已通过 Tensorflow Object Detection API [4] 开源了该模型。 &/p&&figure&&img src=&https://pic1.zhimg.com/v2-f5dd22aedf0ffe4d2c26b52d56566eda_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1004& data-rawheight=&133& class=&origin_image zh-lightbox-thumb& width=&1004& data-original=&https://pic1.zhimg.com/v2-f5dd22aedf0ffe4d2c26b52d56566eda_r.jpg&&&/figure&&p&为实现实时语义分割,我们借助简化版 DeepLabv3 [3] 把 MobileNetV2 用作特征提取器,这将稍后公布。在语义分割基准 PASCAL VOC 2012 上,MobileNetV1 与 MobileNetV2 作为特征提取器表现相当,但是后者所需的参数量减少了 5.3 倍,在 Multiply-Adds 方面 operations 也减少了 5.2 倍。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-c204ac7a2e0d_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1005& data-rawheight=&139& class=&origin_image zh-lightbox-thumb& width=&1005& data-original=&https://pic3.zhimg.com/v2-c204ac7a2e0d_r.jpg&&&/figure&&p&正如我们所看到的,MobileV2 面向移动端提供了一个非常高效的模型,它能处理许多基本的视觉识别任务。最后,谷歌也希望能与广泛的学术社区和开源社区分享这个新模型,并期待它有新的提升与应用。&/p&&p&&br&&/p&&p&&b&论文:MobileNetV2: Inverted Residuals and Linear Bottlenecks&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-cc15b741fefab_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&974& data-rawheight=&274& class=&origin_image zh-lightbox-thumb& width=&974& data-original=&https://pic3.zhimg.com/v2-cc15b741fefab_r.jpg&&&/figure&&p&论文链接:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&arxiv.org/abs/&/span&&span class=&invisible&&1&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&本文中我们介绍了一种新的移动端架构——MobileNetV2,其在多任务和基准以及不同模型大小的范围上进一步刷新了移动端模型的当前最佳性能。我们还介绍了如何通过全新框架 SSDLite 将这些模型高效应用于目标检测。此外,我们也展示了通过简化版 DeepLabv3(我们称之为 Mobile DeepLabv3)构建移动端的语义分割方法。&/p&&p&MobileNetV2 架构基于反向残差结构,其中残差块的输入和输出是较短的瓶颈层,这与在输入中使用扩展表征的传统残差模型正相反。MobileNetV2 使用轻量级深度卷积过滤中间扩展层的特征。此外,我们发现为了保持表征能力,移除短层中的非线性很重要,这提升了性能,并带来了催生该设计的直观想法。最后,我们的方法允许将输入/输出域与转换的表现性分开,从而为未来的分析提供一个简便的框架。我们在 ImageNet 分类、COCO 目标检测、VOC 图像分割上测试了 MobileNetV2 的性能,同时也评估了精度、operations 数量(通过 MAdd 测量)以及参数量之间的权衡。&/p&&p&&br&&/p&&p&参考文献:&/p&&p&1. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications, Howard AG, Zhu M, Chen B, Kalenichenko D, Wang W, Weyand T, Andreetto M, Adam H, arXiv:, 2017.&/p&&p&2. MobileNetV2: Inverted Residuals and Linear Bottlenecks, Sandler M, Howard A, Zhu M, Zhmoginov A, Chen LC. arXiv preprint. arXiv:, 2018.&/p&&p&3. Rethinking Atrous Convolution for Semantic Image Segmentation, Chen LC, Papandreou G, Schroff F, Adam H. arXiv:, 2017.&/p&&p&4. Speed/accuracy trade-offs for modern convolutional object detectors, Huang J, Rathod V, Sun C, Zhu M, Korattikara A, Fathi A, Fischer I, Wojna Z, Song Y, Guadarrama S, Murphy K, CVPR 2017.&/p&&p&5. Deep Residual Learning for Image Recognition, He, Kaiming, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. arXiv:,2015&/p&&p&&br&&/p&&p&原文地址:&a href=&https://link.zhihu.com/?target=https%3A//research.googleblog.com/2018/04/mobilenetv2-next-generation-of-on.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&research.googleblog.com&/span&&span class=&invisible&&/2018/04/mobilenetv2-next-generation-of-on.html&/span&&span class=&ellipsis&&&/span&&/a&&/p&
文章选自Google Blog,作者:Mark Sandler、Andrew Howard,机器之心编译。深度学习在手机等移动端设备上的应用是机器学习未来的重要发展方向。2017 年 4 月,谷歌发布了 MobileNet——一个面向有限计算资源环境的轻量级神经网络。近日,谷歌将这一技术的第…
&figure&&img src=&https://pic2.zhimg.com/v2-023c00ed41eaeacf96595b64_b.jpg& data-rawwidth=&1920& data-rawheight=&1080& class=&origin_image zh-lightbox-thumb& width=&1920& data-original=&https://pic2.zhimg.com/v2-023c00ed41eaeacf96595b64_r.jpg&&&/figure&&blockquote&编者按:尝试过用卷积神经网络做物体检测的同学想必都熟悉YOLO。继先后发了两篇“标题党”论文后,近日,华盛顿大学的Joseph Redmon和Ali Farhadi又来搞事情了。这次他们祭出的是一篇“奇文”:&b&YOLOv3: An Incremental Improvement&/b&。这短小的篇幅、这诡异的文风,这神奇的措辞,看得围观群众一脸茫然。下面,请跟着论智去看看v3版YOLO究竟有哪些更新。&/blockquote&&p&&i&注:为尽力还原原文风格,本文将出现一些口语表达和意译,如有不适,还请谅解。本文已邀请专业读者校对,将不定期修正,如发现错误,欢迎留言指正,谢谢。&/i&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-dcdd4bd2b9cae79b43deb01_b.jpg& data-size=&normal& data-rawwidth=&1080& data-rawheight=&386& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-dcdd4bd2b9cae79b43deb01_r.jpg&&&figcaption&Joseph Redmon是个资深Brony&/figcaption&&/figure&&h2&&b&摘要&/b&&/h2&&p&我们为YOLO提供了一系列更新!它包含一堆小设计,可以使系统的性能得到更新;也包含一个新训练的、非常棒的神经网络,虽然比上一版更大一些,但精度也提高了。不用担心,虽然体量大了点,它的速度还是有保障的。在输入320×320的图片后,YOLOv3能在22毫秒内完成处理,并取得28.2mAP的成绩。它的精度和SSD相当,但速度要快上3倍。和旧版数据相比,v3版进步明显。在Titan X环境下,YOLOv3的检测精度为57.9 AP50,用时51ms;而RetinaNet的精度只有57.5 AP50,但却需要198ms,相当于YOLOv3的3.8倍。&/p&&p&代码地址:&a href=&https://link.zhihu.com/?target=https%3A//pjreddie.com/darknet/yolo/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&YOLO: Real-Time Object Detection&/a&&/p&&p&“论文”地址:&a href=&https://link.zhihu.com/?target=https%3A//pjreddie.com/media/files/papers/YOLOv3.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pjreddie.com/media/file&/span&&span class=&invisible&&s/papers/YOLOv3.pdf&/span&&span class=&ellipsis&&&/span&&/a&&/p&&p&公众号地址:&a href=&https://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s/moGyB-WZjSPhwkv_uR37Dg& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&“营销号”式论文——YOLOv3:一项渐进式的更新&/a&&/p&&h2&&b&1.引言&/b&&/h2&&p&有时候啊,其实有些人一年的时间就那么蹉跎了,你懂的。所以去年我也没做什么研究,就是在玩Twitter上花了点时间,在GAN上花了点时间,然后回头一看,好像自己还空了一点精力出来[10][1],于是就想,要不更新下YOLO算了。说实在的,这只是一系列很小的、让YOLO变得更完善的更新,也不是多么有趣的事。另外,我还帮别人做了一点研究。&/p&&p&事实上这也是我今天要讲的内容。我们有一篇论文快截稿了,但还缺一篇关于YOLO更新内容的文章作为引用来源,我们没写,所以以下就是我们的&b&技术报告&/b&!&/p&&p&技术报告的伟大之处在于它不需要“引言”,你们都知道我们写这个的目的对吧,所以这段“引言”可以作为你阅读的一个指引。首先我们会告诉你YOLOv3的更新情况,其次我们会展示更新的方法以及一些失败的尝试,最后就是对这轮更新的意义的总结。&/p&&h2&&b&2.更新&/b&&/h2&&p&谈到YOLOv3的更新情况,其实大多数时候我们就是直接把别人的好点子拿来用了。我们还训练了一个全新的、比其他网络更好的分类网络。为了方便你理解,让我们从头开始慢慢介绍。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-a5aaba6c8cda_b.jpg& data-size=&normal& data-rawwidth=&612& data-rawheight=&353& class=&origin_image zh-lightbox-thumb& width=&612& data-original=&https://pic2.zhimg.com/v2-a5aaba6c8cda_r.jpg&&&figcaption&图1 YOLOv3的运行速度明显快于其他具有可比性能的检测工具[7]&/figcaption&&/figure&&p&&b&2.1边界框预测&/b&&/p&&p&在YOLO9000后,我们的系统开始用dimension clusters固定anchor box来选定边界框。神经网络会为每个边界框预测4个坐标:tx、ty、tw、th。如果目标cell距离图像左上角的边距是(cx, cy),且它对应边界框的宽和高为pw、ph,那么网络的预测值会是:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-3ed0bcd4f6a93f79c2f3fc6ab24f5a82_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&624& data-rawheight=&298& class=&origin_image zh-lightbox-thumb& width=&624& data-original=&https://pic3.zhimg.com/v2-3ed0bcd4f6a93f79c2f3fc6ab24f5a82_r.jpg&&&/figure&&p&在训练期间,我们会计算方差。如果预测坐标的ground truth是t^*,那相应的梯度就是ground truth值和预测值的差:t&i&^*&/i&-t*。利用上述公式,我们能轻松推出这个结论。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-fb1de98b79b463e2d04bcd8768a9bea3_b.jpg& data-size=&normal& data-rawwidth=&848& data-rawheight=&588& class=&origin_image zh-lightbox-thumb& width=&848& data-original=&https://pic4.zhimg.com/v2-fb1de98b79b463e2d04bcd8768a9bea3_r.jpg&&&figcaption&图2 带有维度先验和位置预测的边界框[13]&/figcaption&&/figure&&p&YOLOv3用逻辑回归预测每个边界框的objectness score。如果当前预测的边界框比之前的更好地与ground truth对象重合,那它的分数就是1。如果当前的预测不是最好的,但它和ground truth对象重合到了一定阈值以上,神经网络会忽视这个预测[15]。我们使用的阈值是.5。与[15]不同,我们的系统只为每个ground truth对象分配一个边界框。如果先前的边界框并未分配给相应对象,那它只是检测错了对象,而不会对坐标或分类预测造成影响。&/p&&p&&b&2.2分类预测&/b&&/p&&p&每个边界框都会使用多标记分类来预测框中可能包含的类。我们不用softmax,而是用单独的逻辑分类器,因为我们发现前者对于提升网络性能没什么用。在训练过程中,我们用二元交叉熵损失来预测类别。&/p&&p&这个选择有助于我们把YOLO用于更复杂的领域,如开放的图像数据集[5]。这个数据集中包含了大量重叠的标签(如女性和人)。如果我们用的是softmax,它会强加一个假设,使得每个框只包含一个类别。但通常情况下这样做是不妥的,相比之下,多标记的分类方法能更好地模拟数据。&/p&&p&&b&2.3跨尺寸预测&/b&&/p&&p&YOLOv3提供了3种尺寸不一的边界框。我们的系统用相似的概念提取这些尺寸的特征,以形成金字塔形网络[6]。我们在基本特征提取器中增加了几个卷积层,并用最后的卷积层预测一个三维张量编码:边界框、框中目标和分类预测。在COCO数据集实验中,我们的神经网络分别为每种尺寸各预测了3个边界框,所以得到的张量是N ×N ×[3*(4+ 1+ 80)],其中包含4个边界框offset、1个目标预测以及80种分类预测。&/p&&p&接着,我们从前两个图层中得到特征图,并对它进行2次上采样。再从网络更早的图层中获得特征图,用element-wise把高低两种分辨率的特征图连接到一起。这样做能使我们找到早期特征映射中的上采样特征和细粒度特征,并获得更有意义的语义信息。之后,我们添加几个卷积层来处理这个特征映射组合,并最终预测出一个相似的、大小是原先两倍的张量。&/p&&p&我们用同样的网络设计来预测边界框的最终尺寸,这个过程其实也有助于分类预测,因为我们可以从早期图像中筛选出更精细的特征。&/p&&p&和上一版一样,YOLOv3使用的聚类方法还是K-Means,它能用来确定边界框的先验。在实验中,我们选择了9个聚类和3个尺寸,然后在不同尺寸的边界框上均匀分割维度聚类。在COCO数据集上,这9个聚类分别是:(10×13)、(16×30)、(33×23)、(30×61)、(62×45)、(59×119)、(116 × 90)、(156 × 198)、(373 × 326)。&/p&&p&&b&2.4特征提取器&/b&&/p&&p&这次我们用了一个新的网络来提取特征,它融合了YOLOv2、Darknet-19以及其他新型残差网络,由连续的3×3和1×1卷积层组合而成,当然,其中也添加了一些shortcut connection,整体体量也更大。因为一共有53个卷积层,所以我们称它为……别急哦…… &b&Darknet-53&/b&!&/p&&figure&&img src=&https://pic2.zhimg.com/v2-e826eaedcd5d068cfb3f3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&462& data-rawheight=&692& class=&origin_image zh-lightbox-thumb& width=&462& data-original=&https://pic2.zhimg.com/v2-e826eaedcd5d068cfb3f3_r.jpg&&&/figure&&p&这个新型网络在性能上远超Darknet-19,但在效率上同样优于ResNet-101和ResNet-152。下表是在ImageNet上的实验结果:&/p&&figure&&img src=&https://pic2.zhimg.com/v2-4af97e1d32e6ed50c57eec_b.jpg& data-size=&normal& data-rawwidth=&604& data-rawheight=&156& class=&origin_image zh-lightbox-thumb& width=&604& data-original=&https://pic2.zhimg.com/v2-4af97e1d32e6ed50c57eec_r.jpg&&&figcaption&表2 各框架的比较&/figcaption&&/figure&&p&每个网络都使用相同的设置进行训练,输入256×256的图片,并进行单精度测试。运行环境为Titan X。我们得出的结论是Darknet-53在精度上可以与最先进的分类器相媲美,同时它的浮点运算更少,速度也更快。和ResNet-101相比,Darknet-53的速度是前者的1.5倍;而ResNet-152和它性能相似,但用时却是它的2倍以上。&/p&&p&Darknet-53也可以实现每秒最高的测量浮点运算。这意味着网络结构可以更好地利用GPU,使其预测效率更高,速度更快。这主要是因为ResNets的层数太多,效率不高。&/p&&p&&b&2.5训练&/b&&/p&&p&我们只是输入完整的图像,并没有做其他处理。实验过程中涉及的多尺寸训练、大量数据增强和batch normalization等操作均符合标准。模型训练和测试的框架是Darknet神经网络。&/p&&h2&&b&3.我们做了什么&/b&&/h2&&p&YOLOv3的表现非常好!请参见表3,就COCO奇怪的平均mAP成绩而言,它与SSD变体相当,但速度提高了3倍。尽管如此,它仍然比像RetinaNet这样的模型要差一点。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-daca6ef49b003d7_b.jpg& data-size=&normal& data-rawwidth=&910& data-rawheight=&325& class=&origin_image zh-lightbox-thumb& width=&910& data-original=&https://pic4.zhimg.com/v2-daca6ef49b003d7_r.jpg&&&figcaption&表3 我很认真地又从[7]那儿偷来这些数据&/figcaption&&/figure&&p&如果仔细看这个表,我们可以发现在IOU=.5(即表中的AP50)时,YOLOv3非常强大。它几乎与RetinaNet相当,并且远高于SSD变体。这就证明了它其实是一款非常灵活的检测器,擅长为检测对象生成合适的边界框。然而,随着IOU阈值增加,YOLOv3的性能开始同步下降,这时它预测的边界框就不能做到完美对齐了。&/p&&p&在过去,YOLO一直被用于小型对象检测。但现在我们可以预见其中的演变趋势,随着新的多尺寸预测功能上线,YOLOv3将具备更高的APS性能。但是它目前在中等尺寸或大尺寸物体上的表现还相对较差,仍需进一步的完善。&/p&&p&当我们基于AP50指标绘制精度和速度时(见图3),我们发现YOLOv3与其他检测系统相比具有显着优势。也就是说,它的速度正在越来越快。&/p&&h2&&b&4.失败的尝试&/b&&/h2&&p&我们在研究YOLOv3时尝试了很多东西,以下是我们还记得的一些失败案例。&/p&&p&&b&Anchor box坐标的偏移预测。&/b&我们尝试了常规的Anchor box预测方法,比如利用线性激活将坐标x、y的偏移程度预测为边界框宽度或高度的倍数。但我们发现这种做法降低了模型的稳定性,且效果不佳。&/p&&p&&b&用线性方法预测x,y,而不是使用逻辑方法。&/b&我们尝试使用线性激活来直接预测x,y的offset,而不是逻辑激活。这降低了mAP成绩。&/p&&p&&b&focal loss。&/b&我们尝试使用focal loss,但它使我们的mAP降低了2点。 对于focal loss函数试图解决的问题,YOLOv3从理论上来说已经很强大了,因为它具有单独的对象预测和条件类别预测。因此,对于大多数例子来说,类别预测没有损失?或者其他的东西?我们并不完全确定。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-1ec74d9eaeaeba5b93dbe0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&902& data-rawheight=&553& class=&origin_image zh-lightbox-thumb& width=&902& data-original=&https://pic4.zhimg.com/v2-1ec74d9eaeaeba5b93dbe0_r.jpg&&&/figure&&p&&b&双IOU阈值和真值分配。&/b&在训练期间,Faster RCNN用了两个IOU阈值,如果预测的边框与.7的ground truth重合,那它是个正面的结果;如果在[.3—.7]之间,则忽略;如果和.3的ground truth重合,那它就是个负面的结果。我们尝试了这种思路,但效果并不好。&/p&&p&我们对现在的更新状况很满意,它看起来已经是最佳状态。有些技术可能会产生更好的结果,但我们还需要对它们做一些调整来稳定训练。&/p&&h2&&b&5.更新的意义&/b&&/h2&&p&YOLOv3是一个很好的检测器,它速度快,精度又高。虽然基于.3和.95的新指标,它在COCO上的成绩不如人意,但对于旧的检测指标.5 IOU,它还是非常不错的。&/p&&p&所以为什么我们要改变指标呢?最初的COCO论文里只有这样一句含糊其词的话:一旦评估完成,就会生成评估指标结果。Russakovsky等人曾经有一份报告,说人类很难区分.3与.5的IOU:“训练人们用肉眼区别IOU值为0.3的边界框和0.5的边界框是一件非常困难的事”。[16]如果人类都难以区分这种差异,那这个指标有多重要?&/p&&p&但也许更好的一个问题是:现在我们有了这些检测器,我们能用它们来干嘛?很多从事这方面研究的人都受雇于Google和Facebook,我想至少我们知道如果这项技术发展得完善,那他们绝对不会把它用来收集你的个人信息然后卖给……等等,你把事实说出来了!!哦哦。&/p&&p&那么其他巨资资助计算机视觉研究的人还有军方,他们从来没有做过任何可怕的事情,比如用新技术杀死很多人……呸呸呸&/p&&p&我有很多希望!我希望大多数人会把计算机视觉技术用于快乐的、幸福的事情上,比如计算国家公园里斑马的数量[11],或者追踪小区附近到底有多少猫[17]。但是计算机视觉技术的应用已经步入歧途了,作为研究人员,我们有责任思考自己的工作可能带给社会的危害,并考虑怎么减轻这种危害。我们非常珍惜这个世界。&/p&&p&最后,不要在Twitter上@我,我已经弃坑了!!!!&/p&&p&(不听不听不听,论智给你开个传送门:&a href=&https://link.zhihu.com/?target=https%3A//twitter.com/pjreddie%3Flang%3Dzh-cn& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&twitter.com/pjreddie?&/span&&span class=&invisible&&lang=zh-cn&/span&&span class=&ellipsis&&&/span&&/a&)&/p&&h2&&b&彩蛋&/b&&/h2&&p&偷偷告诉你哦,那个一作Joseph Redmon,他的简历长这样~&/p&&figure&&img src=&https://pic7.zhimg.com/v2-8d1e6a847ce72fc6ec20_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&655& data-rawheight=&844& class=&origin_image zh-lightbox-thumb& width=&655& data-original=&https://pic7.zhimg.com/v2-8d1e6a847ce72fc6ec20_r.jpg&&&/figure&&p&但他本人实际上长这样哦~&/p&&figure&&img src=&https://pic1.zhimg.com/v2-dd548a9ac5edd2f340826e_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&608& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-dd548a9ac5edd2f340826e_r.jpg&&&/figure&&p&&b&Friendship is Magic!!!!!!!&/b&&/p&&h2&&b&参考文献&/b&&/h2&&p&[1] Analogy. Wikipedia, Mar 2018. 1&/p&&p&[2] C.-Y. Fu, W. Liu, A. Ranga, A. Tyagi, and A. C. Berg. Dssd: Deconvolutional single shot detector&/p&&p&[3] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition.&/p&&p&[4] J. Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara, A. Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, et al. Speed/accuracy trade-offs for modern convolutional object&/p&&p&[5] I. Krasin, T. Duerig, N. Alldrin, V. Ferrari, S. Abu-El-Haija, A. Kuznetsova, H. Rom, J. Uijlings, S. Popov, A. Veit, S. Belongie, V. Gomes, A. Gupta, C. Sun, G. Chechik, D. Cai, Z. Feng, D. Narayanan, and K. Murphy. Openimages: A public dataset for large-scale multi-label and multi-class image classification.&/p&&p&[6] T.-Y. Lin, P. Dollar, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages , &/p&&p&[7] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar. ?Focal loss for dense object detection.&/p&&p&[8] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. L. Zitnick. Microsoft coco: Common objects in context. In European conference on computer vision, pages 740–755. Springer, 2014.&/p&&p&[9] W. Liu, D. Anguelov, D. Erhan, C. Szegedy, S. Reed, C.Y. Fu, and A. C. Berg. Ssd: Single shot multibox detector. In European conference on computer vision, pages 21–37. Springer, 2016.&/p&&p&[10] I. Newton. Philosophiae naturalis principia mathematica. William Dawson & Sons Ltd., London, 1687.&/p&&p&[11] J. Parham, J. Crall, C. Stewart, T. Berger-Wolf, and D. Rubenstein. Animal population censusing at scale with citizen science and photographic identification. 2017.&/p&&p&[12] J. Redmon. Darknet: Open source neural networks in c&/p&&p&[13] J. Redmon and A. Farhadi. Yolo9000: Better, faster, stronger. In Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on, pages . IEEE, , 3&/p&&p&[14] J. Redmon and A. Farhadi. Yolov3: An incremental improvement. arXiv, 2018.&/p&&p&[15] S. Ren, K. He, R. Girshick, and J. Sun. Faster r-cnn: Towards real-time object detection with region proposal networks.&/p&&p&[16] O. Russakovsky, L.-J. Li, and L. Fei-Fei. Best of both worlds: human-machine collaboration for object annotation. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages , 2015.&/p&&p&[17] M. Scott. Smart camera gimbal bot scanlime:027, Dec 2017.&/p&&p&[18] A. Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Beyond skip connections: Top-down modulation for object detection.&/p&&p&[19] C. Szegedy, S. Ioffe, V. Vanhoucke, and A. A. Alemi. Inception-v4, inception-resnet and the impact of residual connections on learning. 2017.&/p&
编者按:尝试过用卷积神经网络做物体检测的同学想必都熟悉YOLO。继先后发了两篇“标题党”论文后,近日,华盛顿大学的Joseph Redmon和Ali Farhadi又来搞事情了。这次他们祭出的是一篇“奇文”:YOLOv3: An Incremental Improvement。这短小的篇幅、这诡异的…
&figure&&img src=&https://pic1.zhimg.com/v2-6b6db63d5ef05a93a69b_b.jpg& data-rawwidth=&960& data-rawheight=&630& class=&origin_image zh-lightbox-thumb& width=&960& data-original=&https://pic1.zhimg.com/v2-6b6db63d5ef05a93a69b_r.jpg&&&/figure&&blockquote&你肯定很少见到这样的论文,全文像闲聊一样,不愧是 YOLO 的发明者。物体检测领域的经典论文 YOLO(You Only Look Once)的两位作者,华盛顿大学的 Joseph Redmon 和 Ali Farhadi 最新提出了 YOLO 的第三版改进 YOLO v3,一系列设计改进,使得新模型性能更好,速度更快。达到相似的性能时,相比 SSD,速度提高 3 倍;相比 RetinaNet,速度提高 3.8 倍。&/blockquote&&p&&br&&/p&&p&&b&代码地址:&/b&&a href=&https://link.zhihu.com/?target=https%3A//pjreddie.com/yolo/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pjreddie.com/yolo/&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&b&论文地址:&/b&&a href=&https://link.zhihu.com/?target=https%3A//pjreddie.com/media/files/papers/YOLOv3.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pjreddie.com/media/file&/span&&span class=&invisible&&s/papers/YOLOv3.pdf&/span&&span class=&ellipsis&&&/span&&/a&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-272b56d09_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&720& data-rawheight=&400& class=&origin_image zh-lightbox-thumb& width=&720& data-original=&https://pic1.zhimg.com/v2-272b56d09_r.jpg&&&/figure&&p&&br&&/p&&blockquote&我今年没怎么做研究。我花了很多时间玩 Twitter。玩了一下 GAN。我去年留下了一些工作 [10] [1]; 我设法对 YOLO 进行了一些改进。但是,说实话,不是什么超级有趣的工作,只是做了一系列更新,使它变得更好。我也有帮其他人做了一些研究。&/blockquote&&p&没有错,你看的确实是一篇论文的开头。&/p&&p&今天,新智元为你带来一篇不走寻常路的工作,计算机视觉经典模型 YOLO 作者的更新。&/p&&p&不只是开头,整片文章到处都嵌入诙谐,在结尾处还不忘告诉读者,不要 @他。&/p&&blockquote&放心,大多数研究计算机视觉的人都只是做点令人愉快的、好的事情,比如计算国家公园里斑马的数量 [11],或者追踪溜进他们院子时的猫 [17]。但是计算机视觉已经被用于被质疑的使用,作为研究人员,我们有责任至少思考一下我们的工作可能造成的损害,并思考如何减轻这种损害。我们非常珍惜这个世界。&/blockquote&&p&这是两位有趣的家伙写的有趣的论文。&/p&&p&那么,在作者沉浸 Twitter 的一年里,他们对 YOLO 做了哪些更新呢?&/p&&figure&&img src=&https://pic1.zhimg.com/v2-2c74c06c79144eba4adc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&516& data-rawheight=&352& class=&origin_image zh-lightbox-thumb& width=&516& data-original=&https://pic1.zhimg.com/v2-2c74c06c79144eba4adc_r.jpg&&&/figure&&blockquote&我们对 YOLO 进行了一些更新!我们做了一些小设计,使它的表现更好。我们还对这个新网络进行了训练。更新版的 YOLO 网络比上一版本稍大,但更准确。它的速度也还是很快,这点不用担心。在 320 × 320 下,YOLOv3 以 22.2 mAP 在 22 ms 运行完成,达到与 SSD 一样的精确度,但速度提高了 3 倍。与上个版本的 0.5 IOU mAP 检测指标相比,YOLOv3 的性能是相当不错的。在 Titan X 上,它在 51 ms 内达到 57.9 AP50,而 RetinaNet 达到 57.5 AP50 需要 198 ms,性能相似,但速度提升 3.8 倍。&/blockquote&&p&所有代码都在以下网址提供:&a href=&https://link.zhihu.com/?target=https%3A//pjreddie.com/yolo/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&https://&/span&&span class=&visible&&pjreddie.com/yolo/&/span&&span class=&invisible&&&/span&&/a&&/p&&p&&br&&/p&&p&DEMO 视频:&/p&&a class=&video-box& href=&https://link.zhihu.com/?target=https%3A//www.zhihu.com/video/570112& target=&_blank& data-video-id=&& data-video-playable=&true& data-name=&& data-poster=&https://pic4.zhimg.com/80/v2-b2d8c6a25ee50cb9a0a3_b.jpg& data-lens-id=&570112&&
&img class=&thumbnail& src=&https://pic4.zhimg.com/80/v2-b2d8c6a25ee50cb9a0a3_b.jpg&&&span class=&content&&
&span class=&title&&&span class=&z-ico-extern-gray&&&/span&&span class=&z-ico-extern-blue&&&/span&&/span&
&span class=&url&&&span class=&z-ico-video&&&/span&https://www.zhihu.com/video/570112&/span&
&p&&br&&/p&&h2&&b&简介&/b&&/h2&&p&我今年没怎么做研究。我花了很多时间玩 Twitter。玩了一下 GAN。我去年留下了一些工作 [10] [1]; 我设法对 YOLO 进行了一些改进。但是,说实话,不是什么超级有趣的工作,只是做了一系列更新,使它变得更好。我也有帮其他人做了一些研究。 &/p&&p&这篇文章接下来将介绍 YOLOv3,然后我会告诉你我们是怎么做的。我还会写一下我们尝试过但失败了的操作。最后,我们将思考这一切意味着什么。&/p&&p&&br&&/p&&h2&&b&YOLOv3&/b&&/h2&&p&关于 YOLOv3:我们主要是从其他人那里获得好点子。我们还训练了一个更好的新的分类网络。本文将从头开始介绍整个系统,以便大家理解。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-6cbba2a0678357_b.jpg& data-size=&normal& data-rawwidth=&642& data-rawheight=&375& class=&origin_image zh-lightbox-thumb& width=&642& data-original=&https://pic1.zhimg.com/v2-6cbba2a0678357_r.jpg&&&figcaption&图 1:这张图是从 Focal Loss 论文 [7] 拿来并修改的。 YOLOv3 的运行速度明显快于其他性能相似的检测方法。运行时间来自 M40 或 Titan X,基本上用的是相同的 GPU。 &/figcaption&&/figure&&p&&br&&/p&&h2&&b&边界框预测&/b& &/h2&&p&在 YOLO9000 之后,我们的系统使用维度聚类(dimension cluster)作为 anchor box 来预测边界框 [13]。网络为每个边界框预测 4 个坐标, &img src=&https://www.zhihu.com/equation?tex=t_x& alt=&t_x& eeimg=&1&& , &img src=&https://www.zhihu.com/equation?tex=t_y& alt=&t_y& eeimg=&1&& , &img src=&https://www.zhihu.com/equation?tex=t_w& alt=&t_w& eeimg=&1&& , &img src=&https://www.zhihu.com/equation?tex=t_h& alt=&t_h& eeimg=&1&& 。如果单元格从图像的左上角偏移了 &img src=&https://www.zhihu.com/equation?tex=%28c_x%2C+c_y%29& alt=&(c_x, c_y)& eeimg=&1&& ,并且之前的边界框具有宽度 &img src=&https://www.zhihu.com/equation?tex=p_w& alt=&p_w& eeimg=&1&& 和高度 &img src=&https://www.zhihu.com/equation?tex=p_h& alt=&p_h& eeimg=&1&& ,则预测对应以下等式:&/p&&figure&&img src=&https://pic3.zhimg.com/v2-26d950b7cea9f85f97a0f4ece776b581_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&232& data-rawheight=&120& class=&content_image& width=&232&&&/figure&&p&在训练期间,我们使用平方误差损失的和。如果一些坐标预测的 ground truth 是&/p&&figure&&img src=&https://pic1.zhimg.com/v2-380b45ff96edf0b978cb5b946c3ade35_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&19& data-rawheight=&24& class=&content_image& width=&19&&&/figure&&p&梯度就是 ground truth 值(从 ground truth box 计算出来)减去预测,即: &/p&&figure&&img src=&https://pic3.zhimg.com/v2-ef12c70e7c3b0ff926ef9152eaf93d25_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&57& data-rawheight=&25& class=&content_image& width=&57&&&/figure&&p&通过翻转上面的方程可以很容易地计算出这个 ground truth 值。&/p&&p&&br&&/p&&p&YOLOv3 使用逻辑回归来预测每个边界框的 objectness score。如果边界框比之前的任何其他边界框都要与 ground truth 的对象重叠,则该值应该为 1。如果先前的边界框不是最好的,但确实与 ground truth 对象重叠超过某个阈值,我们会忽略该预测,如 Faster R-CNN 一样 [15]。我们使用. 5 作为阈值。 但与[15] 不同的是,我们的系统只为每个 ground truth 对象分配一个边界框。如果先前的边界框未分配给一个 ground truth 对象,则不会对坐标或类别预测造成损失,只会导致 objectness。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-1a1fb14bba9_b.jpg& data-size=&normal& data-rawwidth=&483& data-rawheight=&338& class=&origin_image zh-lightbox-thumb& width=&483& data-original=&https://pic2.zhimg.com/v2-1a1fb14bba9_r.jpg&&&figcaption&图 2: 具有 dimension priors 和 location prediction 的边界框。我们预测了框的宽度和高度,作为 cluster centroids 的偏移量。我们使用 sigmoid 函数预测相对于滤波器应用位置的边界框的中心坐标。这个图是从 YOLO9000 论文 [13] 拿来的。 &/figcaption&&/figure&&p&&br&&/p&&h2&&b&类别预测&/b&&/h2&&p&每个框使用多标签分类来预测边界框可能包含的类。我们不使用 softmax,因为我们发现它对于性能没有影响,而是只是使用独立的逻辑分类器。在训练过程中,我们使用二元交叉熵损失来进行类别预测。&/p&&p&这个公式有助于我们转向更复杂的领域,如 Open Images 数据集 [5]。在这个数据集中有许多重叠的标签(例如,Woman 和 Person)。可以使用 softmax 强加一个假设,即每个 box 只包含一个类别,但通常情况并非如此。多标签方法可以更好地模拟数据。&/p&&p&&br&&/p&&h2&&b&不同尺度的预测&/b&&/h2&&p&YOLOv3 可以预测 3 种不同尺度的 box。我们的系统使用一个特征金字塔网络 [6] 来提取这些尺度的特征。在基本特征提取器中,我们添加了几个卷积层。其中最后一层预测三维 tensor 编码的边界框,objectness 和类别预测。我们在 COCO[8]数据集的实验中,每个尺度预测 3 个 box,因此 tensor 为 N×N×[3 *(4 + 1 + 80)],4 个边界框 offset,1 objectness 预测,以及 80 个类别预测。&/p&&p&接下来,我们从之前的 2 个层中取得特征图,并对其进行 2 倍上采样。我们还从网络获取特征图,并使用 element-wise 添加将其与我们的上采样特征进行合并。这种方法使我们能够从上采样的特征和早期特征映射的细粒度信息中获得更有意义的语义信息。然后,我们再添加几个卷积层来处理这个组合的特征图,并最终预测出一个相似的 Tensor,虽然现在它的大小已经增大两倍。&/p&&p&我们再次执行相同的设计来对最终的 scale 预测 box。因此,我们对第 3 个 scale 的预测将从所有之前的计算中获益,并从早期的网络中获得精细的特征。&/p&&p&我们仍然使用 k-means 聚类来确定 bounding box priors。我们只是选择了 9 个 clusters 和 3 个 scales,然后在整个 scales 上均匀分割 clusters。在 COCO 数据集上,9 个 cluster 分别为(10×13),(16×30),(33×23),(30×61),(62×45),(59×119),(116×90) ,(156×198),(373×326)。&/p&&p&&br&&/p&&h2&&b&特征提取器&/b&&/h2&&p&我们使用一个新的网络来执行特征提取。该新网络是用于 YOLOv2,Darknet-19 的网络和更新的残差网络的混合方法。我们的网络使用连续的 3×3 和 1×1 卷积层,但现在也有一些 shortcut 连接,并且网络的大小显著更大。它有 53 个卷积层,所以我们称之为...... &b&Darknet-53&/b&!&/p&&figure&&img src=&https://pic2.zhimg.com/v2-0f61e9ea7aff669e90b451_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&328& data-rawheight=&406& class=&content_image& width=&328&&&/figure&&p&这个新网络比 Darknet19 强大得多,而且比 ResNet-101 或 ResNet-152 更高效。以下是在 ImageNet 上的结果: &/p&&figure&&img src=&https://pic1.zhimg.com/v2-d13d06fb1cde2a0665aa8_b.jpg& data-size=&normal& data-rawwidth=&484& data-rawheight=&134& class=&origin_image zh-lightbox-thumb& width=&484& data-original=&https://pic1.zhimg.com/v2-d13d06fb1cde2a0665aa8_r.jpg&&&figcaption&图 2: 具有 dimension priors 和 location prediction 的边界框。我们预测了框的宽度和高度,作为 cluster centroids 的偏移量。我们使用 sigmoid 函数预测相对于滤波器应用位置的边界框的中心坐标。这个图是从 YOLO9000 论文 [13] 拿来的。 &/figcaption&&/figure&&p&每个网络都使用相同的设置进行训练,并在 256×256 的单精度进行测试。Runtime 是在 Titan X 上以 256×256 进行测量的。可以看到,Darknet-53 可与最先进的分类器相媲美,但浮点运算更少,速度更快。Darknet-53 比 ResNet-101 性能更好,而且速度快 1.5 倍。Darknet-53 与 ResNet-152 具有相似的性能,速度提高 2 倍。&/p&&p&Darknet-53 也可以实现每秒最高的测量浮点运算。这意味着网络结构可以更好地利用 GPU,从而使其评估效率更高,速度更快。这主要是因为 ResNets 的层数太多,效率不高。&/p&&p&&br&&/p&&h2&&b&训练&/b&
&/h2&&p&我们仍然用完整的图像进行训练。我们使用不同 scale 进行训练,使用大量的数据增强,批规范化,等等。我们使用 Darknet 神经网络框架进行训练和测试 [12]。&/p&&p&&br&&/p&&h2&&b&具体做法和结果&/b&&/h2&&p&&b&YOLOv3 的表现非常好!&/b&请参见表 3。就 COCO 奇怪的平均 mean AP 指标而言,它与 SSD 的变体性能相当,但速度提高了 3 倍。不过,它仍比 RetinaNet 模型差一些。&/p&&p&当时,以 mAP 的 “旧” 检测指标比较时,当 IOU = 0.5(或表中的 AP50)时,YOLOv3 非常强大。它的性能几乎与 RetinaNet 相当,并且远高于 SSD 的变体。这表明 YOLOv3 是一个非常强大的对象检测网络。不过,随着 IOU 阈值增大,YOLOv3 的性能下降,使边界框与物体完美对齐的效果不那么好。&/p&&p&过去,YOLO 不擅长检测较小的物体。但是,现在我们看到了这种情况已经改变。由于新的多尺度预测方法,我们看到 YOLOv3 具有相对较高的 APS 性能。但是,它在中等尺寸和更大尺寸的物体上的表现相对较差。&/p&&p&当用 AP50 指标表示精确度和速度时(见图 3),可以看到 YOLOv3 与其他检测系统相比具有显着的优势。&b&也就是说,YOLOv3 更快、而且更好。&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-7b823f00bfd7dd144012_b.jpg& data-size=&normal& data-rawwidth=&621& data-rawheight=&387& class=&origin_image zh-lightbox-thumb& width=&621& data-original=&https://pic1.zhimg.com/v2-7b823f00bfd7dd144012_r.jpg&&&figcaption&图 3&/figcaption&&/figure&&h2&&b&一些试了没用的方法&/b&&/h2&&p&我们在研究 YOLOv3 时尝试了很多方法。很多都不起作用。这些可以了解一下。&/p&&ul&&li&&b&Anchor box x,y 偏移量预测。&/b&我们尝试使用常规的 anchor box 预测机制,可以使用线性激活将 x,y 的偏移预测为 box 的宽度或高度的倍数。我们发现这种方法降低了模型的稳定性,并且效果不佳。&/li&&li&&b&线性 x,y 预测,而不是逻辑预测。&/b&我们尝试使用线性激活来直接预测 x,y 的偏移,而不是用逻辑激活。这导致了 MAP 的下降。&/li&&li&&b&Focal loss。&/b&我们尝试使用 Focal loss。这一方法使 mAP 降低了 2 点左右。YOLOv3 对 Focal loss 解决的问题可能已经很强健,因为它具有单独的对象预测和条件类别预测。因此,对于大多数例子来说,类别预测没有损失?或者其他原因?这点还不完全确定。&/li&&/ul&&figure&&img src=&https://pic2.zhimg.com/v2-9e38bef823b_b.jpg& data-size=&normal& data-rawwidth=&625& data-rawheight=&215& class=&origin_image zh-lightbox-thumb& width=&625& data-original=&https://pic2.zhimg.com/v2-9e38bef823b_r.jpg&&&figcaption&表 3:再次,这张图来自论文 [7],稍作了调整。这里显示的速度 / 准确度在 mAP 上以 0.5 IOU 度量进行折衷。你可以看到,YOLOv3 很厉害,因为它非常高,而且离左轴远。&/figcaption&&/figure&&p&双 IOU 阈值和 truth 分配。 Faster
RCNN 在训练期间使用两个 IOU 阈值。如果一个预测与. 7 的 ground truth 重叠,它就是一个正面的例子,[.3-.7] 它被忽略。如果对于所有 ground truth 对象,它都小于. 3,这就是一个负面的例子。我们尝试了类似的策略,但无法取得好的结果。&/p&&p&&br&&/p&&h2&&b&这一切意味着什么&/b&&/h2&&p&YOLOv3 是一个很好的检测器。速度很快,而且很准确。在 COCO 上,平均 AP 介于 0.5 和 0.95 IOU 时,准确度不是很好。但是,对于 0.5 IOU 这个指标来说,YOLOv3 非常好。&/p&&p&为什么我们要改变指标?原始的 COCO 论文上只有这样一句含糊不清的句子:“一旦评估服务器完成,我们会添加不同评估指标的完整讨论”。Russakovsky 等人在论文中说,人类很难区分 0.3 与 0.5 的 IOU。“人们目测检查一个 IOU 值为 0.3 的边界框,并将它与 IOU 0.5 的区分开来,这是非常困难的事情。”[16] 如果人类都很难区分这种差异,那么它就没有那么重要。&/p&&p&也许更值得思考的问题是:“现在我们有了这些检测器,我们拿它们来做什么?” 很多做这类研究的人都在 Google 或 Facebook 工作。我想至少我们已经知道这项技术已经被掌握得很好了,绝对不会用来收集你的个人信息并将其出售给.... 等等,你说这正是它的目的用途?Oh.&/p&&p&放心,大多数研究计算机视觉的人都只是做点令人愉快的、好的事情,比如计算国家公园里斑马的数量 [11],或者追踪溜进他们院子时的猫 [17]。但是计算机视觉已经被用于被质疑的使用,作为研究人员,我们有责任至少思考一下我们的工作可能造成的损害,并思考如何减轻这种损害。我们非常珍惜这个世界。&/p&&p&最后,不要 @我。(因为我终于放弃 Twitter 了)。&/p&&p&&br&&/p&&p&(reference见原论文)&/p&&hr&&p&【&b&2018&/b& 新智元&b& AI&/b& 技术峰会倒计时 &b&2 &/b&天】&/p&&p&查看嘉宾与日程&/p&&p&峰会门票火热抢购,抢票链接:&/p&&a href=&https://link.zhihu.com/?target=http%3A//www.huodongxing.com/event/0& data-draft-node=&block& data-draft-type=&link-card& data-image=&https://pic2.zhimg.com/v2-908a6d2ba0d_180x120.jpg& data-image-width=&540& data-image-height=&320& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&2018新智元AI技术峰会--产业.跃迁&/a&&figure&&img src=&https://pic1.zhimg.com/v2-bf6e8f1f40a97a894000aee_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1080& data-rawheight=&1800& class=&origin_image zh-lightbox-thumb& width=&1080& data-original=&https://pic1.zhimg.com/v2-bf6e8f1f40a97a894000aee_r.jpg&&&/figure&&p&&/p&
你肯定很少见到这样的论文,全文像闲聊一样,不愧是 YOLO 的发明者。物体检测领域的经典论文 YOLO(You Only Look Once)的两位作者,华盛顿大学的 Joseph Redmon 和 Ali Farhadi 最新提出了 YOLO 的第三版改进 YOLO v3,一系列设计改进,使得新模型性能更…
&figure&&img src=&https://pic1.zhimg.com/v2-1f4492ee4dbf168bdd2fab_b.jpg& data-rawwidth=&1500& data-rawheight=&654& class=&origin_image zh-lightbox-thumb& width=&1500& data-original=&https://pic1.zhimg.com/v2-1f4492ee4dbf168bdd2fab_r.jpg&&&/figure&&blockquote&来自于我的博客:&a href=&https://link.zhihu.com/?target=https%3A//www.davex.pw//overview-of-object-detection/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&基于深度学习的「目标检测」算法综述&/a&&/blockquote&&p&目标检测一直是计算机视觉的基础问题,在 2010 年左右就开始停滞不前了。自 2013 年一篇论文的发表,目标检测从原始的传统手工提取特征方法变成了基于卷积神经网络的特征提取,从此一发不可收拾。&/p&&p&本文将跟着历史的潮流,简要地探讨「目标检测」算法的两种思想和这些思想引申出的算法,主要涉及那些主流算法,no bells and whistles.&/p&&h2&&b&概述 Overview&/b&&/h2&&p&在深度学习正式介入之前,传统的「目标检测」方法都是 &code&区域选择&/code&、&code&提取特征&/code&、&code&分类回归&/code& 三部曲,这样就有两个难以解决的问题;其一是区域选择的策略效果差、时间复杂度高;其二是手工提取的特征鲁棒性较差。&/p&&p&云计算时代来临后,「目标检测」算法大家族主要划分为两大派系,一个是 &code&R-CNN&/code& 系两刀流,另一个则是以 &code&YOLO&/code& 为代表的一刀流派。下面分别解释一下 &code&两刀流&/code& 和 &code&一刀流&/code&。&/p&&h2&&b&两刀流&/b&&/h2&&p&顾名思义,两刀解决问题:&/p&&p&1、生成可能区域(Region Proposal) & CNN 提取特征&br&2、放入分类器分类并修正位置&/p&&p&这一流派的算法都离不开 &code&Region Proposal&/code& ,即是优点也是缺点,主要代表人物就是 &code&R-CNN&/code& 系。&/p&&h2&&b&一刀流&/b&&/h2&&p&顾名思义,一刀解决问题,直接对&b&预测的目标物体进行回归&/b&。&br&回归解决问题简单快速,但是太粗暴了,主要代表人物是 &code&YOLO&/code& 和 &code&SSD&/code& 。&/p&&hr&&p&无论 &code&两刀流&/code& 还是 &code&一刀流&/code&,他们都是在同一个天平下选取一个平衡点、或者选取一个极端—— 要么准,要么快。&/p&&p&两刀流的天平&b&主要倾向&/b&准,&br&一刀流的天平&b&主要倾向&/b&快。&/p&&p&但最后万剑归宗,大家也找到了自己的平衡,平衡点的有略微的不同。&/p&&p&接下来我们花开两朵各表一支,一朵 &code&两刀流&/code& 的前世今生,另一朵 &code&一刀流&/code& 的发展历史。&/p&&h2&&b&两刀流 R-CNN&/b&&/h2&&p&R-CNN 其实是一个很大的家族,自从 rbg 大神发表那篇论文,子孙无数、桃李满天下。在此,我们只探讨 R-CNN 直系亲属,他们的发展顺序如下:&/p&&p&&b&R-CNN -& SPP Net -& Fast R-CNN -& Faster R-CNN -& Mask R-CNN&/b&&/p&&p&其实说句良心话,最佩服的并不是 rbg 大神,而是&b&提出了 SPP Net 的以何恺明为主的作者们&/b&。&br&他们在整个家族进化的过程中,一致暗埋了一条主线:&b&充分榨干 feature maps 的价值&/b&。&/p&&h2&&b&R-CNN / 2013&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Rich feature hierarchies for accurate object detection and semantic segmentation&/a&&/p&&p&这篇论文,这个模型,是利用卷积神经网络来做「目标检测」的&b&开山之作&/b&,其意义深远不言而喻。&/p&&p&&br&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-eba6cba8f44f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1226& data-rawheight=&438& class=&origin_image zh-lightbox-thumb& width=&1226& data-original=&https://pic3.zhimg.com/v2-eba6cba8f44f_r.jpg&&&/figure&&p&&br&&/p&&p&&b&解决问题一、速度&/b&&br&传统的区域选择使用滑窗,每滑一个窗口检测一次,相邻窗口信息重叠高,检测速度慢。R-CNN 使用一个启发式方法(Selective search),&b&先生成候选区域再检测,降低信息冗余程度&/b&,从而提高检测速度。&/p&&p&&b&解决问题二、特征提取&/b&&br&传统的手工提取特征鲁棒性差,限于如颜色、纹理等 &code&低层次&/code&(Low level)的特征。&/p&&p&该方法将 &code&PASCAL VOC&/code& 上的检测率从 35.1% 提升到 53.7% ,提高了好几个量级。虽然比传统方法好很多,但是从现在的眼光看,只能是&b&初窥门径&/b&。&/p&&h2&&b&SPP Net / 2014&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition&/a&&/p&&p&&code&R-CNN&/code& 提出后的一年,以何恺明、任少卿为首的团队提出了 &code&SPP Net&/code& ,这才是真正摸到了卷积神经网络的脉络。也不奇怪,毕竟这些人鼓捣出了 &code&ResNet&/code& 残差网络,对神经网络的理解是其他人没法比的。&/p&&p&尽管 R-CNN 效果不错,但是他还有两个硬伤:&/p&&p&&b&硬伤一、算力冗余&/b&&br&先生成候选区域,再对区域进行卷积,这里有两个问题:其一是候选区域会有一定程度的重叠,对相同区域进行重复卷积;其二是每个区域进行新的卷积需要新的存储空间。&/p&&p&何恺明等人意识到这个可以优化,于是把&b&先生成候选区域再卷积&/b&,变成了&b&先卷积后生成区域&/b&。“简单地”改变顺序,不仅减少存储量而且加快了训练速度。&/p&&p&&b&硬伤二、图片缩放&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-3b8d6d2ff3da65cc9416015_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1492& data-rawheight=&868& class=&origin_image zh-lightbox-thumb& width=&1492& data-original=&https://pic3.zhimg.com/v2-3b8d6d2ff3da65cc9416015_r.jpg&&&/figure&&p&无论是剪裁(Crop)还是缩放(Warp),在很大程度上会丢失图片原有的信息导致训练效果不好,如上图所示。直观的理解,把车剪裁成一个门,人看到这个门也不好判断整体是一辆车;把一座高塔缩放成一个胖胖的塔,人看到也没很大把握直接下结论。人都做不到,机器的难度就可想而知了。&/p&&figure&&img src=&https://pic2.zhimg.com/v2-0c0dfae71f25f5ac8f97edde_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&946& data-rawheight=&796& class=&origin_image zh-lightbox-thumb& width=&946& data-original=&https://pic2.zhimg.com/v2-0c0dfae71f25f5ac8f97edde_r.jpg&&&/figure&&p&何恺明等人发现了这个问题,于是思索有什么办法能不对图片进行变形,将图片原汁原味地输入进去学习。&/p&&p&最后他们发现问题的根源是 &code&FC Layer&/code&(全连接层)需要确定输入维度,于是他们在输入全连接层前定义一个特殊的池化层,将输入的任意尺度 &code&feature maps&/code& 组合成特定维度的输出,这个组合可以是不同大小的拼凑,如同拼凑七巧板般。&/p&&p&举个例子,我们要输入的维度 &img src=&https://www.zhihu.com/equation?tex=64%E2%88%%88%97256+& alt=&64* & eeimg=&1&& ,那么我们可以这样组合 &img src=&https://www.zhihu.com/equation?tex=32%E2%88%%E2%88%%E2%88%%E2%88%%88%%E2%88%%E2%88%%E2%88%97256& alt=&32*256+16*256+8*256+8**256+8*256+8*256& eeimg=&1&& 。&/p&&p&&code&SPP Net&/code& 的出现是如同一道惊雷,&b&不仅减少了计算冗余,更重要的是打破了固定尺寸输入这一束缚&/b&,让后来者享受到这一缕阳光。&/p&&p&&i&注:这个时候 FCN 还没有出现,FCN 是同年 11 月发表的,SPP Net 是 4 月发表的。&/i&&/p&&h2&&b&Fast R-CNN / 2015&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Fast R-CNN&/a&&/p&&p&此时,我们的 rbg 大哥也按耐不住了——自己家的孩子,自己养大——于是憋出了一个大招 &code&Fast R-CNN&/code& 。取这个名字的意思就是“儿子比爸爸强”,相对于原来的 &code&Slow R-CNN&/code&,做了速度上的优化——就是快。&/p&&p&在这篇论文中,引用了 &code&SPP Net&/code& 的工作,并且致谢其第一作者何恺明的慷慨解答。&/p&&p&纵观全文,最大的建树就是&b&将原来的串行结构改成并行结构&/b&。&/p&&p&&b&改进:流水线&/b&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-751d2d123b38f43b2f7f927a32023ae0_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1560& data-rawheight=&616& class=&origin_image zh-lightbox-thumb& width=&1560& data-original=&https://pic3.zhimg.com/v2-751d2d123b38f43b2f7f927a32023ae0_r.jpg&&&/figure&&p&原来的 &code&R-CNN&/code& 是先对候选框区域进行分类,判断有没有物体,如果有则对 &code&Bounding Box&/code& 进行精修 &code&回归&/code& 。这是一个串联式的任务,那么势必没有并联的快,所以 rbg 就将原有结构改成并行——在分类的同时,对 &code&Bbox&/code& 进行回归。&/p&&p&这一改变将 &code&Bbox&/code& 和 &code&Clf&/code& 的 &code&loss&/code& 结合起来变成一个 &code&Loss&/code& 一起训练,并吸纳了 &code&SPP Net&/code& 的优点,最终不仅加快了预测的速度,而且提高了精度。&/p&&h2&&b&Faster R-CNN / 2015&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks&/a&&/p&&p&众人拾柴火焰高,原来 &code&SPP Net&/code& 的人马和 rbg 一起研究憋大招,在 &code&rbg&/code& 和 &code&何恺明&/code& 绽放完光芒后,&code&任少卿&/code& 老哥发出了太阳般的光芒——&code&RPN&/code& 的概念让人不得不服。&/p&&p&&b&神经网络一统天下&/b&&/p&&p&在 &code&Faster R-CNN&/code& 前,我们生产候选区域都是用的一系列启发式算法,基于 &code&Low Level&/code& 特征生成区域。这样就有两个问题:&/p&&p&&b&第一个问题&/b& 是生成区域的靠谱程度随缘,而 &code&两刀流&/code& 算法正是依靠生成区域的靠谱程度——生成大量无效区域则会造成算力的浪费、少生成区域则会漏检;&/p&&p&&b&第二个问题&/b& 是生成候选区域的算法是在 CPU 上运行的,而我们的训练在 GPU 上面,跨结构交互必定会有损效率。&/p&&p&那么怎么解决这两个问题呢?&/p&&p&于是乎,任少卿等人提出了一个 &code&Region Proposal Networks&/code& 的概念,利用神经网络自己学习去生成候选区域。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-0e3eac8efeb5f8aadefd0f_b.jpg& data-caption=&& data-size=&small& data-rawwidth=&1110& data-rawheight=&1306& class=&origin_image zh-lightbox-thumb& width=&1110& data-original=&https://pic1.zhimg.com/v2-0e3eac8efeb5f8aadefd0f_r.jpg&&&/figure&&p&这种生成方法同时解决了上述的两个问题,神经网络可以学到更加高层、语义、抽象的特征,生成的候选区域的可靠程度大大提高;可以从上图看出 &code&RPNs&/code& 和 &code&RoI Pooling&/code& 共用前面的卷积神经网络——将 &code&RPNs&/code& 嵌入原有网络,原有网络和 &code&RPNs&/code& 一起预测,大大地减少了参数量和预测时间。&/p&&figure&&img src=&https://pic1.zhimg.com/v2-6b43a27ebfa2278def353a_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&822& data-rawheight=&498& class=&origin_image zh-lightbox-thumb& width=&822& data-original=&https://pic1.zhimg.com/v2-6b43a27ebfa2278def353a_r.jpg&&&/figure&&p&在 &code&RPNs&/code& 中引入了 &code&anchor&/code& 的概念,&code&feature map&/code& 中每个滑窗位置都会生成 &code&k&/code& 个 &code&anchors&/code&,然后判断 &code&anchor&/code& 覆盖的图像是&b&前景&/b&还是&b&背景&/b&,同时回归 &code&Bbox&/code& 的精细位置,预测的 &code&Bbox&/code& 更加精确。&/p&&p&将 &code&两刀流&/code& 的两刀并入同一个网络,这一操作足够载入史册了。&/p&&h2&&b&Mask R-CNN / 2017&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Mask R-CNN&/a&&/p&&p&时隔一年,何恺明团队再次更新了 &code&R-CNN&/code& 家族,改进 &code&Faster R-CNN&/code& 并使用新的 &code&backbone&/code& 和 &code&FPN&/code& 创造出了 &code&Mask R-CNN&/code& 。&/p&&p&&b&加一条通道&/b&&/p&&p&我们纵观发展历史,发现 &code&SPP Net&/code& 升级为 &code&Fast R-CNN&/code& 时结合了两个 &code&loss&/code& ,也就是说网络输入了两种信息去训练,结果精度大大提高了。何恺明他们就思考着再加一个信息输入,即图像的 &code&Mask&/code& ,信息变多之后会不会有提升呢?&/p&&p&于是乎 &code&Mask R-CNN&/code& 就这样出来了,不仅可以做「目标检测」还可以同时做「语义分割」,将两个计算机视觉基本任务融入一个框架。没有使用什么 trick ,性能却有了较为明显的提升,这个升级的版本让人们不无啧啧惊叹。&/p&&p&作者称其为 &code&meta algorithm&/code& ,即一个基础的算法,只要需要「目标检测」或者「语义分割」都可以使用这个作为 &code&Backbone&/code& 。&/p&&h2&&b&小结 / 2018&/b&&/h2&&p&我们再总结一下 &code&R-CNN&/code& 的发家史:&/p&&p&&b&从平台上讲&/b&&/p&&figure&&img src=&https://pic4.zhimg.com/v2-5716faea687bebba5f3223_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&2174& data-rawheight=&612& class=&origin_image zh-lightbox-thumb& width=&2174& data-original=&https://pic4.zhimg.com/v2-5716faea687bebba5f3223_r.jpg&&&/figure&&p&一开始的跨平台,到最后的统一到 GPU 内,效率低到效率高。&/p&&p&&b&从结构上讲&/b&&/p&&figure&&img src=&https://pic1.zhimg.com/v2-d52fde61a1a49d9d9113a3_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1804& data-rawheight=&570& class=&origin_image zh-lightbox-thumb& width=&1804& data-original=&https://pic1.zhimg.com/v2-d52fde61a1a49d9d9113a3_r.jpg&&&/figure&&p&一开始的串行到并行,从单一信息流到三条信息流。&/p&&p&从最开始 50s 一张图片的到最后 200ms 一张图片,甚至可以达到 6 FPS 的高精度识别,无不彰显着人类的智慧。&/p&&h2&&b&一刀流 YOLO & SSD&/b&&/h2&&figure&&img src=&https://pic4.zhimg.com/v2-1e679e0c42c0e6bb8197f_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&522& data-rawheight=&308& class=&origin_image zh-lightbox-thumb& width=&522& data-original=&https://pic4.zhimg.com/v2-1e679e0c42c0e6bb8197f_r.jpg&&&/figure&&p&一刀流的想法就比较暴力,给定一张图像,使用回归的方式输出这个目标的边框和类别。一刀流最核心的还是利用了分类器优秀的分类效果,首先给出一个大致的范围(最开始就是全图)进行分类,然后不断迭代这个范围直到一个精细的位置,如上图从蓝色的框框到红色的框框。&/p&&p&这就是一刀流回归的思想,这样做的优点就是快,但是会有许多漏检。&/p&&h2&&b&YOLO / 2015&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&YOLO&/a&&/p&&figure&&img src=&https://pic3.zhimg.com/v2-5cbe9b8b82_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1884& data-rawheight=&972& class=&origin_image zh-lightbox-thumb& width=&1884& data-original=&https://pic3.zhimg.com/v2-5cbe9b8b82_r.jpg&&&/figure&&p&YOLO 就是使用回归这种做法的典型算法。&/p&&p&首先将图片 &code&Resize&/code& 到固定尺寸,然后通过一套卷积神经网络,最后接上 &code&FC&/code& 直接输出结果,这就他们整个网络的基本结构。&/p&&p&更具体地做法,是将输入图片划分成一个 &code&SxS&/code& 的网格,每个网格负责检测网格里面的物体是啥,并输出 &code&Bbox Info&/code& 和 &code&置信度&/code&。这里的置信度指的是 &code&该网格内含有什么物体&/code& 和 &code&预测这个物体的准确度&/code&。&/p&&p&更具体的是如下定义:&/p&&p&&img src=&https://www.zhihu.com/equation?tex=Pr%28Class_%7Bi%7D%7CObject%29%E2%88%97Pr%28Object%29%E2%88%97IOU_%7Bpred%7D%5E%7Btruth%7D%3DPr%28Class_%7Bi%7D%29%E2%88%97IOU_%7Bpred%7D%5E%7Btruth%7D& alt=&Pr(Class_{i}|Object)*Pr(Object)*IOU_{pred}^{truth}=Pr(Class_{i})*IOU_{pred}^{truth}& eeimg=&1&&&/p&&p&我们可以从这个定义得知,当框中没有物体的时候,整个置信度都会变为 0 。&/p&&p&这个想法其实就是一个简单的分而治之想法,将图片卷积后提取的特征图分为 &code&SxS&/code& 块,然后利用优秀的分类模型对每一块进行分类,将每个网格处理完使用 &code&NMS&/code& (非极大值抑制)的算法去除重叠的框,最后得到我们的结果。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-b5fddfccb2649acd480add_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1509& data-rawheight=&1029& class=&origin_image zh-lightbox-thumb& width=&1509& data-original=&https://pic3.zhimg.com/v2-b5fddfccb2649acd480add_r.jpg&&&/figure&&h2&&b&SSD / 2015&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SSD&/a&&/p&&p&YOLO 这样做的确非常快,但是问题就在于这个框有点大,就会变得粗糙——小物体就容易从这个大网中漏出去,因此对小物体的检测效果不好。&/p&&p&所以 SSD 就在 YOLO 的主意上添加了 Faster R-CNN 的 Anchor 概念,并融合不同卷积层的特征做出预测。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-300f2fec443ddbcd3abc_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1122& data-rawheight=&420& class=&origin_image zh-lightbox-thumb& width=&1122& data-original=&https://pic4.zhimg.com/v2-300f2fec443ddbcd3abc_r.jpg&&&/figure&&p&我们从上图就可以很明显的看出这是 &code&YOLO 分治网络&/code& 和 &code&Faster R-CNN Anchor&/code& 的融合,这就大大提高了对小物体的检测。这里作者做实验也提到和 &code&Faster R-CNN&/code& 一样的结果,这个 &code&Anchor&/code& 的数量和形状会对性能造成较大的影响。&/p&&p&除此之外,由于这个 &code&Anchor&/code& 是规整形状的,但是有些物体的摆放位置是千奇百怪的,所以没有 &code&数据增强&/code& 前的效果比增强后的效果差 7 个百分点。直观点理解,做轻微地角度扭曲让 &code&Anchor&/code& 背后的神经元“看到”更多的信息。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-2ebe064fe054_b.jpg& data-caption=&& data-size=&normal& data-rawwidth=&1412& data-rawheight=&770& class=&origin_image zh-lightbox-thumb& width=&1412& data-original=&https://pic4.zhimg.com/v2-2ebe064fe054_r.jpg&&&/figure&&p&还有一个重大的进步是结合了不同尺寸大小 Feature Maps 所提取的特征,然后进行预测。这是 FPN 网络提出前的第一次做 Feature Pyramid 的尝试,这个特征图金字塔结合了不同层的信息,从而结合了不同 &code&尺寸&/code& 和 &code&大小&/code& 的特征信息。&/p&&p&这个尝试就大大地提高了识别的精度,且高分辨率(尺寸大)的 Feature Map 中含有更多小物体的信息,也是因为这个原因 SSD 能够较好的识别小物体。&/p&&p&&b&除此之外,和 YOLO 最大的区别是,SSD 没有接 FC 减少了大量的参数量、提高了速度。&/b&&/p&&h2&&b&YOLO9000 / 2016&/b&&/h2&&p&论文:&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&YOLO9000&/a&&/p&&p&到了 SSD ,回归方法的目标检测应该一统天下了,但是 YOLO 的作者不服气,升级做了一个 YOLO9000 ——号称可以同时识别 9000 类物体的实时监测算法。&/p&&p&讲道理,YOLO9000 更像是 SSD 加了一些 Trick ,而并没有什么本质上的进步:&/p&&ul&&li&Batch Normalization&/li&&li&High resolution classifier 448*448 pretrain&/li&&li&Convolution with anchor boxes&/li&&li&Dimension clusters&/li&&li&Multi-Scale Training every 10 batch {320,…..608}&/li&&li&Direct location prediction&/li&&li&Fine-Grained Features&/li&&/ul&&p&加了 BN 层,扩大输入维度,使用了 &code&Anchor&/code&,训练的时候数据增强…&/p&&p&所以强是强,但没啥新意,SSD 和 YOLO9000 可以归为一类。&/p&&h2&&b&小结 / 2018&/b&&/h2&&p&回顾过去,从 YOLO 到 SSD ,人们兼收并蓄把不同思想融合起来。&/p&&p&YOLO 使用了分治思想,将输入图片分为 &code&SxS&/code& 的网格,不同网格用性能优良的分类器去分类。&br&SSD 将 YOLO 和 Anchor 思想融合起来,并创新使用 Feature Pyramid 结构。&/p&&p&但是 &code&Resize&/code& 输入,必定会损失许多的信息和一定的精度,这也许是一刀流快的原因。&/p&&p&无论如何,YOLO 和 SSD 这两篇论文都是让人不得不赞叹他们想法的精巧,让人受益良多。&/p&&h2&&b&总结 Summary&/b&&/h2&&p&在「目标检测」中有两个指标:&code&快(Fast)&/code& 和 &code&准(Accurate)&/code&。&/p&&p&一刀流代表的是快,但是最后在快和准中找到了平衡,第一是快,第二是准。&br&两刀流代表的是准,虽然没有那么快但是也有 6 FPS 可接受的程度,第一是准,第二是快。&/p&&p&两类算法都有其适用的范围,比如说实时快速动作捕捉,一刀流更胜一筹;复杂、多物体重叠,两刀流当仁不让。没有不好的算法,只有合适的使用场景。&/p&&p&我相信 &code&Mask R-CNN&/code& 并不是「目标检测」的最终答案,江山代有才人出,展望未来。&/p&&h2&&b&参考资料 Reference&/b&&/h2&&ol&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&R-CNN “Rich feature hierarchies for accurate object detection and semantic segmentation”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SPP Net “Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Fast R-CNN “Fast R-CNN”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Faster R-CNN “Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Mask R-CNN “Mask R-CNN”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&YOLO “You Only Look Once: Unified, Real-Time Object Detection”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&SSD “SSD: Single Shot MultiBox Detector”&/a&&/li&&li&&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&YOLO9000 “YOLO9000: Better, Faster, Stronger”&/a& &/li&&/ol&
来自于我的博客:目标检测一直是计算机视觉的基础问题,在 2010 年左右就开始停滞不前了。自 2013 年一篇论文的发表,目标检测从原始的传统手工提取特征方法变成了基于卷积神经网络的特征提取,从此一发不可收拾。本文将…
&figure&&img src=&https://pic4.zhimg.com/v2-bfaaa064fb1f0c1c7a11a4ce79962e84_b.jpg& data-rawwidth=&1021& data-rawheight=&410& class=&origin_image zh-lightbox-thumb& width=&1021& data-original=&https://pic4.zhimg.com/v2-bfaaa064fb1f0c1c7a11a4ce79962e84_r.jpg&&&/figure&&p&&b&码字不易,欢迎给个赞!&/b&&/p&&p&&b&欢迎交流与转载,文章会同步发布在公众号:机器学习算法全栈工程师(Jeemy110)&/b&&/p&&h2&前言&/h2&&p&目标检测近年来已经取得了很重要的进展,主流的算法主要分为两个类型(参考&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&RefineDet&/a&):(1)&b&two-stage方法&/b&,如R-CNN系算法,其主要思路是先通过启发式方法(selective search)或者CNN网络(RPN)产生一系列稀疏的候选框,然后对这些候选框进行分类与回归,two-stage方法的优势是准确度高;(2)&b&one-stage方法&/b&,如Yolo和SSD,其主要思路是均匀地在图片的不同位置进行密集抽样,抽样时可以采用不同尺度和长宽比,然后利用CNN提取特征后直接进行分类与回归,整个过程只需要一步,所以其优势是速度快,但是均匀的密集采样的一个重要缺点是训练比较困难,这主要是因为正样本与负样本(背景)极其不均衡(参见&a href=&https://link.zhihu.com/?target=https%3A//arxiv.org/abs/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Focal Loss&/a&),导致模型准确度稍低。不同算法的性能如图1所示,可以看到两类方法在准确度和速度上的差异。&/p&&figure&&img src=&https://pic3.zhimg.com/v2-f143b28b7a7a1f912caa9a99c1511849_b.jpg& data-size=&normal& data-rawwidth=&1042& data-rawheight=&782& class=&origin_image zh-lightbox-thumb& width=&1042& data-original=&https://pic3.zhimg.com/v2-f143b28b7a7a1f912caa9a99c1511849_r.jpg&&&figcaption&图1 不同检测算法的性能对比&/figcaption&&/figure&&p&本文讲解的是SSD算法,其英文全名是Single Shot MultiBox Detector,名字取得不错,Single shot指明了SSD算法属于one-stage方法,MultiBox指明了SSD是多框预测。在上一篇文章中我们已经讲了&a href=&https://zhuanlan.zhihu.com/p/& class=&internal&&Yolo算法&/a&,从图1也可以看到,SSD算法在准确度和速度(除了SSD512)上都比Yolo要好很多。图2给出了不同算法的基本框架图,对于Faster R-CNN,其先通过CNN得到候选框,然后再进行分类与回归,而Yolo与SSD可以一步到位完成检测。相比Yolo,SSD采用CNN来直接进行检测,而不是像Yolo那样在全连接层之后做检测。其实采用卷积直接做检测只是SSD相比Yolo的其中一个不同点,另外还有两个重要的改变,一是SSD提取了不同尺度的特征图来做检测,大尺度特征图(较靠前的特征图)可以用来检测小物体,而小尺度特征图(较靠后的特征图)用来检测大物体;二是SSD采用了不同尺度和长宽比的先验框(Prior boxes, Default boxes,在Faster R-CNN中叫做锚,Anchors)。Yolo算法缺点是难以检测小目标,而且定位不准,但是这几点重要改进使得SSD在一定程度上克服这些缺点。下面我们详细讲解SDD算法的原理,并最后给出如何用TensorFlow实现SSD算法。&/p&&figure&&img src=&https://pic4.zhimg.com/v2-4c1d4d1b857a88be15f322e_b.jpg& data-size=&normal& data-rawwidth=&970& data-rawheight=&624& class=&origin_image zh-lightbox-thumb& width=&970& data-original=&https://pic4.zhimg.com/v2-4c1d4d1b857a88be15f322e_r.jpg&&&figcaption&图2 不同算法的基本框架图&/figcaption&&/figure&&h2&设计理念&/h2&&p&SSD和Yolo一样都是采用一个CNN网络来进行检测,但是却采用了多尺度的特征图,其基本架构如图3所示。下面将SSD核心设计理念总结为以下三点:&/p&&figure&&img src=&https://pic4.zhimg.com/v2-bfaaa064fb1f0c1c7a11a4ce79962e84_b.jpg& data-size=&normal& data-rawwidth=&1021& data-rawheight=&410& class=&origin_image zh-lightbox-thumb& width=&1021& data-original=&https://pic4.zhimg.com/v2-bfaaa064fb1f0c1c7a11a4ce79962e84_r.jpg&&&figcaption&图3 SSD基本框架&/figcapti

我要回帖

更多关于 www.98kmkm.com 的文章

 

随机推荐