基于ARM的嵌入式图像识别检测系统的设计

2017-12-14 05:42
计算机测量与控制 2017年9期
关键词:图像识别嵌入式芯片

(华中师范大学 物理科学与技术学院,武汉 430079 )

基于ARM的嵌入式图像识别检测系统的设计

从树

(华中师范大学物理科学与技术学院,武汉430079 )

图像识别的主要目的是使用计算机作为工具对目标图像进行处理、解析与应用,通过数据分析检测出具有不同特征的目标和对象,发展至今其已成为了人工智能的基础;该文基于ARM嵌入式芯片提出了一种结合尺度不变特征变换匹配算法的图像识别检测系统,系统硬件部分采用模块化设计的思想以提高系统的兼容性,分为图像获取、数据采集、数据存储、图像识别等模块;软件部分采用斑点检测匹配匹配算法进行图像识别以提高图像识别速度与精度;实验结果表明所设计的系统具有识别速度快、精度高、可靠性高、故障少的特点。

ARM;SIFT算法;图像采集;图像识别

0 引言

图像作为时下最流行的信息载体,同时也是人类社会信息交流的重要来源,其广泛应用于生物检测、目标获取、就是探测、目标识别、目标定位以及人工智能等诸多领域。在实际生活工作中需要借助计算机对图像进行各种操作以获取我们所需要的目标信息,而其中对于图像的识别检测则是非常重要的一部分。

由于图像具有数据量大的天然属性,其在实际处理中是否能够有效存储告诉处理就成为了一个棘手的问题,依靠单纯的软件系统来对图像进行实时处理已经显得力所不及,为此,采用基于ARM的嵌入式设计图像识别系统成为当前的主流[1]。ARM(Advanced RISE Machine)是一类微型处理器,该处理器由于功耗小,计算能力强,性能稳定,已经在全世界内得到了广泛推广。ARM处理器已经用于工业控制、无线通信、网络运用、消费类电子及成像安全产品等

2012年胡胜等人探究了基于ARM与FPGA的图像识别装置[3],实现了多路数据同时采集的高速识别方法。同年,覃南鑫等人采用PCA分析法,提出了脱离PC机的人脸识别方法[4]。2014年郎璐红等人研究了嵌入式ARM系统的图像识别方法[1],识别图像的形状、颜色、大小等信息。 这些研究表明采用ARM嵌入式进行图像识别检测具有巨大的优势同时其技术也在不断的成熟。本文采用DoH算法作为图像的识别检测算法,基于ARM嵌入式芯片设计了一种图像识别检测的方法,可以提高整个图像识别系统的处理速度与精度。

1 图像识别检测系统结构

一个完整的图像识别检测系统包含的功能包括有图像获取、图像传输、图像存储以及图像识别等功能点,对应的整个系统的结构也相应的分成了4个功能模块,分别为图像获取模块,图像传输模块,图像存储模块以及图像的识别检测模块。这4个功能模块相互结合各自独立地完成自己所属的功能点,形成一个具有完整功能特性可独立工作的嵌入式系统,以实现对目标的获取识别。

如图1所示为图像识别检测系统示意图。如图所示,整个检测系统分为多个功能模块,而箭头所示直线代表数据的传输。由图中可以看出,整个系统需要完整运行的话,首先需要对目标图像进行获取,该系统中采用一个CCD作为图像的获取装置。获取到的图像拥有非常大的数据量,如果这大量的数据直接传输进入处理器进行检测识别,一旦数据的传输速度和处理器的处理速度不匹配势必会造成数据拥塞或者计算能力的浪费,因此我们需要设计一个存储模块对数据进行缓存。随后处理器从缓存器中按照自己的工作速度读取缓存好的图像数据进行识别检测,将读取出的每一幅图像进行SIFT算法提取特征后进行对比检测,并将最终结果通过一个显示器进行展示。只有这样整个系统系统工作才能实现对图像的高效检测识别。

图1 图像识别检测系统示意框图

2 系统硬件设计

2.1 图像获取模块

在图像的获取模块中使用一个数字相机(CCD)作为数据源,该模块分为两个子模块分别为一个负责光电传感的CMOS图像传感芯片以及一个对光进行聚焦的光学镜头。使用摄像头为V07670摄像头,分辨率率320*240。该模块采用行扫描模式以便能够高效快速的采集到目标图像数据,A /D转换器由控制芯片通过行、场同步信号来启动直接控制,其采样点的灰度值大小对应输出不同的电平值高低,CCD输出的信号是一个掺杂噪声的模拟信号,需要经过滤波去除噪声并对信号进行放大后传输进入A /D转换器进行模数转换,获得可供系统进行分析计算等操作的数字信号。为了整个系统的采集与处理速度达到最佳匹配,系统以控制芯片的工作频率为基准产生各个模块的驱动脉冲,也包括对于CCD的驱动。

