APP下载

牛胴体品质检测系统中基于嵌入式Linux的终端设计

2012-11-02刘超超彭增起沈明霞谌启亮吴海娟陈士进

食品工业科技 2012年7期
关键词:胴体牛肉嵌入式

刘超超,彭增起,沈明霞,谌启亮,梁 林,王 卫,吴海娟,陈士进

(南京农业大学,农业部农畜产品加工与质量控制重点开放实验室,江苏南京210095)

牛胴体品质检测系统中基于嵌入式Linux的终端设计

刘超超,彭增起,沈明霞*,谌启亮,梁 林,王 卫,吴海娟,陈士进

(南京农业大学,农业部农畜产品加工与质量控制重点开放实验室,江苏南京210095)

设计基于嵌入式微处理器OMAP3530和操作系统Linux的牛胴体品质检测终端。采用CCD工业相机作为图像采集设备,运用Linux下应用编程接口(API)V4L2实现视频实时显示、图像捕获和保存;采用Wi-Fi技术实现终端与PC服务器之间图像以及数据的交互;应用程序基于Qt/Embedded开发实现。实验表明,该终端能在现场条件下稳定运行。

牛胴体,Linux,Wi-Fi,机器视觉

1 系统总体方案及工作原理

系统总体设计如图1所示。整个系统由基于嵌入式Linux的牛胴体品质检测终端和PC服务器两部分组成。其中,牛胴体品质检测终端手持操作,用于采集牛肉图像和无线传输;PC服务器利用基于VC++6.0开发的分级软件对牛胴体品质进行分级。系统使用过程:在牛胴体分割现场手持操作终端设备采集横切面眼肌区域图像,并通过无线设备传输给PC服务器;服务器自动运行牛胴体品质分级程序,再将分级结果无线回传给嵌入式终端。整个过程仅需操作终端设备上的人机界面。

图1 系统总体设计框图Fig.1 General design diagram of beef carcass quality measurement system

2 终端整体设计

牛胴体品质检测终端需要实现牛肉图像采集和无线传输数据两个主要功能,在硬件设计时,充分考虑体积小、性能优越两个要求。

终端硬件平台包括:OMAP3530处理器、CCD工业相机、Wi-Fi无线通信模块以及一些外围设备。其中,OMAP3530处理器集成600MHz的ARM内核以及430MHz的DSP核,具有强大的数据处理能力和快速的硬件响应。此外,还提供丰富的外设接口,支持Linux操作系统,并包含完备的底层驱动。牛胴体横切面图像质量对品质检测尤为关键,选用维视公司的高清晰CCD工业相机,外形小巧、功耗低,具有很好的可靠性和稳定性。为缩短牛肉图像及品质分级结果传输的等待时间,采用Wi-Fi技术实现无线短距离通信。选择天漠公司专为嵌入式终端提供的无线通信模块,具有接入方便、体积小、功耗低、适应IEEE802.11b/g标准等优点。

终端软件系统以嵌入式Linux和Qt/Embedded为基础。Linux操作系统具有软件免费、系统稳定、源代码开放、系统可裁剪、移植性好等优点,在嵌入式系统领域拥有显著的技术优势。Qt是一个跨平台的C++图形用户界面库,采用一种称为“信号/槽”的安全机制代替callback回调函数,使各个控件之间的协作变得非常简单。Qt/Embedded是面向嵌入式系统的Qt版本[7],软件集成开发环境采用QtCreator。

3 终端功能实现

3.1 牛肉图像采集功能实现

3.1.1 基于V4L2视频采集 牛肉图像采集方案为:将CCD工业相机输入TVP5146数字解码电路进行信号模/数转换,再接入嵌入式平台。解码芯片TVP5146的驱动程序集成在内核源码中,应用程序中运用V4L2调用CCD工业相机。

V4L2(Video 4 Linux 2)是Linux下操作视频设备的标准[8],应用程序调用CCD时,主要运用到四个函数,分别为:

open();//打开设备文件;

close();//关闭设备文件;

ioctl();//对设备的I/O通道进行管理,从而控制设备某些特性;

