嵌入式色盲图像处理系统设计
2011-03-22王恩马煜汪源源
【作 者】王恩,马煜,汪源源
1 复旦大学专用集成电路与系统国家重点实验室,上海,200433
2 复旦大学电子工程系,上海,200433
嵌入式色盲图像处理系统设计
【作 者】王恩1,马煜1,汪源源2
1 复旦大学专用集成电路与系统国家重点实验室,上海,200433
2 复旦大学电子工程系,上海,200433
以色盲图像处理系统为应用背景,提出了基于ARM的嵌入式系统设计方案。通过选型核心处理器ARM,完成了嵌入式色盲图像处理系统的硬件和软件设计,并实现了简单易用的系统界面。本系统为色盲图像处理算法的应用提供了一个通用的硬件平台,有望给色盲的测试与辅助矫正带来便利。
色盲;图像处理;嵌入式系统
0 引言
色盲及色弱是常见的伴性遗传病,主要是由视网膜锥细胞的变异或者缺失引起的,患者不能分辩自然光谱中的某些颜色。据统计,全球男性人口约8%患有色盲或色弱,女性人口约0.5%。色盲又分为全色盲和二色盲。二色盲按照视锥细胞异常的不同又分为红二色盲、绿二色盲和蓝二色盲,其中红二色盲和绿二色盲占的比例最多。本文以红二色盲为例进行研究。
在色盲模型方面,根据三种锥细胞的视觉原理,提出了视觉的三通道模型[1],很多学者据此相应地建立了对色盲患者视觉进行研究的各种模型[1-3]。这些模型都是从视觉的三通道入手建立的,具有一定的相通性。
现阶段利用这些模型研究色盲、色弱治疗或矫正的方法有很多,如文献[4-12]中所报道的,但尚缺乏切实可行的治疗或矫正方法。通过对被眼睛感知之前的图像进行处理的技术,对色盲进行矫正,以提高色盲患者获取颜色信息的能力,更符合实际应用的需要。本文以色盲图像处理系统为应用背景,研究了嵌入式色盲图像处理系统的设计方案,希望为色盲图像处理算法的应用提供一个通用的硬件平台,从而为色盲的测试与矫正带来便利。
1 方法与系统
1.1 色盲图像处理的基本原理
1.1.1 二色盲与色弱的仿真模型
正常人的眼睛有三种锥体感光细胞,分别为L、M、S锥细胞,它们构成了人眼观察颜色的LMS空间模型[1]。常用的RGB图像可转变到LMS空间:
其中U为从RGB空间到LMS空间的变换矩阵。
图1 RGB空间颜色沿L轴方向投影图。Fig.1 Colors in RGB cube are projected on the color plane of protanopes along axis L.
本文采用一种简化的二色盲模型[11],对于红二色盲进行研究。如图1所示,当颜色从RGB空间转变为LMS空间时,RGB立方体空间的颜色沿L轴方向映射到R=G的平面上[13-14]。沿着L轴方向的颜色都被投影到了同一点,这样就造成了沿L轴方向颜色的混淆,而红色和绿色正好在此方向上,所以红绿不能区分。类似地,对于绿二色盲,它把RGB空间的颜色沿着M轴方向投影到R=G的平面上,同样使得红绿不能区分。对于蓝色盲,它把RGB立方体的颜色沿S轴方向投影到B=G的平面上,使得蓝绿无法区分。
对L、M、S三路信号乘以一个变换矩阵T式(2),可以模拟人眼视觉的一些情况。当T为单位阵时,所模拟的是正常视觉;当T取其他矩阵时还可以模拟二色盲、色弱。和二色盲从彩色中提取色彩信息的能力。邓寅晖等[10]提出了一种二色盲颜色固定映射的方法,基于相似矩阵建立了一种从三维空间到二维平面的固定映射关系,帮助训练二色盲患者识别颜色。鲍吉斌等[11-12]提出了基于自适应映射的二色盲矫正方法和基于旋转H分量的色盲矫正方法。
总的来说,各方法根据适用范围的不同,各有其特点。
1.2 系统结构及工作原理
本系统的结构模型如图2所示。图像采集模块负责采集原始图像,并将原始图像数据通过DMA方式发送给ARM,存储到SDRAM中。一帧图像采集完成后,ARM将图像数据从SDRAM中取出,进行相关的处理,然后输出数据并显示到带触摸功能的3.5”LCD上。在图像显示过程中,还可以通过集成于系统中的按键输入模块对显示的图像进行切换、复位等控制。
LMS空间是人眼内部的颜色感知空间,不利于直观地理解。为观察红二色盲分辨颜色的效果,可将颜色从LMS空间转换到RGB空间,得到色盲的感知仿真模型,其中红二色盲的感知仿真模型为:
图2 系统结构框图Fig.2 System block diagram
类似地,绿二色盲和蓝二色盲也有相应的感知仿真模型。
在二色盲模型的基础上,文献[15]通过对(3)式的修正提出了色弱的仿真模型:
其中:λ为反映色盲严重程度的系数,取值范围为0到1,当λ=0时。为二色盲;λ=1时为正常视觉。
2.1.2 图像处理的色盲矫正方法
以色盲仿真模型为基础,针对不同类型和程度的色盲,提出了多种矫正方法。
Yong Man Ro[4-5]提出的色弱矫正方法,将色弱模型看成是一个可逆系统,图像经过它的逆系统即可得到矫正图像。Seungi Yang[6]提出了用饱和度差异区分颜色的方法矫正二色盲。Amy Gooch[7]将彩色图像变换成灰度图像,并保留了彩色图像中的有用信息,用于全色盲的矫正。Karl Rasche[8-9]提出了一种方法提高全色盲整个系统的存储模块还包括NOR Flash和NANDFlash。它们提供了两种不同系统的启动方式。NOR Flash适合做代码存储,用于存储引导系统烧写的程序;NANDFlash适合用来做大量数据存储,用于存储系统程序。
系统通电后,ARM首先通过SCCB总线对图像采集模块(OV9650)进行初始化,以确定其工作模式。初始化结束后,等待图像采集命令,同时LCD完成初始化,显示初始欢迎界面。用户通过触摸LCD选择进入系统后,可以设置参数(包括动态、静态图像、色弱系数等)以及选择需要显示的图像。选择完毕后,图像采集模块将开始工作,ARM依靠像素时钟和行场同步信号来采集原始图像,存入SDRAM中。当一幅图像采集完成后,ARM将数据从SDRAM中读出进行处理,进而送给LCD进行显示。
1.3 系统硬件设计
1.3.1 图像采集模块
图像采集模块采用Omni Vision公司的OV9650芯片,负责采集原始图像。该图像采集芯片内部集成了强大图像色度、亮度处理功能以及多种输出模式。在本系统中我们采用RGB565格式输出图像信息,图像输出为VGA格式,有效分辨率为640*512。OV9650具有SCCB总线(弱化的IIC总线),在系统复位时必须通过该总线对其进行初始化。
ARM 与0V9650接口电路包括控制线、信号线以及数据线的连接。控制线有SCCB总线、RST(复位)以及PWDN(休眠)。当采用连续扫描方式时,OV9650有3个同步信号,分别为VSYNC(垂直同步信号)、HREF(水平同步信号)和PCLK(像素同步信号),CLK为ARM提供外部时钟信号。OV9650与ARM之间的有效数据线为CD2-CD9,共8位,采用RGB565格式输出像素值,每个像素点输出信号共包含两个字节。
1.3.2 ARM模块
图像采集模块将采集到的原始图像数据传送给ARM处理器。我们在程序中设定一大块位于SDRAM中的内存区,并把这个数组的地址传给ARM处理器的相应寄存器。这样ARM会自动把从SDRAM中取出图像原始数据经过必要的处理存入该内存区,然后再把这个地址给LCD显示模块的寄存器,LCD就可以显示了。
本系统选用Samsung 半导体公司推出的S3C2440A作为ARM处理器。它是一款基于ATM920T内核的16/32位RISC嵌入式微处理器,主频400 MHz,最高可达533 MHz。作为一款专用的以手持设备为主而设计的芯片,其特点在于低功耗和高速的处理计算能力。
1.3.3 存储模块
本系统使用了两片外接的32M bytes (总共64M bytes)的SDRAM 芯片,它们并接在一起形成32-bit 的总线数据宽度。这样可以增加访问的速度。因为它们是并接,所以它们共用同一路片选信号。
本系统具备两种Flash,一种是NOR Flash,大小为2Mbyte;另一种是NAND Flash,大小为256 M。S3C2440 支持这两种Flash 启动系统,通过拨动电路上的开关,可以选择从NOR 还是从NAND 启动系统。NOR Flash适合做代码存储,用于存储引导系统烧写的程序;NAND适合用来做大量数据存储的,用于存储系统程序。当前系统中只用到了NAND Flash,而NORFlash是为了系统的功能升级及后续开发预留的。
NAND Flash不具有地址线,它有专门的控制接口与CPU 相连,数据总线为8-bit。NOR Flash 采用了A1-A22 总共22 条地址总线和16 条数据总线与CPU 连接,每次最小的读写单位是2-byte。
1.3.4 显示模块
图像经过ARM采集和处理完毕后,需要在LCD上显示。本系统采用的是一个最高可支持1600万色的3.5”LCD显示模块,显示分辨率为320*240。ARM与LCD接口电路包含了LCD 所用的控制信号(行场扫描、时钟和使能等)。
LCD 与0V9650接口电路包括完整的RGB 数据信号,数据位共24位,VD0-VD23。控制信号包括VFRAME(帧同步信号)、VLINE(行同步信号)、VCLK (像数时钟信号)、VDEN(数据有效标志信号)以及nRESET(复位信号)。此外,LCD显示模块还集成了4线电阻触摸屏,接口为TSXM、TSYM、TSXP、TSYP。
1.3.5 外围电路
本系统通过按键来实现显示图像的切换以及复位等操作,共有6个按键。具体功能在软件部分将进行详细介绍。
系统具有一个简单的串口功能,即通常所说的发送(TXD)和接收(RXD),它们是从ARM直接引出的,是TTL 电平。为了方便使用,我们使用电平转换芯片进行匹配RS232 电平的转换,故可以通过附带的直连线与PC 机互相通讯。
此外,系统还具有两种USB 接口,一个是USB Host,它和普通PC 的USB 接口是一样的,可以挂载USB摄像头、USB 键盘、USB 鼠标和优盘等常见的USB 外设;另一种是USB Slave,用来下载程序到系统板。
1.3.6 电源模块
本系统的电源系统比较简单,直接使用外接的5 V电源,通过降压芯片产生整个系统所需要的3种电压:3.3 V、1.8 V和1.25 V。
1.4 嵌入式系统软件开发
采集到的原始图像(ImageA1)经过色盲图像矫正算法处理后可以得到色盲矫正图像(ImageA2)。为了便于系统测试,可以通过仿真算法将原始图像以及色盲矫正图像分别处理成仿真的色盲感知图像(ImageB1)和仿真的矫正后色盲感知图像(ImageB2)。图像显示与算法的关系如图3所示。
实际使用中,为了便于操作者使用LCD显示相关的图像数据,总共有4种显示模式:
图3 图像转换与算法关系示意图Fig.3 the relationship between images and algorithms
State1 分屏显示原始图像(ImageA1)和色盲矫正图像(ImageA2)。
State2 全屏显示色盲矫正图像(ImageA2)。
State3 分屏显示仿真的色盲感知图像(ImageB1)和仿真的矫正后色盲感知图像(ImageB2)。
State4 全屏显示仿真的矫正后色盲感知图像(ImageB2)。
几种显示模式之间的切换采用按键的方式,其中KEY4用于State1和State2的切换,KEY5用于State1和State3的切换,KEY6用于State2和State4的切换。此外,KEY1用于返回色盲参数选择界面,KEY2用于切换选择冻结图像/恢复动态显示,KEY3用于静态模式下的图像刷新。
整个程序包含3个进程,分别是图像采集、图像处理和按键判断。程序采用多进程的方式使得程序简洁高效,且有利于充分发挥ARM的性能。
1.5 GUI界面设计
图4 嵌入式GUI图形界面设计Fig.4 Embedded GUI graphic interface design
图4 显示的是嵌入式GUI图形界面。系统开机后,将首先进入欢迎界面,LCD显示“欢迎进入嵌入式色盲图像处理系统”,用户点击按键进入“色盲图像参数选择”菜单。参数包含显示模式选择(连续/静态)、算法选择、去噪参数选择、色弱系数选择。然后通过点击红二色盲、绿二色盲或蓝二色盲按钮后,LCD上将显示相应的图像。点击“返回”按钮回到上一级菜单。在图像显示过程中,通过按键可以选择切换图像或回到参数选择界面。
显示模式选择是通过点击“连续/静态”按钮来选择显示连续图像或者静态图像(静态模式下图像可以通过按键进行更新)。算法选择框用来选择内置系统中的几种色盲矫正算法;去噪参数选择对应于色盲图像处理算法中的去噪系数,范围从0-20,用于改善显示图像质量和去除噪声,数值越高去噪效果越好,但色盲矫正效果越差,需要根据系统实际应用的环境相应地进行调整。色弱系数代表色盲程度,色弱系数为0代表色盲,为1代表正常,中间数值大小对应相应的色盲程度。
2 系统实验测试
本系统在连续图像模式下,红二色盲图像显示帧率为10帧/秒,基本上能达到视频连续动态显示的要求。图5显示了红二色盲选项下几种图像显示模式,对应关系如图3所示。色盲图像矫正和仿真算法采用的是文献[11]提出的基于自适应映射的二色盲矫正方法,按照所观察的图像的颜色分布来划分颜色面和建立颜色映射关系,并按颜色映射关系对图像就行矫正。该算法具有失真较小和处理速度快等优点,适用于实时图像处理应用。
图5 系统实验效果图。原始图像显示“823”。Fig.5 Experimental figures of the system. The original figure shows‘823’..
4 结论与展望
本文以Samsung 半导体公司的S3C2440A处理器为核心,完成了基于ARM的嵌入式色盲图像处理系统的软、硬件设计,经过系统调试和整体测试,目前已能实现基本功能,证明了系统设计的可行性。同时,本系统可以作为嵌入式色盲图像处理的一个通用平台,可以在不修改硬件的基础上应用于较为广泛的场合,只需对算法模块进行修改和补充即可。
目前系统的实用化、完善化还需要进一步改进,可从系统便携性、电源智能管理、传感器集成等方面进一步优化。同时,需要编写更好的优化处理算法,使系统具有更高的运行效率和更好的人机交互感受。
本研究课题受复旦大学专用集成电路与系统国家重点实验室自主项目资助,在此表示感谢。
[1] Martin CE, Keller JG, Rogers SK, et al. Color blindness and a color human visual system model[J].IEEE Transactions on Systems, Man, and Cybernetics - Part A: Systems and Humans, 2000,30: 494-500.
[2] Nakauchi S, Usui S. Multilayered neural network models for color blindness[C], IEEE International Joint Conference on Neural Networks, 1991,1: 473-478.
[3] WachtlerT, DohrmannU, HertelR. Modeling color percepts of dichromats[J], Vision Research, 2004, 44: 2843–2855.
[4] Ro YM, Yang S. Color adaptation for anomalous trichromats[J]. International Journal of Imaging Systems and Technology, 2004, 14: 16-20.
[5] Ro YM, Huh Y, Kim M. Visual content adaptation according to user perception characteristics[J]. IEEE Transactions onMultimedia, 2005, 7(3): 435- 445.
[6] Yang S and Ro YM. Visual contents adaptation for color vision deficiency[C].IEEE International Conference onImage Processing, 2003, 1:453-456.
[7] Gooch A, Olsen S, Tumbiln J, Gooh B. Color2gray: saliencepreserving color removal[J]. ACM Transactions on graphics, 2005, 24:634-639.
[8] Rasche K, Geist R, Westall J. Detail preserving reproduction of color images for monochromats and dichromats[J]. IEEE Computer Graphics and Applications, 2005, 25(3): 22-30.
[9] Rasche K, Geist R, Westall J. Re-coloring images for gamuts of lower dimension[J].EuroGraphics, 2005, 24: 423-432.
[10] Deng Y, Wang Y, Ma Y, Bao J, Gu X. A fixed transformation of color images for dichromats based on similarity matrices[J]. Lecture Notes in Computer Science, 2007, 4681:1018-1028.
[11] Bao J, Wang Y, Ma Y,Gu X. Re-coloring images for dichromatsbased on an improved adaptive mapping algorithm[C]. International Conference onAudio, Language and Image Processing, 2008, 152-156.
[12] 鲍吉斌, 汪源源, 马煜, 等. 基于H分量旋转的色盲矫正方法[J]. 上海生物医学工程, 2008, 29(3):125-130.
[13] BrettelH, VienotF, MollonJD. Computerized simulation of color appearance for dichromats[J]. Journal of Optical Society of America, 1997, 14: 2647-2655.
[14] Vienot F, Brettel H, Mollon JD. Digital video colourmaps for checking the legibility of displays by dichromats[J]. Color Reseach and Application, 1999, 24: 243-252.
[15] Ma Y, Gu X, Wang Y. A new color blindness cure model based on bp neural network[J]. Lecture Notes in Computer Science, 2006, 3973: 740-745.
Embedded System Design of Color-blind lmage Processing
【 Writers 】Wang Eric1, Ma Yu1, Wang YuanYuan2
1 State Key Laboratory of ASIC & System, Fudan University, Shanghai, 200433
2 Department of Electronic Engineering, Fudan University, Shanghai, 200433
color blindness, image processing, embedded system
R318.18
A
10.3969/j.isnn.1671-7104.2011.01.011
1671-7104(2011)01-0045-05
2010-10-10
王恩,E-mail: wangenzk@gmail.com
【 Abstract 】An ARM-based embedded system design schemes is proposed for the color-blind image processing system. The hardware and software of the embedded color-blind image processing system are designed using ARM core processor. Besides, a simple and convenient interface is implemented. This system supplies a general hardware platform for the applications of color-blind image processing algorithms, so that it may bring convenience for the test and rectification of color blindness.