如图2所示为图像获取模块的简单示意图,CCD获取到目标图像之后得到的是目标图像的电平大小,这是一个模拟信号,为了能够进行后续的数字处理,需要先进行模数转换的步骤。其中的通道信号调理就是将CCD获取到的模拟信号进行滤波去除噪声后进行发达操作,随后传输入ADC模块进行模数转换。为了能够使CCD的数据刷新频率与系统相同,使用控制芯片来控制CCD的驱动,以使得整个系统同频运行。

图2 图像获取模块示意图

2.2 数据存储与显示模块

在系统设计中,我们使用LCD12648显示模块对采集的图像进行显示,这是一个非常普通并且使用极其广泛的液晶显示器。为了能够进行显示其需要系统为其提供可供图像缓存的存储资源,而原始控制芯片中不能提供如此巨量的存储空间显然这样就不能达到系统的设计要求。为了能够使系统的各个模块协调运行以满足系统设计要求,该系统使用外接的SDRAM作为各模块驱动缓存器以及图像数据存储器,采用8M字节的IS42S16400芯片。SDRAM 控制器内核提供了一个Avalon_MM 接口供系统使用,将 SDRAM 存储器与 Nios II 系统相连接,而SOPC Builder中则集成了拥有 Avalon_MM 接口的SDRAM控制模块,可以使用配置向导对SDRAM 存储器的各项属性进行配置以满足系统的设计要求。LCD12864显示器件的正常工作电压为5 V,而系统控制芯片的工作电源为3.3 V,为了是两个不同工作电压的模块相互兼容需要对电平进行逻辑转换,FPGA控制芯片和LCD显示模块的连接框图如图3所示。

图3 控制芯片与LCD连接示意图

为了能够有效保护系统所获取的数据,这里也可以选用SD存储卡作为系统的存储介质。SD卡具有两种不同的通信协议分别为为SD及SPI协议,该系统使用SD卡的SPI模式。在系统设计中通过SPI协议对SD卡进行读和写操作,而在SPI模式先,其总线允许通过DI( 数据输入) 和DO( 数据输出) 来传输数据,数据流为串行模式。通过DI端口发送符合SPI协议的命令控制SD卡的复位、初始化以及读写等各种操作。

2.3 图像处理模块

系统采用三星公司的ARM9系列S3C2440作为系统处理器,该芯片以 ARM920T为核心,基于0.13um 的CMOS标准单元和存储器编译器开发。芯片功耗低,整个系统设计简单,高效,全静态的设计理念适合于应用于对成本以及功耗有要求的设备中。它采用高级微控制器总线架构(AMBA)作为芯片的总线架构。其在整个系统中的架构如图4所示。

图4 S3C2440控制器示意图

图4所示为S3C2440芯片作为ARM处理器控制整个系统的示意图。S3C2440芯片作为整个系统的控制器,其自身不但作为一个图像处理模块同时也控制着其他各个模块的运行。在系统设置时,将预先编写好的图像处理程序利用引导装载程序Bootloader进行BIOS加载,以实现芯片的图像处理功能。

由于图像识别的数据量非常大,图像的处理程序在CSS6000集成开发环境下开发。通过API函数的调用,用户程序在CSS6000的调度下按照优先级的顺序依序执行。首先系统复位重置后,点_c_init开始运行系统。第一步先完成对CSS6000环境的初始化,随后启动多任务工作模式。处理器在处理完成初始化后调用MBX_pend()以及SEM_pend()函数是图像处理程序挂起,将系统进入循环状态,执行后台IDL进程。等待ARM发出图像处理的请求再进行相应的操作。

3 系统软件

3.1 DoH识别算法

有效提取出图像的特征信息是对图像进行分析与识别的前提与基础,其一般理解为将高维的直观图像转化为简便高效的简化表示式,例如从一幅具有M×N×3的数据矩阵的图像我们是不能够看出任何有效特征信息的,因此我们需要对这些数据进行处理分析以提取出图像中包含的特征信息以及基本关系。

