IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 【机器视觉】:纹理检测(LBP+GLDM+faster-rcnn) -> 正文阅读

[人工智能]【机器视觉】:纹理检测(LBP+GLDM+faster-rcnn)

LBP检测模式:
LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;LBP检测算法具有旋转不变性和灰度不变性等显著的优点。
在这里插入图片描述

图5 LBP模式纹理信息获取原理
原始的LBP算子定义为在33的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,33邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。
如图4所示实际应用中烟支之间紧密贴合,如图5所示而基本的LBP算子的最大缺陷在于它只覆盖了一个固定半径范围内的小区域,正常工作状态下能够稳定检测出正常烟支,但是在实际运行中,烟支异常状态具有恒大的不确定性,创这显然不能满足不同尺寸和频率纹理的需要。
为了适应不同尺寸和频率纹理的需要,并达到灰度和旋转不变性的要求,在实际应用中对LBP算子进行了改进,将3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的LBP算子允许在半径为R的圆形邻域内有任意多个像素点。从而得到了如图4的半径为R的圆形区域内含有P个采样点的LBP算子。
在这里插入图片描述

LBP82 LBP162 LBP82
图6 LBP圆形区域算子
一个LBP算子可以产生不同的二进制模式,对于半径为R的圆形区域内含有P个采样点的LBP算子将会产生P2种模式。纹理特征的检测算法中随着邻域集内采样点数的增加,二进制模式的种类是急剧增加的。为了防止过多的二值模式对于纹理的提取、识别、分类及信息的存取产生干扰。同时,过多的模式种类对于纹理的表达是不利的。因此,在实际检测中对原始的LBP模式进行降维,使得数据量减少的情况下能最好的代表图像的信息。
为了解决二进制模式过多的问题,提高统计性,方案中提出了采用一种“等价模式”来对LBP算子的模式种类进行降维。在烟支状态监控的实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳变。因此,当某个LBP所对应的循环二进制数从0到1或从1到0最多有两次跳变时,该LBP所对应的二进制就称为一个等价模式类。
通过这样的改进,二进制模式的种类大大减少,而不会丢失任何信息。模式数量由原来的2P种减少为 P ( P-1)+2种,其中P表示邻域集内的采样点数。对于3×3邻域内8个采样点来说,二进制模式由原始的256种减少为58种,这使得特征向量的维数更少,并且可以减少高频噪声带来的影响。
因为,LBP算子得到的这个“特征”跟位置信息是紧密相关的。直接对两幅图片提取这种“特征”,并进行判别分析的话,会因为“位置没有对准”而产生很大的误差。实际应用中将一幅图片划分为若干的子区域,对每个子区域内的每个像素点都提取LBP特征,然后,在每个子区域内建立LBP特征的统计直方图。如此一来,每个子区域,就可以用一个统计直方图来进行描述,整个图片就由若干个统计直方图组成。
LBP特征向量进行提取的步骤:
(1)首先将含有烟支的检测图像的划分为16×16的小区域;
(2)对于每个向区域中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点的LBP值;
(3)计算每个cell的直方图,即每个数字出现的频率;然后对该直方图进行归一化处理;
(4)最后将得到的每个cell的统计直方图进行连接成为一个特征向量,也就是整幅图的LBP纹理特征向量;
(5)利用SVM对检测图像进行分类。
灰度共生矩阵(GLDM)检测模式:
如图4所示图像中各像素间的空间分布关系包含了图像纹理信息,取图像(N×N)中任意一点 (x, y)及偏离它的另一点 (x+a, y+b ),设该点对的灰度值为 (g1,g2 )。令点 (x, y) 在整个画面上移动,则会得到各种 (g1, g2)值,设灰度值的级数为 k,则 (g1,g2) 的组合共有 k 的平方种。
对于整个横烟画面,统计出每一种 (g1, g2)值出现的次数,然后排列成一个方阵,再用 (g1,g2) 出现的总次数将它们归一化为出现的概率P (g1, g2)。在解决方案中使用距离差分值 (a, b) 取不同的数值组合,可以得到不同情况下的联合概率矩阵。 (a,b )取值要根据烟丝端面纹理周期分布的特性来选择,对于较细的纹理,选取对应的差分值。
① 当 a=1,b=0时,像素对是水平的,即0度扫描;
② 当a=0,b=1 时,像素对是垂直的,即90度扫描;
③ 当 a=1,b=1时,像素对是右对角线的,即45度扫描;
④ 当 a=-1,b=1时,像素对是左对角线,即135度扫描。
通过不同角度的扫描通过两个象素灰度级同时发生的概率,就将 (x,y)的空间坐标转化为“灰度对” (g1,g2)的描述,形成了灰度共生矩阵。
在这里插入图片描述
图7 烟支异常状态
在实际检测中对于纹理变化缓慢的图像,其灰度共生矩阵对角线上的数值较大;而对于纹理变化较快的图像,其灰度共生矩阵对角线上的数值较小,对角线两侧的值较大。
基于灰度共生矩阵计算出来的特征统计量分析实现烟支异常状态的检测,常用特征值如下:
能量:是灰度共生矩阵元素值的平方和,所以也称能量,反映了图像灰度分布均匀程度和纹理粗细度。如果共生矩阵的所有值均相等,则ASM值小;相反,如果其中一些值大而其它值小,则ASM值大。当共生矩阵中元素集中分布时,此时ASM值大。

