浅读R-CNN

浅读R-CNN

(注:本文借鉴自:https://blog.youkuaiyun.com/hjimce/article/details/50187029)

思路

首先输入一张图片,我们先定位出2000个物体候选框,然后采用CNN提取每个候选框中图片的特征向量,特征向量的维度为4096维,接着采用svm算法对各个候选框中的物体进行分类识别。也就是总个过程分为三个程序:a、找出候选框;b、利用CNN提取特征向量;c、利用SVM进行特征向量分类。具体的流程如下图片所示:

一、候选框搜索

输入一张图片,搜索所有可能是物体的区域,该算法采用传统文献:《search for object recognition》。通过该算法找出2000个候选框,由于搜索出的候选框大小各异,因为CNN的输入都是固定大小的,如果不进行处理直接进入CNN是无法使用的,因此需要对搜索到的矩形选框进行处理。处理方法如下:

各向异性缩放:

不管图片的长宽比例,管它是否扭曲,直接进行缩放。缩放到与CNN输入大小相同。

各向同性缩放:

因为图片扭曲后,估计会对后续CNN的训练精度有影响,所以对该问题有两个解决方案:

1.直接在原始图片中,把bounding box的边界进行扩展延伸成正方形,然后再进行裁剪;如果已经延伸到了原始图片的外边界,那么就用bounding box中的颜色均值填充;如下图(B)所示;

2.先把bounding box图片裁剪出来,然后用固定的背景颜色填充成正方形图片(背景颜色也是采用bounding box的像素颜色均值),如下图©所示;

对异性、同性缩放时还需要做padding的处理,上图1、3行结合padding=0的情况,2、4行是采用padding=16的结果。经检验:采用各向异性缩放、padding=16的精度最高。

由于还要使用这2000个bounding box图片继续训练CNN、SVM。我们通过IOU对2000个候选框与人工标注的候选框进行比对,若IOU大于0.5,将该候选框标注成物体类别,否则将它当做背景类别。

二、CNN特征提取

1.网络结构设计

方案:

  1. Alexnet(精度58.5%,计算量小)
  2. VGG16(精度66%,计算量为Alexnet的7倍)

此处采用Alexnet。Alexnet特征提取包含了5个卷积层,2个全连接层,p5层神经元个数为9216、 f6、f7的神经元个数都是4096。通过这个网络训练完毕后,最后提取特征每个输入候选框图片都能得到一个4096维的特征向量。

2.网络有监督预训练

直接采用Alexnet的参数作为初始化参数。采用梯度下降法,学习速率大小为0.001.

3.fine-tuning阶段

采用selective search 搜索出来的候选框,处理到指定大小的图片,对上面预处理的CNN模型进行fine-tuning训练。并将上面预训练的CNN模型的最后一层替换成我们要检测的物体类别(N)+1(除了物体类别N种,还有一个背景特征)。最后一层数据随机初始化,其它层参数不变,接着训练SGD,刚开始SGD的learning rate采用0.001,在每次训练的时候,batch size大小选择128,其中32个正样本,96个负样本。(正负样本详见三、SVM训练、测试)

三、SVM训练、测试

当bounding box将我们希望检测的物体包含在内时,我们将该数据称为正样本,将未将检测对象包含在内的称为负样本,经测试IOU阈值为0.3时效果最好。为每个待检测对象训练一个SVM分类器(N个对象,即有N个SVM分类器)。当用CNN提取2000个候选框后,就可以得到2000x4096个特征向量矩阵,再将这样的矩阵点乘4096xN的SVN权值矩阵(weight),就可以得到对应结果。

注释

  • bounding box(边框)
  • Rol(Regions of interest)感兴趣区域
  • SS(Selective Search)选择性搜索
  • SVM(Support Vector Machine)支持向量机

尾声

R-CNN为目标检测提供了一个方向,但在运行速度方面仍有缺陷:

  1. 对于每一张图片都产生2000个ROI。
  2. 对于每一张图片都进行一次Selective Search获取ROI pooling,根据图片数量呈线性增长。
  3. 调用了CNN提取特征,,SVM识别物体,以及调整bounding box的回归模型。

详情可入群询问283266234。

若本人对文章解读有所误解与不足处,还望斧正。

标题基于SpringBoot+Vue的社区便民服务平台研究AI更换标题第1章引言介绍社区便民服务平台的研究背景、意义,以及基于SpringBoot+Vue技术的研究现状和创新点。1.1研究背景与意义分析社区便民服务的重要性,以及SpringBoot+Vue技术在平台建设中的优势。1.2国内外研究现状概述国内外在社区便民服务平台方面的发展现状。1.3研究方法与创新点阐述本文采用的研究方法和在SpringBoot+Vue技术应用上的创新之处。第2章相关理论介绍SpringBoot和Vue的相关理论基础,以及它们在社区便民服务平台中的应用。2.1SpringBoot技术概述解释SpringBoot的基本概念、特点及其在便民服务平台中的应用价值。2.2Vue技术概述阐述Vue的核心思想、技术特性及其在前端界面开发中的优势。2.3SpringBoot与Vue的整合应用探讨SpringBoot与Vue如何有效整合,以提升社区便民服务平台的性能。第3章平台需求分析与设计分析社区便民服务平台的需求,并基于SpringBoot+Vue技术进行平台设计。3.1需求分析明确平台需满足的功能需求和性能需求。3.2架构设计设计平台的整体架构,包括前后端分离、模块化设计等思想。3.3数据库设计根据平台需求设计合理的数据库结构,包括数据表、字段等。第4章平台实现与关键技术详细阐述基于SpringBoot+Vue的社区便民服务平台的实现过程及关键技术。4.1后端服务实现使用SpringBoot实现后端服务,包括用户管理、服务管理等核心功能。4.2前端界面实现采用Vue技术实现前端界面,提供友好的用户交互体验。4.3前后端交互技术探讨前后端数据交互的方式,如RESTful API、WebSocket等。第5章平台测试与优化对实现的社区便民服务平台进行全面测试,并针对问题进行优化。5.1测试环境与工具介绍测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值