目录

  • 一、目标检测概述
    • 1.1 项目演示介绍
    • 1.2 图片识别背景
    • 1.3 目标检测定义
  • 二、目标检测算法原理
    • 2.1 任务描述
    • 2.2 目标检测算法必备基础
    • 2.3目标检测算法模型输出
    • 目标检测 -overfeat模型
    • R-CNN模型
      • 候选区域
      • 特征提取
      • 非极大抑制 (NMS)
      • 修正候选区域
      • R-CNN的训练过程
      • R-CNN的测试过程

一、目标检测概述

1.1 项目演示介绍

项目架构

  • 数据采集层: 数据标注、数据的存储格式

  • 深度模型层:数据预处理,GPU训练得到模型

    • tensorflow serving 进行模型部署
    • web后台
  • 用户层: 网页、小程序、检测识别结果

项目安排三阶段

1.2 图片识别背景

图片识别常见示例

图像识别的三大任务:

  • 目标识别: 输出类别
  • 目标检测: 输出类别已经在物体在图片当中的位置
  • 目标分割: 把物体形状描述出来,背景进行剔除

图像识别的发展

  • 通用场景: 谷歌、阿里、百度提供的API,普及范围比较广,一般性的图像识别
  • 垂直场景:
    – 医疗领域:医疗影像的检测
    – 林木产业:木板树种的检测
    – 其他垂直领域:轮胎类型等。。。。

1.3 目标检测定义

识别图片中有哪些物体以及物体的位置(坐标位置)

位置信息的表示

极坐标表示示例

中心点坐标 表示示例


格式: x_center | y_center | box_weight | box_height

目标检测的发展历史

二、目标检测算法原理

2.1 任务描述

  • 目标
    –了解目标洁厕算法分类
    –知道目标检测常见指标IoU
    –了解目标定位的简单实现方式

2.2 目标检测算法必备基础

  • 两步走的目标检测: 先进性区域推荐,而后进行目标分类
    – 代表:R-CNN SPP-net Fast R-CNN Faster R-CNN

  • 端到端的目标检测: 采用一个网络一步到位
    – 代表:YOLO SSD

    pass:
    卷积层是深度学习中的一种基础层,最主要的功能是:
    特征提取:卷积层可以通过卷积核在输入数据上进行卷积操作,从而提取出数据中的特征。这些特征可以表示数据的局部信息,如图像中的边缘、角点等。
    池化层
    平均池化:计算图像区域的平均值作为该区域池化后的值。
    最大池化:选图像区域的最大值作为该区域池化后的值。
    主要功能:降维,特征压缩,减少网络模型计算量,可以扩大感受野

常见的模型

图片分类
评估指标 acc

目标检测
评估指标 IOU

目标的位置框 :Bounding box
在目标检测中,有两种框:

  • Ground-trurh bounding box:图片中真是标记的框
  • Predicted bounding box: 预测的时候标记的框

IoU(交并比)的解释:

两个区域的重叠程度overlap
简述: 交集/并集

2.3目标检测算法模型输出

在原有基础上增加一个全连接层

  • FC1: 作为类别的输出
  • FC2:作为这个物体位置数值的输出

    对于分类概率的评价指标,使用的是交叉熵损失 softmax
    对于位置信息的回归评价指标,使用的是MSE均方误差损失 L2损失


存在问题

图片中假设存在多个物体的时候,你的网络输出多少不确定,全连接层回归
输出几个坐标不确定。

目标检测 -overfeat模型

目标检测的暴力方法,是从左到右,从上到下滑动窗口,利用分类识别目标。
为了在不同观察距离处检测不同的目标类型,我们使用不同大小的宽高比的窗口。如下图所示:

模型构造大致如下: 滑动窗口大小为k

取出子图,并标记是否是数据

overfeat模型总结

R-CNN模型

完整的R-CNN的结构

步骤

pass:
CNN提取2000×4096维的矩阵
20个SVM分类器,获得2000×20维的矩阵
NMS对每一列(列对应的类)进行非极大抑制,剔除重叠的建议框

候选区域

选择性搜索 SelectiveSearch – SS

warp比crop缩放后失真程度更小

步骤一中:
通过选择性搜索(SS)算法,进行预选框的筛选
大小统一的框使用的是 warp图片缩放的方式

特征提取

步骤二中:
CNN提取特征,用的是AlexNet的结构,输入要求 277×277
提取的特征会保存在磁盘中
数据维度 (2000,4096) 如下图所示

20个类别是指,你训练的数据集一共就有20个类别,根据你的数据集的类别数量进行调整

列是候选区域,行是类别特征

非极大抑制 (NMS)

非极大抑制的过程

修正候选区域


预测值是A,目标是G,进行修正后得到 G’
如下图所示:

R-CNN的训练过程

正负样本准备+预训练+微调网络+训练SVM+训练边框回归器

正负样本准备

预训练

CNN模型层数多,模型容量大,通常会采用2012年的AlexNet来学习特征,包含5个卷积层和2个全连接,比如著名的ImageNet比赛的数据集,来训练AlexNet,保存其中的模型参数

微调
类似于迁移学习

总结:

  1. 正负样本标记
  2. 预训练:别人已经在大数据集上训练好的CNN网络模型model1
  3. 微调: 利用标记好的样本,输入到model1当中,继续训练,得出model2

