基于USRPLabVIEW远程识别系统设计实现

- 轩 谢, 北京邮电大学

"我们LabVIEW软件平台,结合NI USRP2920硬件设备研究,设计实现远程识别系统。同时通信规则,实现识别算法,利用软件无线设备实现射频通信过程。"

- 轩 谢, 北京邮电大学

挑战:

人脸识别作为身份识别领域的主要研究方向之一,在快速、准确、安全的身份识别应用中占有重要的地位。此外,随着无线传输技术的可靠性及有效性的不断提高,将无线通信和远程人脸识别技术结合具有非常重要的现实意义。软件无线电技术近年来在无线通信领域的应用变得越来越广泛,所以通过使用一些通用的软件无线电外设,研发人员可以快速地利用计算机搭建一个强大灵活的无线通信系统,本设计的主要创新点在于将软件无线电技术,人脸识别技术相结合,搭建一个远程人脸识别系统。

解决方案:

本文介绍了一种基于NI USRP硬件平台和LabVIEW软件平台的远程人脸识别系统的设计和实现。系统按照功能模块可以分为图像采集、人脸识别、无线通信三部分。该系统由一台主机和多台从机组成,从机通过摄像头采集人脸图像,利用NI USRP设备将数据经无线信道发送给主机;主机从相连的NI USRP接收从机数据,并在LabVIEW开发环境中进行数据处理和人脸识别,最后将识别到的身份信息反馈至从机。

一. 引言

互联网彻底改变了人们的生活方式,“互联网+”作为2015年的热点词汇,说明互联网甚至改变了许多企业的经营方式,和人们的生活理念。而安全、可靠、智能的远程身份识别技术在今天这个网络信息安全十分重要的时期,无疑是本能忽略的。不需要再记忆复杂而繁多的登录账户和密码,将每个人所拥有的、唯一的、不可复制的生物信息作为远程身份识别的标志将从根本上改变人与互联网的关系。而性能优越的无线传输平台对远程身份识别系统的设计十分重要。软件无线电技术是无线通信领域的一个主要发展趋势,通用软件无线电外设(USRP)可以让研发人员仅利用计算机就能设计和搭建一个强大、灵活的软件无线电系统。 NI USRP为软件无线电开发提供了一个理想的原型化平台,为真实化的无线通信开发提供了性能优越的开发平台。LabVIEW作为一种图形化的编程环境,可以方便地与NI USRP结合,组成开发环境。

二. 系统框架及功能组成

 


系统功能:本系统为星型结构,系统组成如图2.1所示。主机可与外围从机进行无线通信,系统采用半双工的工作方式,主机完成图像识别和信息反馈,从机进行图像采集和预处理。在计算机上利用LabVIEW处理信号,USRP进行无线射频信号的收发。

 

使用模块说明:本系统的图像采集功能主要利用LabVIEW的视觉开发模块(Vision Development Module)实现,首先,通过IMAQdx相关控件控制摄像头进行人脸图像获取,随后对图像进行预处理;系统的人脸识别模块主要利用LabVIEW MathScript进行编程开发,设计中分别实现了线性判别分析(LDA)和主成分分析两种算法脚本;无线通信部分利用了射频与通信模块(RF and Communications Fundamentals)定义了主从机之间的通信协议,包括:数据帧格式,异步通信机制,同步,信道编码,数字调制等方面,并在LabVIEW环境进行了开发实现。最后本文在完成了各项功能模块的设计及实现后,对系统整体进行了测试。系统功能组成如图2.2所示。

 

 

 

本文主要内容及后续章节安排:

本文以LabVIEW软件和NI USRP硬件为基础,搭建远程人脸识别系统。按照设计功能,主要分为以下三个部分:图像采集、人脸识别、无线传输系统。其中,图像采集通信子系统在LabVIEW平台上结合USRP实现,人脸识别算法由Matlab实现,通过LabVIEW的MathScript节点实现跨平台调用。

1)第一节主要提出本设计所遇到的技术挑战,并总述系统设计方案,同时分析本设计的应用前景。

2)第二节主要介绍了本系统整体结构以及整体的文章的整体安排。

3)第三节介绍了图像采集的相关内容以及人脸识别算法的实现过程,同时给出各项方案的测试结果。
3)第四节主要介绍了本系统无线通信的相关内容。从编码,调制,解码,恢复,数据帧格式,同步,校验等方面对通信子系统做详细介绍。

