object detection学习

来源:互联网 发布:随机密码生成算法 编辑:程序博客网 时间:2024/06/16 17:40

现在有google的Inception V、ImageNet等基于深度学习的物体检测网络,并且效果非常好。

但很多思想都来源于2014年的一片文章:Rich feature hierarchies for accurate object detection and semantic segmentation

这篇文章是第一次CNN用在图像检测上并给出大量的实验结果。

文章地址:http://xueshu.baidu.com/s?wd=paperuri%3A%28f818e23d213da893fc890f5d96ef4cb3%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Fwww.arxiv.org%2Fpdf%2F1311.2524.pdf&ie=utf-8&sc_us=7755102487057457737

这篇文章解决的是在有较少量的训练数据集的时候的物体检测。

两个博客:http://blog.csdn.net/u011534057/article/details/51240387

与http://blog.csdn.net/u011534057/article/details/51218218

论文中模型的理解:

1、首先根据数据集ImageNet ILSVC 2012训练一个CNN的分类模型,模型的output为1000维。

(这个数据集是一个类别数据库,即一张图片对应一个类别,共1000个类别,这个数据集是当作迁移学习用的)

网络的最后两层为4096*1000维。

2、采用数据集PASCAL VOC 2007,这个数据集不是一一对应的类别关系,这个数据集是为物体检测服务的。

数据集中每张图片中人为用框框出来某一类别的图片,并进行标注,如一个图片中可能有狗,自行车,人等。

这个数据集中目前总共包括20个类别,共10000张图片(相对来讲数据量挺大的了,平均每一个类别500张)。

训练过程:

(1)把第一步中训练得到的网络的最后一层换成4096*21维(20类+1背景);

(2)对pascal vol 2007数据集中的每张图片p1,采用selective search算法生成2000张左右可能包括物体的图,

这些图片进行一些变换后变成固定的维度;

(3)针对这2000张的每一张,如果与p1中标注过的框(如框住狗的框)的重合度超过0.5,

那么把它当作正样本(即维度为21的output结果的y对应类别位置设为1),否则当作负样本(第21维背景位置设为1);

(4)利用上面生成的这些样本进行训练(或者说调优fine-tunning)。由于负样本很多,影响训练速度,

因此采用较为苛刻的做法选择负样本,如果这个负样本与所有标注过的框框交叉少于0.3才作为负样本;

测试过程:

(1)对于这20个类别,针对每个类别构造二分类的SVM分类器,分类器的输出为是否这个类,

这个SVM分类器的训练数据不是单纯的为上述的正样本与负样本对应的CNN特征,

而是把整个物体都包括进来的框才能作为正样本对应的特征。为什么CNN采用简单的0.5正样本而SVM采用严格正样本呢?

这是因为CNN需要大量的数据训练,在数据量较少时容易发生过拟合,因此要求比较松,对CNN鲁棒性也好,

而SVM适用于小量样本,因此SVM使用严格正样本。

至于负样本,则采用交叉少于0.3(IOU为0.3)的样本作为负样本。

(2)针对一个新图片,由selective search得到2000个左右的框图后,将其输入到每一个SVM中判断此图为某一物体

还是背景。2000个框图对应的特征矩阵为2000*4096,而N个分类器的参数为4096*N(每个分类器对应4096个参数),

将2000*4094的矩阵乘以4096*N的矩阵,得到的矩阵为2000*N的矩阵,最后的结果需要分析这个矩阵。

(3)2000*N的矩阵的每一行可以表示为:这2000个框图类别Ni的概率。针对这些概率,

采用非极大值抑制(NMS)算法去掉没用的矩阵,保留最可能的矩阵。

(4)在得到了最可能的矩阵后,我们并不能说框中的图像就是我们所要的图形,因为这些图形只是用selective search得到的,

因此我们需要一个精修的过程。

框图精修的过程可以理解为一个线性变换,即一个框在经过平移、缩放后与目标图形的框相符合。

因此,这里对于一个框,需要找到一组线性变换的四个参数,来对框进行线性变换。