ASM值大表明横烟的纹理模式较为均一变化的团规律性强没有异常状态。
对比度:直接反映了某个像素值及其领域像素值的亮度的对比情况。如果偏离对角线的元素有较大值,即图像亮度值变化很快,则对比度会有较大取值,这也符合对比度的定义。
对比度还反映了图像的清晰度和纹理沟纹深浅的程度。纹理沟纹越深,其对比度越大,视觉效果越清晰;反之,对比度小,则沟纹浅,效果模糊。灰度差即对比度大的象素对越多,这个值越大。灰度共生矩阵中远离对角线的元素值越大,对比度越大。
在这里插入图片描述

熵:是检测图像所具有的信息量的度量,纹理信息也属于图像的信息,是一个随机性的度量,共生矩阵中所有元素有最大的随机性,当烟支在正常运转状态下空间共生矩阵中所有值几乎相等时,当烟支在异常状态运转状态下共生矩阵中元素分散分布时,熵较大。它表示了图像中纹理的非均匀程度或复杂程度。
在这里插入图片描述

相关性:自相关反应了图像纹理的一致性。如果图像中有水平方向纹理,则水平方向矩阵的COR大于其余矩阵的COR值。它度量空间灰度共生矩阵元素在行或列方向上的相似程度,因此,相关值大小反映了图像中局部灰度相关性。当矩阵元素值均匀相等时,相关值就大;相反,如果矩阵像元值相差很大则相关值小
在这里插入图片描述

其中:
在这里插入图片描述

综合后的向量就可以作为对图像纹理的一种描述,可以进一步用来横烟检测的结果分类、识别、检索等。
1.2基于深度学习的图像检测方式实现
前期基于传统的图像检测手段实现大量异常状态样本数据的获取,通过输烟通道不同工位的不同异常状态进行异常分类,利用通过已有的异常样本和正常样本建立样本训练样本来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本映射为相应的输出结果,对输出结果进行简单的判断从而实现异常分类的目的。
缺陷产品的检测模型采用Faster RCNN模型实现缺陷信息的检测、识别,Faster RCNN的网络结构主要分为以下四个部分:

  1. CNN特征提取网络:
  2. RPN网络:
  3. ROI Pooling :
  4. classifier :
    Faster RCNN算法流程如下图:
    在这里插入图片描述

图8 Faster RCNN算法流程
通过卷积操作得到feature maps(特征图),先在CNN网络提取到的 feature maps 上提出anchors,每个点上提出9个anchor, anchor的格式。
[[ -84. -40. 99. 55.]
[-176. -88. 191. 103.]
[-360. -184. 375. 199.]
[ -56. -56. 71. 71.]
[-120. -120. 135. 135.]
[-248. -248. 263. 263.]
[ -36. -80. 51. 95.]
[ -80. -168. 95. 183.]
[-168. -344. 183. 359.]]
如下图卷积后得到的 feature maps为每一个点都配备这 9 种 anchors 作为初始的检测框。通过RPN网络最终生成一定数量的候选区域。
在这里插入图片描述
图9 卷积后得到feature maps
RPN就是利用feature map生成anchor,然后用 softmax 去判断有特征图案区域的Anchor和没有特征图案区域的backgroud。

