Part 1理论知识学习:
首先我学习了R-CNN系的几个主要算法,
1.R-CNN
我在上一周了解了目标检测的两个主要任务为物体的分类和定位。为了完成这两个任务,R-CNN的主要思想是利用计算机网络中滑动窗口的思想,采用对区域进行识别的方案。具体来说,就我理解应该是分以下四个步骤
一. 输入图片,用某种特定的算法提取出2000个类别独立的候选区
提取候选区。我们第一步的目的是获得2000个目标候选区域,有很多算法都可以完成这个任务,但是我看大多数用的好像都是一种叫Selective Search的算法,这个算法我大致看了一下。原理应该就是用传统的方法将图像分成很多个小区域,再根据相邻小区域的特征,来合并这些小尺寸的区域,从而得到大尺寸的区域,实现候选去的选取。
二. 对每个候选区域用卷积神经网络(有待深入研究)获取特征向量
这一步主要使用CNN(convolutional neural networks)提取对应的特征向量。用的是AlexNet模型,但是这里好像涉及一个图像大小与模型兼容的问题,而上一步用的selective search产生的区域大小和这个模型并不一致,R-CNN这个算法暴力的将尺寸统一。
然后涉及到如何训练数据的问题,这也分两步走。
第一步是一个有监督的预训练,采用ImageNet这个图片数据库作为样本,只训练和分类有关的参数(因为ImageNet数据只有分类,没有位置标注),然后将图片尺寸统一调整为227*227,最后一层为4097维向量->1000向量的映射。
第二步是针对特定样本的微调,
R-CNN系算法
最新推荐文章于 2024-02-12 16:08:15 发布