每一幅图像都具有能够表示其各个局部特性的特征点,它能够表示图像在这一部分区域的局部特点,而每一幅图像所拥有的特征信息是各不相同的,因此特征点可以作为图像的独有特征以实现图像的检测识别。而图像的特征点最突出的就是其斑点和角点。斑点指的是环境中与周围部分的灰度值存在着较大差异的区域,如夜空中的明月,沙漠中的绿洲。它指的是一个区域范围,因此它能够臂角点抵抗更强的噪声具有更好的算法稳定与可靠性。角点指的则是图像中一个物体中线条交叉的交叉点部分。该文采用DoH识别检测算法,该方法计算简单,识别速度快,检测精度高。

DoH检测是利用图像点的二阶微分Hessian矩阵及其行列式DoH(Determinant of Hessian)来检测图像斑点。

Hessian矩阵的表达式如式(1)所示:

(1)

相应的其行列式为式(2)所示:

det (H) =LxxLyy-Lxy2

(2)

其中:Lxx表示二维高斯函数求关于x的二阶偏导对图像进行卷积后的结果,Lxy表示用二维高斯函数求关于x的偏导后再对y求偏导对图像进行卷积后的结果,而Lyy表示二维高斯函数求关于y的二阶偏导对图像进行卷积后的结果。

随后,计算相应的偏导算子。二维的高斯函数如下表示:

(3)

则进一步运算后得到:

如上运算后得到的为规范化的偏导算子。

而DoH斑点检测算法的步骤可以总结为:

1)计算得到图像的二阶微分Hessian矩阵。

2)计算其行列式。

3)根据不同的σ值生成规范化的偏导算子。

4)分别对图像进行卷积运算

5)在图像的位置空间和尺度空间中搜索DoH相对应的峰值。

3.2 算法检测

在对算法进行验证时,我们分别使用两幅大小不同,细节复杂程度不一样的图像作为原始图像。一幅向日葵图,图像大小为328*220像素,具有较为丰富的细节。一幅月亮图,图像大小为662*504像素,细节特征较为简单,易于辨识。

图5 向日葵图像特征提取结果图

图6 月亮图特征提取结果图

如以上两幅仿真结果图所示,不管目标图像的大小与否,细节是否复杂,采用DoH识别算法都很好地提取出了目标图像的特征点。而由此我们可以进一步推断,如果我们可以很好的对目标图像进行特征提取,随后我们只需要进行下一步的特征对比就可以进行图像的识别与检测。但是在仿真的过程中我们发现,图像的大小与细节的复杂程度影响着算法的特征检测速度。

4 结果与分析

4.1 系统验证

最后我们对设计好的图像识别与检测系统进行实验验证,验证分为两个部分,一方面是可行性验证,另一方面则是准确性验证。可行性验证设计为使用该系统对包含同意目标的两幅图像进行特征值提取并且进行检测匹配,以判断是否具有相同的图像特征以进一步达到图像识别的目标。

图7 可行性验证结果图

由图7所示为包含有同一个水杯的两幅图像经过系统识别检测后提取出的特征点,从结果中可以看出,包含同一目标的两张图经过系统识别后提取出了相同的图像特征,而这两张图中的目标也被系统检测识别为同一个,这充分证明该系统是可行的。

随后对其进行可靠性仿真,这一部分使用大量破损度不同的图像探究了其在不同破损度下的识别准确率,如下图8为不同破损度下的准确度曲线。

由图8可以看出,图像的破损度对于系统的识别准确率具

图8 不同破损度下准确度曲线

有很大的影响。将图像的破损度一次设置为5%-40%,由图8可以看出在其他条件没变的情况下,随着破损度的不断提高,系统的识别准确度也随之不断降低。这很容易理解,由于图像的破损度不断提高其所包含的图像信息也随之降低,进而其特征点也遭到了相应的破坏而通过特征点进行图像识别的准确率也随之下降。不过另一方面可以发现,在图像破损不算严重的情况下,该系统依然具有很高的识别准确度。但是这也提醒我们在系统的实际应用中,应尽量保证目标图像的完整性以保证系统的识别准确度。

4.2 方案的不足

该方案基于ARM设计了图像识别检测系统,虽然很好的完成了系统设计目标,但是也存在着一些不足之处有待改善。

1)图像的识别检测有很多更加优秀与可靠的算法,各种算法针对于不同的运用场景,而该系统为了简化计算,提高效率使用了DoH算法难免有失偏颇。

2)在对目标进行识别时发现,目标的完整性对于图像的识别准确度具有很大的影响,后续可以与图像处理相关技术相结合,预先进行图像的预测得到完整图像以此提高系统的识别准确度。

5 结论