在这里插入图片描述
图10 RPN网络利用feature map生成anchor
RPN网络首先对输入的(M/16)x(N/16)的 Feature Map 做一个3x3卷积操作,然后分成两条路:一条去判断anchors的类别,另一条计算 bounding box 的预测值。这样 Proposal 的输入就有6个,分别是bbox的四个预测值(x,y,w,h),以及anchor的类别(foreground和background)进行bounding box 的修正;
在这里插入图片描述

图11 bounding box 的修正
上图中的蓝色框为“横烟”图案的Ground Truth(GT),红色为提取的foreground anchors,即便红色的框被分类器识别为图案“横烟”,但是由于红色的框定位不准,这张图相当于没有正确的检测出图案“横烟”。所以在模型算法中对红色的框进行微调,使得foreground anchors和GT更加接近。上图中窗口使用四维向量 (x, y, w, h)表示,分别表示窗口的中心点坐标和宽高。对于上图,红色的框(A)代表原始的Foreground Anchors,蓝色的框G代表目标的GT,为了实现图案的精准识别,整个任务可以描述为A为直接提出的anchor,GT为真实值ground truth,F是一种变换关系,G’是通过回归求到的预测框:
在这里插入图片描述

其中 F 的思路是先做平移再做缩放:先做平移
在这里插入图片描述

再做缩放:
在这里插入图片描述

通过线性回归计算出的四个参数值设计Loss函数为:
在这里插入图片描述

优化目标为:
在这里插入图片描述

只有在GT与需要回归框位置比较接近时,才可近似认为上述线性变换成立实现图案信息的准确识别。
最后根据定位与识别网络的具体要求构建相应的数据集,完成两部分网络的训练,将训练好的模型在在检测结果上进行验证,从而获得更好的识别结果及准确。
通过Faster RCNN字符识别算法实现不同工位异常图案信息的识别,将图像信息识别结果与标准数据库进行比对实现对卷烟的缺陷检测。

  1. 烟支质量异常点位目标视频跟踪解决方案

经过检测算法监测数的异常状态区域通过基于卷积神经网络的GOTURN实现异常工位的实时监测;GOTURN是基于CNN的跟踪器,使用caffe模型进行跟踪。
GOTURN网络结构应用如下图所示:
在这里插入图片描述

图12 GOTURN检测网络结构应用
在网络结构中GOTURN 先从输入的图像对中分别提取前一帧和当前帧的卷积特征,再送入三个全连接层,最后得到预测的位置变化。其中卷积层是通过 ImageNet 预训练得到,并且在跟踪网络训练中固定这部分参数(防止过拟合),学习全连接层的参数。
基于GOTURN 的目标跟踪方案也利用了深度学习强大的特征表达能力,建立了一个基于深度学习的端到端输出的跟踪框架,而且在 GPU上跟踪速度在能达到100fps。
选择GOTURN实现目标跟踪方案主要有以下几个特点:
① 利用了大量数据离线训练的优势;
② 对特定类别样例的跟踪效果更好;
③ 获取更高的检测帧率;
④ 不对patch进行分类,而是对目标的bounding-box进行回归,以获得更高的FPS;
整个GOTURN算法以前一帧的目标区域为中心扩展(以接受一些背景信息),并裁剪出来。在第[T-1]帧,Tracker预测到bounding-box位置,宽和高分别为w,h,裁剪出来的框大小决定接受多少背景信息。
GOTURN算法在当前帧和前一帧分别裁剪出区域之后,送入网络进行feature extraction(CaffeNet的卷积层),将这些特征级联并输入全连接层,fc层的目的是为了比较目标的特征和当前帧的特征,以找到目标被移动到了哪里。
物体在视频中相邻两帧的运动具有相对平稳的性质,形变、位移等变化不会太大,所以这里对bounding-box的位移进行一个建模
在这里插入图片描述

这里w△x和h△y就是物体的相对位移(和w,h有关),△w和△h服从均值为0的拉普拉斯分布,实验数据支持相邻帧的运动具有平稳性这个性质。视频中的相邻帧大多是微幅运动。
同理对于bounding-box的尺寸:
在这里插入图片描述

这里γω和γh就是物体的相对形变,通过统计发现这里的γω和γh服从均值为1的拉普拉斯分布,bounding-box的尺寸几乎不变。
当检测到烟支通道有异常烟支后通过GOTURN算法模型对烟支质量异常点位目标进行跟踪,存储问题点位发生时前后20秒的视频数据,方便操作人员对问题原因进行分析溯源。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-28 15:28:52  更:2022-02-28 15:29:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 18:31:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码