一种基于FPGA非均匀光照图像分割方法

2014-06-13 05:46杨勇范胜利张芸蕾王一刚
太原科技大学学报 2014年6期
关键词:实时性光照灰度

杨勇,范胜利,张芸蕾,王一刚

(1.太原科技大学电子信息工程学院,太原 030024; 2.浙江大学宁波理工学院信息科学与工程学院,浙江 宁波 315100)

随着现代科学技术的快速发展,计算机视觉得到了更多关注,它被广泛的应用在模式识别、 计算机视觉、 医学图像处理等领域中。目标检测、特征提取和目标识别作为计算机视觉的关键技术,都很大程度上依赖于图像分割的质量。在这种情况下,研究人员开始关注图像分割,致力于实现更好的图像分割方法。

分割算法有很多种类,这其中包括阈值分割方法[1-3],边缘检测方法[4],区域提取等。但是绝大多数的分割方法都是对均匀光照条件下的图像进行分割的,在实际应用中它们对非均匀光照下图像的分割质量不是特别理想。最近几年,研究人员对非均匀光照下的开始关注起来并有了许多新的思路,提出了很多新的方法或改进的分割算法,它们都有自己的优缺点。魏巍等人提出了一种多方向灰度波动变换的自适应阈值分割算法[5]。该方法首先构造出多方向灰度变化矩阵,然后利用PCA方法来进行降维以降低非均匀光照对图像的干扰,最后再采用Otsu法进行全局分割。此方法可以有效地分割图像并抑制非均匀光照带来的影响,但是它对参数非常敏感,尤其是灰度波动阈值的选取。龙建武等人提出的一种自适应最小误差阈值分割算法[6],该方法对二维最小误差法进行三维推广,并结合三维直方图重建和降维思想提出了一种鲁棒的最小误差阈值分割算法。在此基础上该方法结合一种改进的Water flow模型[7-8]。对非均匀光照图像进行背景估计,以此获得原始图像与背景图像的差值图像,达到降低非均匀光照对图像分割造成干扰的目的。但是该方法基于软件平台,所以实时性稍差。庞全等人提出一种基于四叉树和交叉熵的面向对象图像分割方法[9],该方法针对光照不均的非平稳细胞图像的特点,基于子集的概念在Shannon熵上推导出子集的最小交叉熵,根据面向对象建模的思想,提出了局部最小交叉熵图像分割技术,并结合四叉树的分层模型给出了算法实现过程。但是该方法分层数会影响算法结果,分层多速度慢,分层少,分割质量难以让人满意。

上面的方法在实时性和处理结果两个方面都有着各自的一些问题,针对这种情况,本文提出了一种基于EL方式的图像分割方法,该方法将sobel边缘检测与Bernsen局部二值化算法结合起来,先对图像进行边缘检测,提取图像的目标,再对图像进行局部二值化处理,得到图像的分割结果。此算法在FPGA的平台上实现,借助它的流水结构及并行处理结构,具有很好的实时性,实验结果表明本算法能较好的对图像进行分割,并且可以抑制非均匀光照对图像分割带来的影响,使图像的目标得到较好的保留,较传统分割方法具有更好的实时性和稳定性。

1 设计思路及系统结构

在实际应用中,我们希望把图像的主体分割出来,使它很明显区分,方便我们处理。本文提出的算法将sobel边缘检测(sobel算子便于FPGA的流水处理结构及并行处理特点)与Bernsen局部二值化算法结合起来,用它们一起对图像进行处理,先利用水平方向的sobel算子对图像进行处理,提取图像的轮廓边缘,再利用Bernsen局部二值化算法对上面得到的图像继续处理,这样便达到图像分割的效果,由于Bernsen算法对非均匀光照具有很好的抑制作用,所以本算法即达到分割目的,又抑制了非均匀光照对图像的影响。

本设计采用FPGA平台对图像进行实时的采集及处理,利用FPGA的并行处理特点来加快处理速度。

图像分割系统分为图像采集,图像处理,图像显示3部分,如图1所示,将对从图像采集与图像处理两个部分进行分析。

图1 系统总体框图Fig.1 System diagram

1.1 sobel算法及实现结构

本文中先对RGB数据进行sobel边缘检测,再对其使用Bernsen算法。采用的图像模块及sobel算子如图2.

图2 图像模板及sobel算子Fig.2 Image template and sobel algorithm

本文选用3×3模板,将模板中的字母看做图像每一点的灰度值,并将它们与对应的sobel算子中的数值相乘并累加,得到e点的灰度值如式1所示:

e=c+f+i-a-d-g

(1)

图3 算法结构Fig.3 Algorithm structure

由于FPGA的特点,使用如图3所示的结构框架来实现算法,采用两组FIFO(可以存储1 280个数据)来存储两行图像数据,再将3×3的触发器看成是图像的3×3模板,将它们与图2中的每一点像素值对应起来,使用式1来进行计算,通过这种流水线操作来实现图像的边缘检测。

1.2 Bernsen算法

Bernsen算法是一种典型的局部二值化算法,本文将这种算法来与边缘检测结合使用,达到图像分割的目的。Bernsen算法将图像分割成很多块来分别计算阈值,因此,本方法不存在预定阈值,相比全局二值化算法,其适应性更广,也可以抑制非均匀光照给图像二值化带来的影响。