本文基于ARM嵌入式芯片,结合DoH图像特征提取算法设计了基于ARM的图像识别检测系统。采用ARM嵌入式作为硬件设计部分可以大大提高了系统的图像采集与处理速度,为了适应系统的存储容量与安全性要求,使用SD卡以及外接SDRAM设计,同时结合DoH算法大大提高了图像的识别速度与准确性。最终的实验结果表明所设计的系统可以有效对图像进行识别,并且在图像存在破损的情况下依然具有相当高的准确率。总结而言,本系统较好的实现了系统设计目标,具有相当可靠的识别准确性。

[1] 郎璐红, 余红英, 董 俊. 嵌入式ARM系统中图像的识别方法研究[J]. 齐齐哈尔大学学报(自然科学版), 2014(5):20-23.

[2] 白兵乾. 基于ARM移动平台的图形识别算法研究与实现[D]. 天津:河北工业大学, 2011.

[3] 胡 胜, 杨 雷, 宋 跃,等. 基于ARM amp; FPGA的CCD图像识别装置[J]. 仪表技术与传感器, 2012(1):54-56.

[4] 覃南鑫, 石烺峰. 基于ARM的人脸识别系统的设计[J]. 科技传播, 2012(5):181.

[5] 尹成瑞. 基于CMOS+ARM的运动图像识别系统设计[J]. 计算机与数字工程, 2016, 44(4):725-729.

[6] 韩 策. 基于嵌入式图像的人员识别系统的设计与实现[D]. 大连:大连理工大学, 2013.

[7] 左春雪, 吉喆明, 黄小红. 基于ARM嵌入式操作系统的图像处理[J]. 计算机与数字工程, 2015(3):480-483.

[8] 钱 刚, 丁万山. 基于ARM及CPLD的纸币图像采集系统的设计[J]. 计算机测量与控制, 2007, 15(5):683-685.

[9] 南昌航空大学测试与光电技术学院. 基于ARM+FPGA+多DSP的嵌入式实时图像处理系统[J]. 电子技术应用, 2011, 37(8):142-146.

[10] 严承华, 李 华. 基于ARM的嵌入式指纹图像处理技术研究[J]. 海军工程大学学报, 2008, 20(5):64-70.

[11] 翁木云, 何明一. 图像综合特征及其在图像检测与匹配中的应用[J]. 中国图象图形学报, 2007, 12(1):121-126.

[12] 陆 洲, 王宝光. 基于FPGA的嵌入式彩色图像检测系统[J]. 传感技术学报, 2007, 20(3):618-622.

[13] 滕 日. 基于SIFT的局部不变特征研究[D]. 北京:中国科学院大学, 2016.

[14] 张满囤, 王 洁, 黄向生,等. Gradual-SURF算子的角点提取[J]. 计算机工程与应用, 2013, 49(10):191-194.

[15] 沈同圣, 张 健, 娄树理. 面向目标检测的空间观测图像精确配准[J]. 光学精密工程, 2014, 22(8):2205-2213.

[16] 刘文印, 唐 龙, 唐泽圣. 一种在矢量基础上进行图形识别的通用方法[J]. 软件学报, 1997(5):376-383.

DesignofEmbeddedImageRecognitionSystemBasedonARM

Cong Shu

(Institute of Physics Science and Technology, Center China Normal University, Wuhan 430079,China)

As one of the most important fields of artificial intelligence, image recognition is a technology that uses the computer to process, analyze and understand the image. In this paper, an image recognition and detection system based on ARM embedded chip is proposed, The hardware of the system adopts the idea of modular design to improve the compatibility of the system, it is divided into image acquisition, data acquisition, data processing and image recognition module; the software part adopts the scale invariant feature transform matching algorithm in order to improve the image recognition and image recognition speed and accuracy. The experimental results show that the designed system has the characteristics of high speed, high precision, high reliability and low failure.

ARM; SIFT algorithm; image acquisition; image recognition

2017-03-22;

2017-04-13。

从 树(1989-),男,湖北枣阳人,主要从事嵌入式软件开发方向的研究。

1671-4598(2017)09-0036-03

10.16526/j.cnki.11-4762/tp.2017.09.010

TP273

A

猜你喜欢
图像识别嵌入式芯片
芯片会议
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
人体微芯片
关于射频前端芯片研发与管理模式的思考
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
TS系列红外传感器在嵌入式控制系统中的应用
图像识别在物联网上的应用
图像识别在水质检测中的应用
搭建基于Qt的嵌入式开发平台