简述
简述目标识别算法中常用的图像算法,便于以后算法的设计应用
内容
目标检测(Object recognition)是在一幅图像中精确地找到各种目标所在的位置,标注出每个目标的类别,在此基础上识别目标。目标识别任务归结为两个问题:目标定位(localization)和目标分类(classification) ;
目标识别阵营
识别算法分为两大类,一类是基于图像处理的机器学习算法(传统算法),另一类是基于深度学习的识别算法;
传统算法的检测精度和识别实时性差于深度学习算法,但深度学习算法依赖于GPU硬件,需要一定时间的学习训练过程,使用成本大于传统算法。
以下是各种识别算法
机器学习算法
模板识别
模板识别是将待识别图像中提取若干特征向量与模板对应的特征向量进行比较,计算图像与模板之间的距离,用最小距离法判定所属类别。模板匹配通常事先建立好标准数据模板,常应用于工业图像上
特征点识别
特征点识别是局部特征识别方法,在图像维度空间上寻找特征点,提取特征点的大小、方向、梯度、尺度等信息,利用这些信息组成特征向量对图像进行描述的方法。
HOG(方向梯度直方图)是通过计算和统计图像局部位置的梯度方向直方图来构成特征,常常应用图像识别中的人脸识别;
LBP(局部二值模式)是一种用来描述图像局部纹理特征的算子,具有旋转不变性和灰度不变性等显著的优点;
SIFT(尺度不变特征变换)提取图像的局部特征,在尺度空间寻找极值点,并提取出其位置,尺度,方向信息。图像的局部特征,对旋转,尺度缩放,亮度变化保持不变,对视角变化,仿射变换,噪声也保持一定程度的稳定性;
SURF是对SIFT算法的改进,提升了算法的执行效率;
ORB是一种快速特征点提取和描述的算法,利用oFAST算法提取特征点,确定特征点方向;然后利用rBRIEF算法生成特征描述子,最后进行特征点匹配;
计算速度: ORB>>SURF>>SIFT(各差一个量级)
尺度变换鲁棒性: SURF>SIFT>ORB(ORB并不具备尺度变换性)
霍夫变换
霍夫变换是检测间断点边界形状方法,可以用来拟合直线、曲线、圆
轮廓分析
轮廓分析可以通过图像颜色来获取特征点信息,色彩域变换->阈值->轮廓分割;
Blob检测
Blob检测是通过存在颜色差异和灰度差异的特征区域,针对这些特征区域中获取共同属性(灰度值)的连接像素信息,如斑点检测
深度学习算法
RCNN系列
RCNN是将高容量卷积神经网络应用于自下而上的候选区域,以便对物体进行局部化和分割,并监督辅助任务的预训练,它是将候选区域与卷积神经网络相结合的方式;
SSD系列
SSD是一种使用单个深度神经网络预测图像中物体的模型。网络使用特征图的小卷积滤波器为每个对象类别生成分数;
YOLO系列
YOLO是一种单一的神经网络,可以在单次评估中预测图像中的边界框和类概率。它将图像检测视为回归问题,每个边界框都是通过整个图像的特征来预测的,每个边界框有5个预测,x,y,w,h和置信度,(x,y)表示相对于网格单元边界的边界框中心, w和h是整个图像的预测宽度和高度(相对于整个图像来说的比例);
速度:YOLO>SSD>RCNN
精度:SSD>RCNN~YOLO (原理上) (目前YOLO系列精度都很高,深度学习算法常常用于目标识别与检测)