3)第五章对整个系统进行整体测试。从运行时间,识别率,收发图像的失真度,交互界面的友好状况各方面,测试系统功能。
最后,对全文进行总结,得出本次设计过程的收获,系统的不足之处,提出系统可能的改进方案。



三. 图像采集和人脸识别的实现
1)图像采集模块介绍

 

 

 

为了方便高效的完成图像采集的工作,本系统采用了NI公司的视觉采集模块。该模块还集成了数据采集,触发,控制,分析评价等多项功能,可满足工程技术人员的不同需求。视觉采集模块丰富的机器视觉和图像处理函数库提供了大量用于图像预处理、图像提取的开发工具,可完成图像格式转换,二值化处理,图像的几何变换等工作。

 

 LabVIEW提供了多种图像采集的方法。其中NI公司的视觉采集软件提供的驱动和函数,既能够从数千种连接到NI帧接收器上的不同相机上采集图像,也能够连接在PC、PXI系统或笔记本计算机上标准端口的IEEE 1394和千兆以太网视觉相机采集图像。本系统使用笔记本内置摄像头来采集图像。


2. 电脑摄像头直接采集的照片为RGB格式,大小为1280*720像素,而后续识别需要的图片为灰度图,大小为92*112像素转换公式如下:

Gray = 0.299 * R + 0.587 * G + 0.114 * B               

系统待识别的图片可以是从机已有图片或者现场采集的图片,图像采集及处理部分的搭建主要依靠LabVIEW视觉开发模块来实现。

 

2)人脸识别功能实现
人脸的差异主要表现在脸部器官的形状、大小以及分布的相对位置等等,但是分布存在一定的内在规律,如鼻,口,眼的特这点的相对位置所满足的关系,这可以作为人脸识别的一个方向。常用的局部特征有,眼睛,鼻子,嘴巴等局部形状特征和脸型,以及五官在脸部分布的几何特征。提取人脸几何特征时,一般要用到人脸结构的一些先验知识。 系统选取了两种比较经典的人脸识别的算法:主成分分析法(PCA)和线性判别分析法(LDA)。

 

PCA算法总述

PCA算法是利用主成分变换抽取人脸的主要成分,构成特征脸空间,在识别时,将测试图像投影特征脸空间,得到一些列投影系数,通过与各个人脸图像比较进行识别。

 

PCA算法是统计最优的人脸识别算法,具有速度快,实现方便,对正面图像识别率高的优点,但是容易受到光照、表情和姿态等因素的影响。

 

PCA算法原理框图

 

 

 

PCA算法原理简介
PCA算法是利用K-L变换抽取人脸的主要成分,构成特征脸,在识别时,将测试图像投影到特征脸空间,得到一些列投影系数,通过与各个人脸图像比较进行识别。

 

程序运行结果

 

 

3.3识别前的程序前面板 

 

 

图3.4识别后面板

2. LDA算法简介

LDA算法是一种较为普遍的用于特征提取的分类方法,它基于Fisher准则,寻找一组将高维样本投影到低维空间的最佳判别投影向量,使所有的投影样本类内离散度最小且类间离散度最大。

 

LDA算法流程图

 

 

LDA算法优缺点分析:

LDA算法对光照条件,人脸表情,姿态变化不太敏感。

 

 

 

图3.7图像识别后

PCA算法和LDA算法对比分析: PCA算法只是将数据整体投影到最方便表示的坐标轴上,映射时并未利用数据内部的分类信息,因此,虽然做了PCA之后,整租数据在表示上更加方便,将数据的维数降低,并且将数据损失降到最低,但是在分类上也会变得更加困难,而LDA在增加了分类信息后,两组输入映射到另外一个坐标轴上,有了这样一个映射,两组数据之间就变得更加容易区分了,并且减少了很大的运算量。

 

将两种算法分别编程实现后,可以发现,PCA算法的优势在于识别花费时间较短,但是识别准确率不高,而LDA算法的识别准确率较高,但是由于跨平台调用,而且调用自定义子函数较多,所以花费时间较长,所以本系统最终选择,LDA算法来实现系统的人脸识别部分的功能。

 