mmap();//将设备内存缓冲区映射到用户空间。

视频采集编程流程如图2所示。

图2 视频采集编程流程Fig.2 Software process of video capture

本设计中采用mmap()方式进行图像采集:先将申请到的缓冲区映射到用户空间,然后将缓冲区入队列,利用队列的“先进先出”原则,把队首的帧数据取出并进行相应的图像处理。注意取出队列的缓冲区在帧数据处理完毕后需要重新入队列,否则将没有缓冲区可用。

3.1.2 图像格式转换 经数字解码电路模/数转换后的图像数据格式为UYVY,Qt/Embedded的QImage类并不支持此图像格式。因此在视频显示及图像捕获之前,必须进行图像格式转换,将UYVY格式转换为更适合图像处理的RGB32格式。

图像格式转换一般由推导出的转换方程完成。为加快计算速度,常采用两种方法:一种是采用移位法实现整型运算代替浮点运算;另一种是通过查表法实现快速格式转换。本设计采用第一种方法。

整型转换方程如下:

式(1)中:R、G、B分别为RGB32格式图像二进制编码中R分量、G分量、B分量对应的数值(取值范围为0~ 255);Y、U、V分别为UYVY格式图像二进制编码中Y分量、U分量、V分量对应的数值(取值范围为0~255)。

3.1.3 基于Qt/Embedded牛肉图像采集软件界面 牛肉图像采集程序功能包括视频启动、图像捕获以及图像保存。利用Qt提供的可视化界面设计工具Qt Designer来开发应用程序的界面组件,首先创建QPushButton类的按钮用来视频启动、图像捕获及保存等,再新建一个QLabel类的空白区域用于显示牛肉视频及图像。牛肉视频实际是由多个一帧牛肉图像连续显示产生。程序中通过设置一个定时器QTimer,然后将取出的牛肉图像每隔一段时间重绘于QLabe1区域。当需要捕获牛肉图像时,先关闭视频采集,再将当前取出的一帧数据经图像格式转换后显示出来。save()函数用于实现图像保存。牛肉图像采集软件界面如图3所示。

图3 牛肉图像采集软件界面Fig.3 Software interface of capturing beef images

3.2 无线传输功能实现

采集到的牛肉图像大小为640×480(900kB),传输数据量较大,为缩短等待时间,采用传输速度高的无线局域网技术(Wi-Fi)。牛胴体品质检测终端和PC服务器依靠两个无线设备和一台无线路由器实现硬件互连。3.2.1 无线通信模块的驱动移植与配置 将无线通信模块插入终端,然后将厂家提供的驱动文件通过U盘下载到终端上,驱动移植过程如下:

#mount-t vfat/dev/sda1/mnt/usb(将U盘挂载到/mnt/usb目录下)

#cd/mnt/usb(进入/mnt/usb目录)

#cp-R etc//(将/mnt/usb目录下整个etc文件夹复制到根目录下)

#cp-R usr//(将/mnt/usb目录下整个usr文件夹复制到根目录下)

#chmod a+x/usr/bin/*(修改/usr/bin目录下所有文件的权限为可执行)

#insmod/usr/lib/rt3070sta.ko(加载驱动模块)

驱动移植完毕,利用“wireless_tools”工具对无线通信模块进行配置,配置程序部分代码如下:

iwlist ra0 scan(搜索可用的无线接入点)

iwpriv ra0 set NetworkType=Infra(设置网络类型)

iwpriv ra0 set AuthMode=SHARED(设置自动模式)

iwpriv ra0 set EncrypType=WEP(设置密码类型)

iwpriv ra0 set SSID=“BEEFGRADE”(填写无线接入点的网络名)

iwpriv ra0 set Key1=“12345abcde”(填写无线接入点密码)

经ping命令测试,终端顺利接入无线局域网络。将配置程序写入脚本文件,并设置系统运行初始执行该脚本文件,实现无线通信模块的开机自启动功能。

