基于dsp的密封圈表面瑕疵检测算法设计毕业设计论文(编辑修改稿)内容摘要:

块 TVP5146 1) 概述 TVP5146 是高品质的单芯片数字视频解码器。 能将基带模拟 NTSC, PAL 制式,和SECAM 视频转换成数字分量视频。 支持复合视频输入( CVBS)和 SVideo 输入。 该设备包括两个 TVP5146 10bit采样的 A / D转换器,线锁定采样方形像素。 ITUR (27 MHz)的输出格式,可与嵌入式 20/16bit 或 10/8bit 4:2:2,或 10/8bit ITUR 同步。 该设备采用得克萨斯仪器公司的专利技术,能采集嘈杂,或不稳定的信号,并输出一个色度产生频率控制下游同步视频编码器。 互补三线或四线自适应梳状滤波器是两个 luma 和数据路径提供色度旨在减少交叉亮度和跨色度文物。 一色度陷波器也已经推出。 视频特性包括亮度,色调,对比度和饱和度,支持 I2C 总线跟主机通信 [14]。 2) 供电模式和工作时钟 TVP5146 采用双电源供电,模拟 和数字 ,数字 和模拟。 模拟电源用于模拟视频接口部分, 数字电源则给数字 IO 电路供电, 数字电源给内核供电。 其工作时钟可由芯片外接晶振提供,亦可由 CPU 提供,采取何种方式由芯片的工作模式决定。 3) CPU 接口 传感器跟 CPU 的接口主要分两块,当接收来自 CPU 的控制信号时,用 的 I2C 接口。 跟 CPU 的接口有 ITU 656,以及 RAW 格式。 具体格式如下 图 TVP5146 内部结构图所示。 核心控制芯片 TMS320DM6437 TMS320DM6437 是 TI(德州仪器 )针对数字视频领域 开发 的支持达芬奇技术的单核 DSP处理器。 它具备 C64x+内核。 所配备的视频处理子系统 (VPSS)极大的支持了前端预处理与后端显示,减轩 DSP 核负担,配备的 10/100M EMAC,减少外围电路,使硬件小型化成为可能。 DM6437 采用最高频率 600MHZ 的 C64x+内核,配备相对多的 Ll ( 112KB)和相对少的 L2 ( 128KB)片内存储器。 并不像同为达芬奇技术的 6446 有 1 个 ARM 核, 1 个 DSP核,通 过贯通两核的 DSPlink 实现应用程序调用运行于 DSPside 的算法 codec。 6437 使用单核支持达芬奇技术,在虚拟机上运行 Linux,应用程序运行在 Linux 上,调用 DSP 上算法codec[15]。 C64x+内核有 8 个功能单元, M. S. L. ,分别主要负责乘法,加法,逻辑,地址运算,同时也支持很多其他运算。 2 组共 64 个 32bit 寄存器 ,2 路连接片外的数据通路,分为对称的 AB 两边。 交叉数据通路允 许某侧的单元在执行指令时将另外一边寄存器堆中寄存 10 器作为操作数来源同时允许向另 侧通往片外的数据通路传输数据。 每个功能单元均支持流水线,每周期都开始 1 个新指令完成 1 个指令, 8 个单元可以并行,执行打包在一起的 8 条指令。 采用数据与代码分开的哈佛总线结构,同时取指令与数据,最佳状况下,每时钟周期可以执行 8 条指令。 图 TVP5146 内部结构图 片内配备 32KB L1P (ram/cache) ,80KB L1D(ram/cache),128KB L2 D/P (ram/cache),L1Dcache最大设置为 32KB。 片外搭配 128M KB DDR2 SRAM。 形成片外 SRAM,片内 L2 ram/cache,片内 L1 ram/cache 的分级存储结构。 CPU 可直接访问 L1,在 L1D miss情况下 stall 等待 L2 数据或代码通过 DMA 刷新到 L1 cache,如果 L2 cache miss、则消耗更多的时间等待数据或代码从片外 SRAM 通过 DMA 刷新到 L1 cache。 系统框图如下 图 DM6437 功能框图 所示。 DSP/BIOS 是一个用户可剪裁的实时操作系统,主要由三部分组成:多线程实时内核;实时分析工具;芯片支持库。 利用实时操作系统开发程序,可以方便快速的开发复杂的 DSP程序。 操作系统维护调度多线程的运行,只需将定制的数字信号算法作为一个线程嵌入系统即可;芯片支持库帮助管理外设资源,复杂的外设寄存器初始化可以利用直接图形工具配置;实时分析工具可以帮助分析算法实时运行情况。 DSP/BIOS 以模块化方式提供给用户对线程、中断、 定时器、内存资源、所有外设资源的管理能力都可以根据需要剪裁。 实际应用中需要的定制算法作为一个线程插入 DSP/BIOS的调度队列,由 DSP/BIOS 进行调度。 DSP/BIOS 在一个主机 /目标机环境中的组件如下 图 所示。 其主要由三部分组成: 1) DSP/BIOS API:用户设计的程序可通过 API 调用 DSP/BIOS 接口函数; 2) DSP/BIOS 配置:创建的配置文件定义了程序使用的静态 BIOS 对象; 3) DSP/BIOS 分析工具 :集成在 CCS 上的一些 DSP/BIOS 分析工具可以对运行与目标设备上的程序进行检测,包括 CPU 负载、时间、日志、线程执行状态等。 11 图 DM6437 功能框图 图 DSP/BIOS 在系统中的组成示意图 触摸显示屏 LILLIPUT 一般工业产品的人机接口主要是按键或者旋钮等,在密封圈瑕疵检测领域,实际环境 12 较好,因此本系 统采用触摸屏作为人机接口,并用鼠标辅助,按键则作为应急处理时的辅助手段。 在非 WINDOWS、 LINUX 系列的操作系统中,极少有同时支持触摸屏和鼠标,这是本软件系统的一大特点。 图像采集设备 图像采集设备主要有光源、相机、传输线、接口等。 当前我们采用的是沃特克的WAT902B 型号的模拟相机,模拟的数据传输屏蔽线,捕捉到的图像经由 VGA 接口传递到触摸屏上显示出来 [16]。 考虑到不同种类的瑕疵在不同的光源下的清晰度不同, 所以该系统用的是两套不同的光源,一个是红色同轴光源,另一个是红色低角度环形光源。 前者我们选用的是维郎 TZD18X,后者我们选用的是维郎 HXA90D56R1X。 同轴光源维郎 TZD18X 图 同轴光源 所示的光源型号是上海维郎光源提供的 TZD18X。 图 同轴光源 该光源有内部的光学镜片经过特殊的位置设置 ,使得光源的发光光路可以与相机成 90176。 直角。 间接的起到了棱镜的使用效果。 如 图 所示: 图 同轴光源几何原理 在该同轴光源的照射下,密封圈上比较细的裂纹可以清晰可见。 图 便是密封圈在 13 该同轴光源下的成像效果 [17]: 图 同轴光源下的密封圈 环形 90 度水平低角度光源维郎 HXA90D56R1X 如 图 低角度环形光源 所示的光源型号是上海维郎光源提供的 HXA90D56R1X: 图 低角度环形光源 该光源 LED 后部基板与水平面成 90 度,因此 LED 颗粒变成水平方向,光源通常为 1排 LED 颗粒,水平照射后可以实现对于光滑表面的裂痕等由于凹凸造成的细微缺陷行程很好的反光效果。 如 图 低角度环形光源几何原理 所示: 14 图 低角度环形光源几何原理 在该环形光源的照射下,密封圈上的暗纹可以清晰可见。 图 低角度环形光源下的密封圈 便是密封圈在该环形光源下的成像效果 : 图 低角度环形光源下的密封圈 相机 WAT902B 该工业相机的特点就是抗噪性良好。 由于密封圈表面的瑕疵往往都很细小,容易受到图像噪声的干扰。 如果图像传输的过程中参杂了过多的噪声因素,无疑增加了识别算法的困难程度。 所以为了避免产生过多的噪声。 我们选用了该相机。 如 图 WAT902B 工业相机。 15 图 WAT902B 工业相机 本章小结 本章主要交代了密封圈瑕疵检测系统平台的搭建,以及系统中所应用到的各部分硬件的名称和作用。 第 4章 密封圈表面瑕疵检测算法 算法处理流程 先今图像处理已经发现了很多巧妙的算法,本系统在设计的同时,也参考了当前比较先进的算法。 图像处理一般分为如下 图 图像处理流程 所示的几个步骤 [18]: 捕 捉 源 图 像 预 处 理 二 值 化 目 标 提 取目 标 特 征 参数 计 算 图 图像处理流程 捕捉源图像 首先直接在相机里直接采集到的数组信息并不是灰度图信息。 因为相机除了灰度信息外,还带有颜色上的分量。 在图像处理中,颜色分量起不到太大的作用,我们可以将它去掉。 直接保留图像的灰度信 息。 对于大部分的模拟相机,单位像素是以 2 像素 4 个数字保存的,如 图 相机中图像灰度值保存的位置 所示,表示相机捕捉到的图像的 8 个像素,每个像素包含的信息都是用黑色的粗框围成的,每个 2 像素包含 4 个数据,以横向 2 像素为 1 单位,其中蓝色和绿色数据表示颜色信息,每个像素的红色数据为灰度信息。 我们可以申请一个内存空间 []P im age H eight W idth;设相机内存数组为 [ 4 ]cur H eight W idth;则利用公式 [ ] [ 2 2 1 ]P im a g e i W id th j c u r i W id th j        公式 () 可将相机内存中有用的图像灰度信息提取出来,放入内存空间 []P im age H eight W idth当中,如上 图 密封圈 8 比特 BMP 位图数据 所示,便是在相机中提取出的灰度值。 16 图 相机中图像灰度值保存的位置 图片预处理 由于图像在传输线中传输的时候不可避免会出现干扰,所以提取出的灰度图像要进行滤波处理以便减小干扰。 传统的经典滤波方法是中值滤波和均值滤波,但是这些经典方法确实不同程度的减少了噪声干扰,但是这些方法也存在一些问题,可以看到这些噪声的特点和瑕疵边缘的特点近似,在进行去噪的操作中,同时也模糊了瑕疵的边缘。 这不利于对瑕疵的识别。 因此要克服这个问题,对这两种经典方法 进行了改进,把这种干扰降到最低 [19]。 本系统用的是分角度的中值滤波法。 为了适应瑕疵具有线性特征的特点,在二维的滑动窗口中,过中心点分别在 0 度, 45 度, 90 度, 135 度方向形成 4 个一维子窗口,分别对 4个子窗口求中值,然后取其最小值作为中心点的值。 具体算法如 图 分角度中值滤波示意图 所示,分别统计二维滑动窗口中绿色、蓝色、灰色、紫 色部分的灰度分布。 图 分角度中值滤波示意图 具体滤波算法是:构造一个二维滑动窗口 M , M 的大小为 (2 1) (2 1)nn  ,中心点为 (, )ij ,即图中红色部分。 窗口内像素位置用 ( , )Xef 表示,则 4 个一维子窗口依次表示为: 0 { ( , )。 }45 { ( , )。 }90 { ( , )。 }135 { ( , )。 }m X i d j n d nm X i d j d n d nm X i j d n d nm X i d j d n d n                   公式 () 对于每个子窗口分别进行一维中值滤波,即对子窗口所有元素进行排序取中值,设分别 17 为 1P , 2P , 3P , 4P ,则最后输出: 1 2 3 4( , ) m in[ , , , ]Y i j P P P P 公式 () 则 (, )Yi j 便是中心点 (, )ij 的灰度值。 这种滤波法可以较好的避免非线性平滑对瑕疵所造成的伤害 [20]。 图片二值化 从 图 密封圈 8 比特 BMP 位图数据 中可以观察到,密封圈表面的颜色是比周边颜色要亮出许多的。 为了要尽快找到要检测的目标区域。 粗略二值化时可以采用全局二值化法。 首先定义变量 SUN ,对 []P im age H eight W idth里的各个成员进行遍历求和 []SU N P im age i SU N 公式 () i 的值从 0 到 1Height Width,遍历求和结束后利用公式: ()M e a n S U N H e ig h t W id th   公式 () 可以再定义调整值 TempMean ,取二值基准灰度值 threshold 为 th resh o ld M ea n T em p M ea n 公式 () 再次遍历灰度内存 []P im age H eight W idth,当发现灰度值小于 threshold 时,便将该点的灰度值设为 0;当发现灰度值大于 threshold 时,便将该点的值设为 255,得到一个二值图的内存 []P im a g eB in a ry H eig h t W id th,由于密封圈表面颜色较亮,所以灰度值。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。