混合编程的实现:在做系统整体规划时,考虑到作者有一定的Matlab平台编程经验,同时LabVIEW提供了m文件的跨平台调用。其中在查阅相关资料之后总结得到Matlab与LabVIEW实现混合编程的方法总共有三种:(1)通过Matlab Script节点中直接使用直接Matlab程序。在Matlab Script节点中,用户可以编辑Matlab程序,也可以直接导入已经存在的Matlab程序,并且可以直接在LabVIEW环境下运行,而不需要安装Matlab的工作环境。(2)    利用COM组件调用Matlab算法。用户可以在Matlab中使用Matlab COM Builder功能快速将m文件转化成独立的COM组件对象,生成的COM组件可以在任何支持COM组件对象的平台上使用,在LabVIEW中可以通过ActiveX控件实现对COM组件的调用。(3)  利用动态链接库技术。用户可以再Matlab中将m文件翻译为cpp代码,接着编译为dll文件,然后用LabVIEW提供的调用库函数(Call Library Function ALF)控件实现对dll文件的调用。

 

四.无线通信模块的设计与实现

1)整体设计方案

通过考虑通信系统的工作效率和充分利用软件平台和硬件平台完成整个系统的设计的原则下,本系统采用了一台主机和三台从机来完成整个系统的搭建,共需要4台USRP-2920和4台配有千兆比特传输能力网卡的计算机,工作系统如图3.1所示:

 

 

 

USRP与计算机相连就可以作为软件无线电设备使用。信号通过SMA连接器输入,通过直接转换接收器(DCR)转换为基带I/Q分量,这个分量由一个双通道,速率为100MS/s,的14位模数转换器(ADC)采样形成。数字化的I/Q数据在一对并行路径上通过数字下变频(DDC)处理,混合滤波后,再对输入的100MS/s的信号十分频,变成用户需要的信号。下变频采样信号总共有32位,其中16位为正交支路,另外16路为同相支路。采样信号传输到计算机的速率为20MS/s,可通过千兆以太网传输到计算机进行处理。在传输过程中,基带I/Q信号通过计算机合成,当使用32比特进行传输时(正交支路和同相支路各16比特),通过千兆以太网返回到USRP-2920的速率为20MS/s。USRP硬件对输入信号进行数字上变频(DUC)处理,使信号速率达到400MS/s 然后将信号进行转换,输入到模拟双通道、16位数字模拟转换器(DAC)。最终模拟信号与用户制定的载频混合。在支路为8比特模式下,正交支路和同相支路的数据通过下变频采样或上变频采用被转换为16比特,这时,USRP和计算机通过千兆以太网的传输速率可达到40MS/s。系统整体结构如图所示。

 

 

 

3)无线通信系统

通信协议:通信协议是指双方实体完成通信或者服务所必须遵循的规则和约定。一般的通信协议包括数据单元的格式,信息单元所包含的信息与含义,连接方式,信息发送和接收的时序,

 

从而确保网络中的数据顺利的传送到目的地。在计算机通信中,通信协议用于实现计算机与网络连接之间的标准,网络如果没有统一的通信协议,电脑之间的信息传递就无法实现。通信之前,双方必须约定相应的通信规则,也就是计算机之间相互交流所使用共同语言。两台计算机之间进行通信时必须遵守通信协议,通信协议具有层次性,可靠性和有效性。

 

根据通信方式,通信又可以分为串行通信和并行通信,考虑到硬件平台传输速率有限,需要传输的文件较小,本系统信息传输采用异步通信的方式完成。将数据分块传输,并且在传送数据时,加入校验位,保证数据传输的准确性。

 

无线通信系统的代码实现流程图如下图4.3所示

 

 

 

下面对系统的数据帧格式进行说明:在对需要发送的数据进行编码后,形成比特码,然后分装成帧,帧内数据顺序依次为校验位,同步位,数据包在整个信息序列中的次序,数据位。其中,校验位发送30个连续1,解码端如果收到的数据包中的前30位为连续30个1,则表示数据帧无错误,否则出错,将数据包丢弃。其次是同步位,同步位为QAM解调时,用于同步的参数,二十位,由周期为31的PN码组成。第三个数据为数据包的次序,原数据格式为有符号32位整型,在编码时,将其转换为1*32的一维数组。符号用于解调时对接收数据包进行排序。最后是数据位,长度可自定义,但是数据位的长度会影响接收数据的质量,数据位过长可能会造成丢包,数据位过短会使接收时间过长,所以需要综合系统参数来选择合适的长度。在综合测试数系统传输参数之后,选择传输数据长度为1024位,因此可以计算数据包的有效率为:1024/(30+20+32+1024)=92.42%

 

 

 