3.2.2 基于Socket实现TCP客户端/服务器通信 Socket是为方便开发人员进行TCP程序开发而制定的一组应用程序接口[9]。TCP协议是一种基于连接的通信协议,这种连接是点对点的,更加稳定可靠,非常适合于连续不断的数据传输。利用Socket进行TCP网络连接,是一种基于客户端/服务器(C/S)的连接类型。本设计中牛胴体品质检测终端为客户端,PC服务器依然为服务器。客户端/服务器TCP通信流程如图4所示。

Socket客户端程序采用Qt/Embedded开发。QTcpSocket是Qt的一个子类,用于创建TCP连接和数据流交换。编程时,先创建一个QTcpSocket类的实例,然后使用connectToHost()函数与服务器进行连接。如果连接失败,将返回一个error(QAbstractSocket::SocketError)信号;如果连接成功,将会返回一个connected()信号。连接成功以后就可以发送牛肉图像或者接收分级数据。发送数据采用write(const QByteArray&byteArray)函数,如果发送成功将返回实际发送的字节数,如果发送失败则返回数值-1。牛肉图像大小相同,均为900kB,需要对图像数据分块发送,块的大小由自己决定。当客户端收到分级数据时,readyRead()信号将被发射出来,因此可以将readyRead()信号与一个槽进行连接,分级数据的相关处理由槽函数完成。通信完毕后,使用disconnectFromHost()函数断开此次连接。

图4 客户端/服务器TCP通信流程Fig.4 TCP transmission process based on C/S

4 实验研究及讨论

表1 无线传输用时及图像识别实验结果Table 1 Experimental results of wireless transmission time and images recognition

系统实验分析在秦宝牧业有限公司进行。实验样本为20头秦川雪花肥牛,该企业对雪花肥牛的品质判级主要依据其大理石花纹等级,分为A1级、A2级、A3级以及B级。实验地点选在牛胴体分割车间。实验拍摄目标为牛胴体第6~7根肋骨处横切面的眼肌区域,总计采集到40张有效牛肉图像。

实验时,放置PC服务器和无线路由器的实验台距检测现场约6m远,中间无障碍。实验记录了从牛肉图像传输到处理结果返回的用时数据,并利用南京农业大学开发的牛肉品质智能分级软件对传输到PC服务器上的牛肉图像进行初步数据分析,表1为其中10组实验数据结果。

分析实验数据可知,无线传输平均用时约2s,操作无明显停滞感。大理石花纹的初步统计数据显示,采集的牛肉图像能反映真实的大理石花纹分布情况,可作为机器视觉图像分析的样本。实验表明,在0~3℃,湿度比>70%条件下,采集到的牛肉图像质量和Wi-Fi无线传输效果都很理想,能够较好满足牛胴体品质检测的需要。

5 结论

设计开发基于嵌入式Linux的牛胴体品质检测终端,采用CCD工业相机与嵌入式平台结合的方案用于牛肉图像采集,并采用Wi-Fi技术用于无线传输,具有体积小、操作方便、检测快速等优点,实现了牛肉分级设备的小型化和便携化,在雪花牛肉品质检测中有很好的前景。

[1]Gerrand D E,Gao X,Tan J.Beef marbing and colour score determination by image processing[J].Journal of Food Science,1996,61(1):145-148.

[2]Shiranita K,Hayashi K,Otsubo A,et al.Grading meat quality by image processing[J].Pattern Recognition,2000,33(1):97-104.

[3]仇金宏,沈明霞,彭增起,等.基于改进型FCM算法的牛肉大理石花纹提取方法[J].农业机械学报,2010,41(8):184-188.

[4]吴海娟,彭增起,沈明霞,等.机器视觉技术在牛肉大理石花纹识别中的应用[J].食品科学,2011,32(3):10-13.

[5]沈振宁.牛肉影像分级仪对牛肉分级的精确性与适用性研究[D].南京:南京农业大学,2008.

[6]Cannell R C,Tatum J D,Belk K E,et al.Dual-Component video image analysis system(VIASCAN)as a predictor of beef carcass red meat yield percentage and for augmenting application of USDA yield grades[J].Journal of Animal Science,1999,77(11):2942-2950.

[7]丁林松,黄丽琴.Qt4图像设计与嵌入式开发[M].北京:人民邮电出版社,2009.

