Artificial Intelligence程序员AI

R-CNN系列其一:R-CNN

2018-05-20  本文已影响7人  manofmountain

介绍

本系列文章将会向大家介绍下R-CNN系列深度学习网络是如何来逐步进化(从检测精度与执行时间两个方向)以解决物体识别问题的。此篇是该系列文章的第一篇,试图向大家详细描述下2014年来自伯克利的Ross Girshick是如何前瞻性地使用深度学习CNN网络来初次成功解决物体识别问题的。

何为物体检测(object detection)问题?

物体检测问题要解决的是如何让计算机来认识出图片中的具体物体及它们在图片中所处的位置。本质上它是模式识别学科的一个基本问题。

物体识别问题的解决方法

过去在深度学习网络大规模使用之前一般会使用传统的机器学习方法通过对图片进行特征工程以选取有效的特征,进而其于所选择的特征进行建模(如逻辑回归、SVM、贝叶斯网络等)以来识别出图片之上所具有的位置及其位置。2014年之后,随着深度学习网络在分类问题中的成功应用(典型的像Alexnet网络在2012年的ILSVRC分类识别竞赛中取得第一名),越来越多关注机器学习方法的人开始考虑使用深度学习方法来解决他们自己领域的问题。其中物体识别问题也是受益于深度学习的发展而被更好地解决。此系列文章都是基于深度学习网络去解决物体检测问题。而它也是目前最有效的解决物体检测问题的方法。

R-CNN物体检测系统结构

R-CNN_物体检测系统结构

如何训练此模型?

既然是机器学习模型,那么就涉及到如何训练的问题。以下为此模型的详细训练方法。

实际部署所需的时间及其它性能分析

R-CNN算是首次使用CNN的方法来提取图片中的特征(有效地避免了传统机器学习算法中特征工程的使用)以进行图片中物体检测。与之前的方法相比,它可以使用一个可共享参数(多个不同的类别之间)的CNN来得到图片的特征进行再基于此特征对每个类分别训练不同的SVM模型进行后续的分类。最终在实际平台上测试时,此方法每处理一张图片上的区域提案获取与相应的CNN特征,平均需要在GPU上耗费13s,在CPU上则为53s。作者在论文中还有使用UVA的方法来近似模拟矩阵相乘运算以减少计算时间。 最后在VOC2007数据集上,它的MAP值能达到59%。

实际代码示例

参考文献

上一篇下一篇

猜你喜欢

热点阅读