区域卷积神经网络:Regions with CNN features,简称 R-CNN
论文:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (thecvf.com)
cnn识别整个图像,输出一个结果
R-cnn识别整个图像,输出多个结果
RCNN分为四步:
1. 提取候选区
采用selective search(SS,选择性搜索)来进行region proposal的选取
2. CNN进行分类
使用CNN网络对选取的2000存在物体的潜在区域进行特征提取。但是可能存在一些问题,由于上一步Region proposals所提取出来的图像的尺寸大小是不一样的,我们需要卷积后输出的特征尺度是一样的,所以要将Region proposals选取的区域进行一定的缩放处理(warped region)成统一的227x227的大小,再送到CNN中特征提取。
R-CNN特征提取用的网络 模型是对ImageNet上的AlexNet(AlexNet网络详解)的CNN模型进行pre-train(以下有解释,可先行了解pre-train)得到的基本的网络模型。
然后需要对网络模型进行fine-tune,这时网络结构需要一些修改,因为AlexNet是对1000个物体分类,fc7输出为1000,因此我们需要改为(class + 1)若类别数为20则应改为20+1=21个节点,加一的原因是对图像背景类识别,判断是不是背景。其他的都用AlexNet的网络结构fine-tune(全连接),其中包括五层卷积和两层全连接层。
参考文献:卷积神经网络(三,R-CNN) - 知乎 (zhihu.com)
3. SVM进行分类
训练一个SVM分类器(二分类)来判断这个候选框里物体的类别,每个类别对应一个SVM,判断是不是属于这个类别,是就是positive,反之nagative
为什么训练一个分类器?
效果不好
IOU大于0.5标记为正样本,其他的标记为背景,而在训练SVM的时候,IOU小于0.3的标记为负样本,ground truth为正样本,其他的丢弃。
在训练CNN的时候对正例样本定义相对宽松,会在一定程度上加大正例的数据量,防止网络的过拟合,而SVM这种算法的机制,适合小样本的训练,因此对真样本限制严格
4. 边界盒回归
就是将把图片变成正常的
(98条消息) 边框回归(Bounding Box Regression)详解_南有乔木NTU的博客-CSDN博客_bounding box regression
中英文对照:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!