[8]Michael H Schimek.Video for Linux Two API Specification [EB/OL].2008.http://v4l2spec.bytesex.org/spec-single/v4l2.html.

[9]吴佩贤.Linux环境下基于TCP的Socket编程浅析[J].现代电子技术,2005,207(16):53-55.

Design of terminal based on embedded Linux in beef carcass quality measurement system

LIU Chao-chao,PENG Zeng-qi,SHEN Ming-xia*,CHEN Qi-liang,LIANG Lin,WANG Wei,WU Hai-juan,CHEN Shi-jin
(Key Laboratory of Agricultural and Animal Products Processing and Quality Control,Ministry of Agriculture,Nanjing Agricultural University,Nanjing 210095,China)

Based on the Embedded MPU OMAP3530 and operating system(OS)Linux,a terminal device used by beef carcass quality measurements system was designed.The image acquisition device was a CCD industrial camera,and fuctions of real-time display,capturing and saving pictures were achieved by the API V4L2 in OS Linux.Wi-Fi technology was used for image and data transmission between the terminal and PC server.Applications for the terminal device were programmed with Qt/Embedded.It was proved that the terminal could operate steadily under the local condition.

beef carcass;Linux;Wi-Fi;machine vision

TS207.3

A

1002-0306(2012)07-0336-04

相比传统的人工评定方法,基于机器视觉的牛肉品质检测更为客观、准确。早在20世纪70年代末,国外学者便开始尝试将机器视觉图像处理技术运用到牛肉品质分级领域,而国内相关研究起步较晚,大量研究表明机器视觉图像处理能有效预测牛肉品质相关评定指标的等级[1-4]。目前国外已研制出一些基于机器视觉的牛肉分级系统应用于实践生产,如CSBFuzzyMeater牛肉分级系统以及VIAScan牛肉分级系统[5-6]。这些系统用于检测西冷、外脊、眼肉等高档牛分割肉的品质,检测流程大致相同:先将分割肉的横切面正对CCD工业相机放置在规定位置,然后采集横切面区域图像,通过电缆传输到计算机平台进行图像处理并给出分级结果,通常这类系统体积庞大、移动不便。asurements牛胴体品质等级检测环境与高档牛分割肉检测环境不一样,牛胴体品质检测在其分割加工前进行,先将冷却后的胴体二分体沿第6~7根肋骨处切开(未切断),再根据横切面的眼肌面积、大理石花纹、红肉色泽等指标来评价整个牛胴体的品质。牛胴体庞大且无法移动,这就要求分级系统能便捷地采集牛胴体横切面图像,体积小且不影响现场的分割工作,前面提及的牛肉分级系统均不适合。为适应牛胴体品质检测的工作场景,将基于机器视觉的牛肉品质分级系统的功能分离,即前端采集牛肉图像,后端处理牛肉分级。依靠嵌入式系统的优势,设计了基于嵌入式Linux的牛胴体品质检测终端。该终端体积小、操作方便、便于携带、性价比较高,采集牛肉图像更便捷,同时采用无线传输技术,快速完成图像及数据传输,能够在牛胴体分割环境下稳定工作。

2011-07-11 *通讯联系人

刘超超(1987-),男,硕士研究生,主要从事牛肉分级及嵌入式机器视觉研究。

国家现代农业(肉牛)产业技术体系项目(nycytx-38);农业科技成果转化资金项目(SQ2011ECC100043);江苏高校优势学科建设工程资助项目(PAPD)。

猜你喜欢

胴体牛肉嵌入式
影响猪胴体瘦肉率的因素及提高措施
酸汤牛肉里的爱
寻味牛肉
牛肉怎么做,好吃又嫩?
搭建基于Qt的嵌入式开发平台
嵌入式软PLC在电镀生产流程控制系统中的应用
内洛尔公牛的饲料转化率及其与胴体品质、非胴体品质和肉品质的关系
吃不上牛肉了
蓝塘猪与长白猪正反交F1代胴体性状和肉品质的比较
味精与高脂日粮对生长猪胴体性状与组成的影响