数字通信系统的搭建

信源编(解)码:信源编码是以提高通信有效性为目的而对信源符号进行的变换,或者说是为了减少或消除信源冗余度而进行的信源符号变换。具体说,就是针对信源输出符号序列的统计特性来寻找某种方法,把信源输出符号序列变换为最短的码字序列,使该码字序列所载荷的平均信息量最大,同时又能保证无失真的恢复原来的符号序列。信源编码的作用之一是设法减少码元数目和降低码元速率,也就是通常所说的数据压缩;作用之二是将信源的模拟信号转换为数字信号,以实现模拟信号的数字化传输。本系统主要处理的数据为文本文档和BMP位图。文本文档以汉字和英文字母为主,所以选择将其编码为ASCII码进行传输,BMP位图在灰度化处理之后是二维数组,数据范围是0~255,所以可以直接传输。编码和解码所用控件基本作用相反,不再赘述。

 

信道编(解)码:由于信号在信道中传输时存在干扰和衰落,所以信号可能出现差错,故对数字信号必须采用纠、检错技术以增强数据在信道中传输时抵御各种干扰的能力,以提高通信系统的可靠性。对要在信道中传送的数字信号进行纠错、检错编码就是信道编码。信道编码之所以能够检出和校正接收比特流中的差错,就是因为加入了一些冗余比特,把几个比特上携带的信息扩散到更多的比特上。但是为此必须分出的代价是必须传送更多的比特。上述在传输的数据帧中增加30个比特的校验位也属于信道编码的一种,但是这种编码只具有检错能力,而没有纠错能力,传输的也并非全是信息位,还包括其他的校验比特。编码和解码所用控件基本作用相反,不再赘述。

 

QAM调制:正交振幅调制是将两种调幅信号汇合到一个信道的数字调制方法。QAM信号具有两个相同频率的载波,两个信号相位相差90度,一个叫同相载波(I),一个叫做正交载波(Q),两种载波在调制完成后,在发送端进行混合,到达接收端后,再进行解调,分离。

 

QAM调制是一种矢量调制,将输入的比特先映射到一个复平面上,形成复数调制信号,然后将I、Q分量(对应复平面的实部和虚部)采用幅度调制,分别对应调制在相互正交的两个载波上。QAM是幅度和相位联合调制,同时利用了载波的幅度和相位来传递信息比特,因此在最小欧氏距离相同的条件下可以实现更高的频带利用率。采用QAM调制技术,信道带宽至少要等于码元速率,为了定时恢复,还需要另外的带宽,与其他调制技术相比,QAM编码具有能充分利用带宽、抗噪声能力强的特点。

 

接下来对本系统的QAM调制做详细说明

1)将已经编码完成的比特流输入到QAM的调制端,首先对码流的合法性进行检查保证输入的比特流只包含0或者1。同时对输入系统的QAM参数和成形滤波器的参数做合法性检查。

2)所有数据检查无误之后,将比特流(bits)按照输入的参数映射为码流(symbol sequence)(即,2进制到m进制映射)

3)将2)中得到的码流输入脉冲成形滤波器,将码流转换为波形。

4)按照发送的数据格式将3)中得到的复波形转化成簇,输出,

 

系统采用队列的方式将数据包进行存储,对在数据包中加入序号,方便发送。通过队列的方式处理数据包方便快捷。

QAM解调

在接收端将相关参数设置好之后,就可以接收数据了,接收到数据格式如图4.5所示

 

 

 

接下来,从该波形信息中,恢复出文件数据:

1)首先将接收到的数据顺序包存储,由于每个数据包中都包含由序号信息,所以,按照次序信

息,将数据包中的数据信息组成二维数组,即由复波形恢复成双精度复波形二维数组;

2)为了抽样方便,在发送端加入了Packet Pads,即数据之间加入缓存,值为0+0i,所以接收端可以根据接收数据的能量值来确定抽样位置。根据接收信号的能量信息绘制XY图;

