Face Detection with the Faster R-CNN
2016-07-28 23:23
381 查看
物体检测合集Object Detection blog
数据集合集CV Datasets on the web
较其它博文的不同,我模仿Faster RCNN源代码手写了FDDB的训练过程(很多都是可重用的,需要写的不多)。我试过可以不改变solver就可以进行训练,如果出现loss为Nan的情况,可以适当减小lr试试。
图片来源于实验室,取自与某Q空间
训练结果比较差,在一些稍微暗一点或者人脸小一点的图片,就没法进行检测。本次练手的目的只是熟悉源码,对与训练结果没有做进一步优化,相关工作上面Face Detection with the Faster R-CNN也做过了,所以就不重复工作了。下次用SSD做个Face detection in video吧。
输入为data, im_info(height, width, scale)和gt_boxes。conv1-conv5为共享卷积层。rpn_cls_score(分类)和rpn_bbox_pred(回归)分别输出2 * 9(anchors)和4 * 9(anchors)。重点是”rpn-data”层anchor的操作。那么问题来了。
如何实现共享卷积层?
RPN和Fast R-CNN共享卷积层。RPN在features maps生成的候选窗口,然后经roi pooling后再检测,边框校准。
交替训练方法:
1. Stage 1 RPN, init from ImageNet model’
2. Stage 1 RPN, generate proposals
2. Stage 1 Fast R-CNN using RPN proposals, init from ImageNet model
3. Stage 2 RPN, init from stage 1 Fast R-CNN model
4. Stage 2 RPN, generate proposals
5. Stage 2 Fast R-CNN, init from stage 2 RPN R-CNN model
anchors的工作原理?
在conv feature map上做3*3的滑窗,每个窗口区域预测输入图像的3种尺度(128,256,512)和3种长宽比(1:1,1:2,2:1)的候选区。以40*60的feature map为例,总共有约20000(40*60*9)个anchor(候选区, region proposal)。针对人脸检测(大致为正方形),anchors可以调整长宽比。
Code
数据集合集CV Datasets on the web
正文
当我选用Faster RCNN做人脸检测时,已经有了一篇同名的论文了,详见Face Detection with the Faster R-CNN,同时其它博文也有用Faster RCNN训练自己数据集的教程,所以在此就不班门弄斧了。人脸检测的数据集我采用了FDDB,原因是该数据集小,而且之前用过。如果想要训练结果好一点,可以采用WIDER face,MegaFace这些大的数据集。较其它博文的不同,我模仿Faster RCNN源代码手写了FDDB的训练过程(很多都是可重用的,需要写的不多)。我试过可以不改变solver就可以进行训练,如果出现loss为Nan的情况,可以适当减小lr试试。
图片来源于实验室,取自与某Q空间
训练结果比较差,在一些稍微暗一点或者人脸小一点的图片,就没法进行检测。本次练手的目的只是熟悉源码,对与训练结果没有做进一步优化,相关工作上面Face Detection with the Faster R-CNN也做过了,所以就不重复工作了。下次用SSD做个Face detection in video吧。
输入为data, im_info(height, width, scale)和gt_boxes。conv1-conv5为共享卷积层。rpn_cls_score(分类)和rpn_bbox_pred(回归)分别输出2 * 9(anchors)和4 * 9(anchors)。重点是”rpn-data”层anchor的操作。那么问题来了。
如何实现共享卷积层?
RPN和Fast R-CNN共享卷积层。RPN在features maps生成的候选窗口,然后经roi pooling后再检测,边框校准。
交替训练方法:
1. Stage 1 RPN, init from ImageNet model’
2. Stage 1 RPN, generate proposals
2. Stage 1 Fast R-CNN using RPN proposals, init from ImageNet model
3. Stage 2 RPN, init from stage 1 Fast R-CNN model
4. Stage 2 RPN, generate proposals
5. Stage 2 Fast R-CNN, init from stage 2 RPN R-CNN model
anchors的工作原理?
在conv feature map上做3*3的滑窗,每个窗口区域预测输入图像的3种尺度(128,256,512)和3种长宽比(1:1,1:2,2:1)的候选区。以40*60的feature map为例,总共有约20000(40*60*9)个anchor(候选区, region proposal)。针对人脸检测(大致为正方形),anchors可以调整长宽比。
Code
相关文章推荐
- opencv-python学习一--人脸检测
- TensorFlow人工智能入门教程之十三 RCNN 区域卷积网络(视频侦测分析人脸侦测区域检测 )
- Detection field exists in mongodb
- C#利用 Face++sdk 实现wpf小程序【1】 5/11/16
- "A MultiPath Network for Object Detectio" 阅读笔记
- system strategies of Resources Deadlock
- 基于深度学习的目标检测研究进展【转载】
- RCNN + SPP + FAST RCNN + FASTER RCNN+ YOLO 论文总结
- 基于R-CNN的物体检测
- Tracking-Learning-Detection TLD解析一 - 前言
- Tracking-Learning-Detection TLD解析二 - 跟踪器及检测器设计
- Tracking-Learning-Detection TLD解析三 - Learning学习(跟踪与检测的协调与更新)
- Tracking-Learning-Detection TLD解析四 - 扩展及局限
- 论文笔记 《Rich feature hierarchies for accurate object detection and semantic segmentation》
- 论文笔记 《Fast R-CNN》
- 论文笔记:Ten years of pedestrian detection, what have we learned?
- Windows下编译fast rcnn
- 【论文笔记】未分类_2016
- 《Deep Label Distrubution Learning for Appearent Age Estimation》阅读笔记
- 论文笔记《Rich Feature Hierarchies for accurate object detection and semantic segmentation》