Bernsen算法将图像分割后,用每一块图像的最大及最小灰度值的平均值作为阈值,设像素点(i,j)处的灰度值为f(i,j),以像素点f(i,j)为中心做一个(2w+1)×(2w+1)的窗口,其中2w+1表示窗口的边长,则Bernsen算法可以描述为:

计算每个窗口的阈值T(i,j)如式2所示:

(2)

通过用图像中各个像素点的灰度值与阈值进行比较来确定这一点的二值化灰度值如式3:

(3)

取3×3的模板进行二值化,通过比较这九个点的像素值来得到最大值与最小值,用中心点像素值与它们的平均值比较来判断中心点的二值化结果,通过移动模板来完成整幅图像的二值化。

本文采用图2中的框架,对每个时钟由触发器出来的9个数据进行排序,为保证运行速度,本文采用下图的比较模块进行排序,确保每个时钟从触发器读取进来的9个数据都可以及时得到处理,不会因为等待而丢失数据。

比较模块框图如下:

图4 并行比较模块Fig.4 Parallel comparison modules

选取最小值时,同样使用上面的比较模块,对九个数进行上图的排序,比较它们中较小的数,直到最后得到最小值。

2 实验结果分析

采用一块以Cyclone Ⅲ系列中的EP3C16F484C6芯片为主芯片的开发板来处理图像数据,它的处理时钟达到50MHz,采用拥有130万像素的MT9M034传感器来采集图像,使用Verilog语言按设计思路来编写各个模块这其中包括采集模块,处理模块以及显示模块,并将它们连接起来,在Quartus_Ⅱ中执行程序采集并处理图像。

采集模块中包括数据获取模块来读取从CMOS传来的10位图像数据,得到10位RAW数据。以及RAW2RGB模块,通过该模块完成RAW到RGB格式的转换,最后将上面的数据存入FPGA内部的SDRAM中,以便于后续处理。显示模块为一个符合本文使用显示器时序规格的时序模块。

编写完所有模块,便可以采集图像进行分割处理,本文在相同光照情况下对键盘,数据线以及红色激光进行图像采集,分别使用大津法与本文的算法对采集图像进行处理,通过对比,得到结果见表1.

表1 数据处理对比Tab.1 Comparison of the processed data

本文提出的算法可以有效的分割图像,识别图像中的目标。本文算法处理过的键盘图像可以很好的分辨上面的字母,通过观察大津法的处理结果可以看出本文算法对非均匀光照有着很好的抑制作用,由第二组图像可以看出在光照下本文的算法可以将图像中的目标物体提取出来并抑制光照给图像分割带来的影响,本文提出的方法,不仅能很好分割图像,改善非均匀光照条件下的分割质量,还可以提取图像中细长的光源,具有较好的实用价值。通过计算可以得到本文的算法得到一幅图像用时大约为105 μs,因此本文的方法具有很好的实时性。

3 结论

提出一种实时采集分割图像的方法,使用可编程的FPGA,借助它的流水结构和并行处理特点,提高图像的采集及运算效率,达到了实时性的目的。结果表明本方法不仅可以快速的采集及分割图像,而且改善了非均匀光照下图像的分割质量。该方法使用模块化的方法,将具有不同功能的几个模块连接起来实现实现特定的功能,具有很强的扩展性,具有较高的实用价值,但是通过观察结果可以发现本算法还不能识别键盘上所有的字母,对于高亮地方的处理还有待提高。

参考文献:

[1] FAN J L,XIE W X.Minimum error thresholding[J].A note Pattern Recognition Letters,1997,18(8):705-709.

[2] FAN JIU-LUN,ZHAO FENG,ZHANG XUE-FENG.Recursive algorithm for three-dimensional Otsu′s thresholding segmentation method[J].Acta Electronica Sinica,2007,35(7):1398-1402.

[3] FAN JIU-LUN,LEI BO.Two-dimensional extension of minimum error threshold segmentation method for gray-level images[J].Acta Automatica Sinica,2009,35(4):386-393.

[4] ARBELAEZ P,MAIRE M,FOWLKES C.Contour Detection and Hierarchical Image Segmentation[J].Pattern Analysis and Machine Intelligence,IEEE Transactions on,2011,33(5):898-916.

[5] WEI WEI,SHEN XUAN-JING,QIAN QING-JI.An adaptive thresholding algorithm based on grayscale wave transformation for industrial inspection images[J].Acta Automatica Sinica,2011,37(8):944-953.

[6] 龙建武,申铉京,陈海鹏.自适应最小误差阈值分割算法[J].自动化学报,2012,38(7):1134-1144.

[7] KIM I K,JUNG D W,PARK R H.Document image binarization based on topographic analysis using a water flow model[J].Pattern Recognition,2002,35(1):265-277.

[8] OH H H,LIM K T,CHIEN S I.An improved binarization algorithm based on a water flow model for document image with inhomogeneous backgrounds[J].Pattern Recognition,2005,38(12):2612-2625.

[9] 庞全,苏佳,段会龙.基于四叉树和交叉熵的面向对象图像分割方法[J].浙江大学学报,2004,38(12):1615-1618.

猜你喜欢
实时性光照灰度
采用改进导重法的拓扑结构灰度单元过滤技术
节能环保 光照万家(公益宣传)
当幻想的光照进童心世界
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
隐蔽的力量
基于最大加权投影求解的彩色图像灰度化对比度保留算法
航空电子AFDX与AVB传输实时性抗干扰对比
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
基于像素重排比对的灰度图彩色化算法研究