3)同时将该数组进行重采样,降低采样率,进行QAM解调;

4)重采样后的数据输入到QAM解调模块,输出比特流,比特流以二维数组形式保存,而接收数组行与列的乘积即为发送的数据比特流的长度。

5)解调之前的数据可以画出其星座图;

6)最后将接收到的比特流解码,即可恢复初始发送的文件。

 

五.系统整体测试与功能评价

1.系统测试

主机发送部分的前面板如图所示:图5.1为图像源选择面板,图5.2为系统参数设置面板。从机传输选择载波频率为450M,带宽为1M。

 

 

下图5.3为从机采集图片并发送至主机的程序前面板,由于采用8QAM,所以可以看出,收端和发端的星座图有8个点。

 

 

下图5.4为主机前面板

 

 

下图5.5为接收数据的监控面板,图中的Correct Packets Rx表示正确接收数据的个数,上述测试中,发送端发送660个数据包,实际收到659个,可以看出图像产生噪点。

 

 

主-从机通信系统测试

主机在接收到来自从机的图片之后,进行识别,然后将识别结果显示,并将数据库中保存的关于人物的文字介绍发送至从机。主机的前面板如图5.6所示。

 

 

主机接收到待识别的人脸图像后会缓存到本地,待用户按下开始识别按钮之后,执行人脸识别算法,识别完成后将数据库中的第一幅图片显示。

 

 

接下来将数据库中该分组的图片和人物的身份信息反馈至从机,如图5.8和图5.9所示。

 

 

测试总结:本章按照程序执行流程对系统进行测试,主要包括两部分:从机到主机的信息传输、主机实现图像识别并且将信息反馈到从机。在识别的过程中,主机端得到识别的具体参数,可以看到,从识别到通信都比较圆满的完成了预期目标。



五. 结论

本文以LabVIEW软件为平台,结合NI USRP2920硬件设备研究,设计实现了远程人脸识别系统。构建通信规则,实现人脸识别算法,利用软件无线电设备实现射频通信过程。

 

本文主要完成了以下工作:

(1)LabVIEW作为图形化的编程环境,可以充分利用开发人员的专业积淀,将前期熟悉编程环境和语法规则的时间大大缩短,可以很快着手开发,再加上NI USRP作为软件无线电设备的优越性能,两者结合之后,软件无线电的开发将高效,便捷。

 

(2)本文主要介绍了人脸识别技术的发展,应用前景,当下的典型识别算法,并且对本系统用到的主成分分析法和线性判别分析法的原理做了详细介绍,了解这两种算法的优势。人脸识别是本系统的主要功能,只有了解算法的原理才能够更高效的实现算法,为系统服务。

 

(3)文章主要介绍在LabVIEW平台上进行通信系统的搭建过程。其中包括硬件配置,异步通信,编码、解码、同步,校验等模块,并对各模块进行测试。测试比较成功,证明自己完成了通信系统的基本功能。最后对整个系统进行测试,较理想的完成人脸的识别和传输的过程。

 

系统完成了远程人脸识别的功能。

由于本系统的主要目的是通信系统的搭建,所以在识别算法上并未做深入研究,因此,在识别算法方面并未有太多的创新之处,这是本系统一个薄弱之处。由于时间的原因,通信子系统的鲁棒性也不够,在距离过大时,传输能力明显减弱,这也是本系统的一个大的缺陷,原因是未加入高效的纠错和检错编码。作者希望以后研究生学习阶段中可以在此方面做出跟深层次的研究。

 

本系统利用硬件结合软件平台对识别过程进行多次测试,系统运行稳定,高效,但是在传输距离方面还有不足,此方面还有待于后续研究中的改进。

 

作者信息:

轩 谢
北京邮电大学
China

图2.1 人脸识别系统硬件组成
图2.2 人脸识别功能组成
图3.1 图像采集模块工作流程图
图3.2 PCA算法程序框图
图3.4识别后面板
图3.5 LDA算法流程图
3.3识别前的程序前面板
图3.4识别后面板
图3.5 LDA算法流程图
USRP-2920参数表
图4.2系统结构框图
图4.3无线通信系统实现流程图
图4.4数据帧格式
图4.5接收数据包类型
图5.1识别图片选择面板