这四个参数我们通过回归模型来得到,同样需要用到上面提到的正样本。

对于上面的正样本,由我们能计算得到他们与真正的框的线性变换参数,因此我们可以用属于同一类别的这些正样本,

进行梯度下降算法或者最小二乘法,得到框与线性变换参数的对应关系,即输入一个框,得到一组参数。

如果用梯度下降算法来回归的话,那么输入为正样本框的位置参数,输出为线性变换参数。

因此,对(3)得到的最可能的矩阵,输入上面的回归模型,得到线性变换参数,即可得到真正的物体框。


关于Bounding-Box regression的一个博客:http://blog.csdn.net/u011534057/article/details/51235964

关于整个过程一个非常详细的博客:http://blog.csdn.net/u011534057/article/details/51218250

——————————————————————————————————————————————

关于这篇文章的一个博客:https://zhuanlan.zhihu.com/p/22287237?refer=startdl

针对第一步的候选区域提取,作者采用的是这篇文章的思想:Selective Search for Object Recognition

这篇文章地址:https://www.koen.me/research/pub/uijlings-ijcv2013-draft.pdf

这篇文章内容太多了。。。

关于这篇文章的一个博客:http://blog.csdn.net/mao_kun/article/details/50576003

这篇文章的思想主要是:

首先利用文章Efficient Graph-Based Image Segmentation的算法将图片分成不相交的多个部分,

然后根据这些不相交的部分的相似度,构造类似于霍夫曼树的结构,在构建完成后,

树中的每一个节点都将作为一个生成的结果图片用于判别。

tips:这里在构建树的过程中,需要计算节点之间的相似性,节点相似性的计算包括了多个方面:

如颜色直方图、纹理相似性、大小相似性等。

其中纹理相似性的计算用到了SIFT算法,关于SIFT算法的一个很好的博客:

http://blog.csdn.net/zddblog/article/details/7521424

——————————————————————————————————————————————

关于文章Efficient Graph-Based Image Segmentation。

这篇文章是将图片中的像素与像素之间的关系作为一个Graph来处理。采用迭代算法,

依次将距离接近的像素归类到一个图像块中。

关于这篇文章一个很好的博客:http://blog.csdn.net/surgewong/article/details/39008861

——————————————————————————————————————————————

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 心悦光环领错了怎么办 扑克牌1到13洗后怎么办 南通长牌没钱了怎么办 镇魔曲手游阵营人数已满怎么办 镇魔曲忘记在哪个区怎么办 登录镇魔曲卡在实名验证怎么办 电脑玩联盟花屏怎么办 优盘文件或目录损坏怎么办 苹果下吃鸡设备不兼容怎么办 龙之谷账号忘了怎么办 不花钱的排风除湿怎么办 苹果平板id密码忘了怎么办 苹果平板忘记id及密码怎么办 饥荒抓到的兔子怎么办 苹果手机下载不了王者荣耀怎么办 ipad登录显示验证失败怎么办 苹果手机系统内存太大怎么办 ipad玩游戏没声音怎么办 微信活跃度低怎么办 想开通淘宝直播粉丝不够怎么办 下巴长泡泡还痒怎么办 脚起泡泡很痒怎么办 脚痒还有小泡泡怎么办 外阴长了肉疙瘩怎么办 嘴巴里泡泡破了怎么办 脚上泡泡破了怎么办 脸被自己扣破了怎么办 6s安装不了软件怎么办 苹果6s特别卡怎么办 苹果手机4g网慢怎么办 大王卡玩王者卡怎么办 荣耀7c手机卡顿怎么办 华为6x手机卡顿怎么办 荣耀7c手机老卡怎么办 苹果6打王者卡怎么办 电脑玩游戏显示显卡不行怎么办 笔记本玩游戏显卡不行怎么办 笔记本玩英雄联盟有点卡怎么办 英语考试作文抄了阅读理解怎么办 qq账号被盗怎么办很久了 想玩线上德州没有渠道怎么办