R-CNN的测试过程

  1. 输入一张图片,利用selective search得到2000个region proposal
  2. 对说有的region proposal变换得到固定尺寸,并作为预训练好的CNN网络输入,每个候选框得到4096的特征
  3. 对已经训练好的每个类别的svm分类器对提取到的特征打分,所以SVM的weight matrix是4096 N,N是类别数
  4. 采用NMS(非极大抑制)去除候选框
  5. 得到region proposal进行回归预测,微调

R-CNN在VOC2007数据集上平均精确度达到66%

缺点:

SSD目标检测算法原理(上)相关推荐

  1. 基于神经网络的目标检测论文之目标检测方法:改进的SSD目标检测算法

    4.2 改进的SSD 上一章我们了解到,物体识别检测算法是在传统CNN算法基础上加上目标区域建议策略和边框回归算法得到的.前辈们的工作主要体现在目标区域建议的改进策略上,从最开始的穷举建议框,到划分图 ...

  2. 三维目标检测算法原理

    三维目标检测算法原理 输入输出接口 Input: (1)图像视频分辨率(整型int) (2)图像视频格式(RGB,YUV,MP4等) (3)左右两边的车道线位置信息摄像头标定参数(中心位置(x,y) ...

  3. 基于Grad-CAM与KL损失的SSD目标检测算法

    基于Grad-CAM与KL损失的SSD目标检测算法 人工智能技术与咨询 来源:<电子学报>,作者侯庆山等 摘 要: 鉴于Single Shot Multibox Detector (SSD ...

  4. 层与特征融合_【计算机系统应用】(第122期)感受野特征增强的 SSD 目标检测算法...

    点击上方"蓝字",关注我们吧! 目标检测是计算机视觉领域的一项重要任务, 是 生活中如实例分割[1] , 面部分析[2] , 汽车自动驾驶[3].视 频分析[4] 等各种视觉应用的 ...

  5. [RCNN]-[YOLO]-[SSD]目标检测算法

    原文链接:http ://chuansong.me/n/353443351445 转载自深度学习大讲堂公众号    开始本文内容之前,我们先来看一下上边左侧的这张图,从图中你看到了什么物体?他们在什么 ...

  6. 一文弄懂SSD目标检测算法

    SSD是YOLO之后又一个引人注目的目标检测结构,它沿用了YOLO中直接回归 bbox和分类概率的方法,同时又参考了Faster R-CNN,大量使用anchor来提升识别准确度.通过把这两种结构相结 ...

  7. 笔记《基于无人驾驶方程式赛车的传感器融合目标检测算法研究及实现》

    论文结构 关键字:无人驾驶方程式赛车,相机,激光雷达,目标检测,传感器融合 一.绪论 1. 感知技术研究现状 1.1.1 基于相机的目标检测技术研究现状 1.1.2 基于激光雷达的目标检测技术研究现状 ...

  8. 目标检测算法实战综述

    目录 一.目标检测问题定义 二.目标检测问题方法 三.常见传统目标检测算法 3.1 Viola-Jones (人脸检测) 3.2 HOG+SVM (行人检测.Opencv实现) 3.3 DPM (物体 ...

  9. Pytorch搭建SSD目标检测平台

    学习前言 什么是SSD目标检测算法 源码下载 SSD实现思路 一.预测部分 1.主干网络介绍 2.从特征获取预测结果 3.预测结果的解码 4.在原图上进行绘制 二.训练部分 1.真实框的处理 2.利用 ...

最新文章

  1. Opencv-python 图像处理基础知识
  2. 初级JavaScript程序员的绝佳进阶书
  3. Qt Creator创建UI
  4. 深度学习之循环神经网络(12)预训练的词向量
  5. gl.vertexAtteib3f P42 讲数据传给location参数指定的attribute变量
  6. 通过一个例子介绍 IDA pro 的简单使用
  7. XP下,文件夹添加右键命令行
  8. WPF依赖属性(续)(1)
  9. 每天进步一点点《ML - DBSCAN》
  10. Java 集合 之 Set
  11. Linus Torvalds 命名 [ 冰封荒原 ] 版 Linux 内核的思考
  12. php 命令设计模式示例,php设计模式(十九)命令模式-Fun言
  13. java的酒店房间管理系统
  14. 常用的3D三维建模软件大全有哪些?
  15. 2021-08-14
  16. 【菜鸟小屁的成长日记】之ElasticSearch中的TimeStamp时间戳篇
  17. 哈工大计算机考研复试考纲,哈尔滨工业大学考研复试大纲
  18. 帝国cms会员中心1.2
  19. Linux安装rsync命令失败,rsync 常见错误与解决方法整理
  20. js插件的经典写法与总结

热门文章

  1. gs 服务器文件,服务器gs
  2. android 在状态栏耳机图标显示图标显示图标显示图标,Android 通知栏图标
  3. Python知道cos值求角度_机械臂正运动学-DH参数-Python快速实现
  4. 搜集网络上比较好的中文语料库
  5. 北航计算机学院吉祥物,北航软件学院吉祥物征集令
  6. Ubuntu16.04安装搜狗输入法的正确姿势
  7. 视觉运控平台软件框架(6)---脚本编辑器Qsci
  8. linux断掉crt、xshell依然运行命令?查找命令执行是否完成?
  9. Sql Server数据库被置疑后解决方法
  10. 虚拟机装系统出现 ntldr is missing(NTLDR丢失)、无法正常开机、解决方法