嵌入式人臉識別器的GUI設(shè)計_第1頁
嵌入式人臉識別器的GUI設(shè)計_第2頁
嵌入式人臉識別器的GUI設(shè)計_第3頁
嵌入式人臉識別器的GUI設(shè)計_第4頁
嵌入式人臉識別器的GUI設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2012,48(141概述達芬奇技術(shù)包含針對數(shù)字音視頻優(yōu)化的基于DSP(DigitalSignalProcessing,數(shù)字信號處理的系統(tǒng)解決方案,有四個基本組成,即處理器、軟件、開發(fā)工具套件和支持。在具體的軟件設(shè)計中,對于數(shù)字多種媒體系統(tǒng)的設(shè)計,圍繞用戶代碼的主線程有四個部分,一是輸入源數(shù)據(jù),二是輸出結(jié)果,三是算法處理實體,四是用戶界面。達芬奇系統(tǒng)在底層以通用嵌入式實時操作系統(tǒng)為基礎(chǔ),通過構(gòu)建達芬奇框架結(jié)構(gòu)來協(xié)調(diào)各部分工作流程[1]。嵌入式GUI(GraphicUs-erInterface,圖形用戶界面為嵌入式系統(tǒng)提供了一種應(yīng)用于特殊場合的人機交互接口,嵌入式GUI具備高度可移植性與可裁減性。本設(shè)計屬于達芬奇系統(tǒng)開發(fā)的應(yīng)用層軟件用戶界面設(shè)計,主要介紹其在ARM(AdvancedRISCMachines,先進精簡指令集計算機核上運行的Linux應(yīng)用GUI程序的設(shè)計。嵌入式人臉識別器的GUI設(shè)計向征1,馬爭鳴2XIANGZheng1,MAZhengming21.廣東藥學(xué)院醫(yī)藥信息工程學(xué)院,廣州5100062.中山大學(xué)信息科學(xué)與技術(shù)學(xué)院,廣州5100061.CollegeofMedicalInformationEngineering,GuangdongPharmaceuticalCollege,Guangzhou510006,China2.CollegeofInformationScienceandTechnology,SunYat-senUniversity,Guangzhou510006,ChinaXIANGZheng,MAZhengming.GUIdesignofembeddedfacerecognitiondevice.ComputerEngineeringandApplications,2012,48(14:79-83.Abstract:Qt/embeddedisagraphicalinterfacedevelopmenttoolsembeddedversion.Itisthewholeobject-orientedprogrammingandhashighrunefficiencyandgoodarchitectureandprogrammingmodel.DavincitechnologyisasystemsolutionfordigitalaudioandvideooptimizationbasedonDigitalSignalProcessing(DSP.ItsupportsLinuxintheembeddedoperatingsystemsperfectlyanditcanrealizecomplexdesignofgraphicaluserinterfacesystem.Itusesqt/embeddedandDavincitechnologytocompletethegraphicaluserinterfacedesignofthefacerecognitiondevicesandrealizesthedisplayofthefacedetectionresults,themodificationandupdateofthefacedata.Inadditionitrealizesqt/embeddedtransplantontheDM6446successfullyanditusestheVideoProcessingFrontEnd(VPFEandVideoProcessingBackEnd(VPBEoftheDM6446torealizethevideoacquisitionanddisplayeffectively.Keywords:qt/embedded;Davincitechnology;graphicaluserinterface;DM6446;facerecognitiondevices摘要:Qt/embedded是圖形化界面開發(fā)工具的嵌入式版本,整體采用面向?qū)ο缶幊?擁有較高的運行效率和良好的體系架構(gòu)和編程模式。達芬奇技術(shù)是基于DSP的數(shù)字音視頻優(yōu)化的系統(tǒng)解決方案,它在嵌入式操作系統(tǒng)方面對Linux的支持極為完善,可以實現(xiàn)復(fù)雜GUI系統(tǒng)的設(shè)計。利用qt/embedded和達芬奇技術(shù)完成了人臉識別器的圖形用戶界面設(shè)計,實現(xiàn)了人臉檢測結(jié)果顯示,人臉數(shù)據(jù)的修改和更新功能。另外成功實現(xiàn)了qt/em-bedded在DM6446上的移植,并有效使用了DM6446的視頻處理前端和視頻處理后端實現(xiàn)視頻采集和顯示。關(guān)鍵詞:qt/embedded;達芬奇技術(shù);圖形用戶界面;DM6446;人臉識別器文章編號:1002-8331(201214-0079-05文獻標識碼:A中圖分類號:TP311.52基金項目:2010年度廣東省教育部產(chǎn)學(xué)研結(jié)合項目(No.2010B090400013。作者簡介:向征(1980—,男,講師,研究領(lǐng)域:圖像處理、嵌入式、軟件工程;馬爭鳴(1957—,男,博士,教授,研究領(lǐng)域:移動通信、圖像處理、機器學(xué)習(xí)。E-mail:rousseau2000@163.com收稿日期:2011-09-07修回日期:2011-10-27CNKI出版日期:2012-01-12DOI:10.3778/j.issn.1002-8331.2012.14.017/kcms/detail/11.2127.TP.20120112.1655.007.htmlComputerEngineeringandApplications計算機工程與應(yīng)用79ComputerEngineeringandApplications計算機工程與應(yīng)用2012,48(142TMS320DM6446芯片介紹TMS320DM6446是一個高度集成的SoC(Sys-temonaChip,系統(tǒng)級芯片,是基于TMS320C64x+的DSP核和ARM926處理器,內(nèi)部集成有視頻加速器、網(wǎng)絡(luò)、外部存貯器接口等一系列專門應(yīng)用于視頻的外設(shè),DM6446的內(nèi)部框圖如圖1所示。其中ARM926是一個32位的精簡指令集微處理器,流水線結(jié)構(gòu),具有32位和16位兩套指令集,能處理32位,16位或8位數(shù)據(jù),內(nèi)部還具有CP15協(xié)處理器,存儲管理單元,16KB的程序指令cache和8KB的數(shù)據(jù)cache。TMS320C64x+是C64xDSP的升級版,內(nèi)部具有64個32位通用寄存器和8個獨立功能單元,包括兩個乘法器和6個算術(shù)邏輯單元,能在單周期內(nèi)完成4個16位的乘、加運算。DM6446的DSP片上具有32KB的一級指令緩存,80KB的一級數(shù)據(jù)緩存和64KB的統(tǒng)一指令數(shù)據(jù)緩存[2]。作為一個SoC,DM6446集成了片上外設(shè)。包括可配置的視頻端口、外部存儲器接口、32位的DDR、SDRAM控制器、16位的異步存儲器控制器、支持靜態(tài)RAM、NOR型和NAND型的FLASH、存儲卡接口、增強型DMA(DirectMemoryAccess,直接內(nèi)存存取控制器、10/100Mb/s的以太網(wǎng)控制器、串行接口、I2C總線接口、音頻串行接口、支持中斷輸入的可編程通用輸入輸出接口、異步串行口、支持硬件握手、USB2.0接口、脈寬調(diào)制器、ATA(AdvancedTech-nologyAttachment,先進技術(shù)附件硬盤接口等。VPSS(VideoProcessingSubsystem,視頻處理子系統(tǒng)是DM6446的重要組成部分。它有兩個可配置的視頻圖形片上外設(shè):1個VPFE(VideoProcessingFrontEnd,視頻處理前端,用于視頻輸入;1個VPBE(VideoProcessingBackEnd,視頻處理后端,與VICP(VideoImageCo-Processor,圖形協(xié)處理器一起用于后端顯示。視頻處理前端包括一個CCD(ChargeCoupledDevice,電荷耦合器件控制器,一個預(yù)覽引擎,一個直方圖模塊,一個自動曝光/白平衡/對焦模塊和圖像大小調(diào)整模塊。視頻處理后端包括一個畫中畫顯示引擎和一個VENC(VideoEncod-erClock,視頻編碼器。畫中畫顯示引擎能夠同時獨立顯示兩個視頻窗口,視頻編碼器提供四路視頻數(shù)模轉(zhuǎn)換。視頻處理后端的視頻圖形協(xié)處理器分擔(dān)DSP核的通用視頻和圖形處理任務(wù),使DSP核能更好處理一般的視頻和圖形算法[3-4]。3系統(tǒng)構(gòu)成方案本系統(tǒng)是以手持式人臉識別器作為開發(fā)應(yīng)用對象。主要功能是在單機上實現(xiàn)人臉的識別判斷。先異步控制器EMIF/NAND/SmartMedia10bDACATA/CompactFlashDDR2控制器UARTSPII2C音頻串行口串行接口VYLNQ程序/數(shù)據(jù)存儲PWM看門狗定時器通用定時器EMACWithMDIOUSB2.0PHYEDMA互聯(lián)片上外設(shè)系統(tǒng)On-Screen顯示器視頻編碼器(VENCC64xDSP600-MHzCoreARM926EJ-E300-MHzCPU10bDAC10bDAC10bDAC后端前端圖像調(diào)整器直方圖/3A預(yù)覽器視頻處理子系統(tǒng)ARM子系統(tǒng)CCD控制器視頻接口視頻/圖形協(xié)處理器(VICPDSP子系統(tǒng)DM644x圖1DM6446內(nèi)部框圖802012,48(14實時采集人臉畫面,通過ARM送入DSP需要的人臉數(shù)據(jù),并控制DSP進行人臉識別,識別結(jié)果經(jīng)DSP返回到ARM進行顯示。系統(tǒng)結(jié)構(gòu)如圖2所示。系統(tǒng)引入視頻處理子系統(tǒng)的硬件結(jié)構(gòu),包括視頻前端的CCD控制模塊,RESIZER模塊,以及自動進行焦距、白平衡、曝光調(diào)整H3A模塊,視頻后端包括OSD(OnScreenDisplay,在屏顯示、VENC、視頻DAC(DigitalAudioCompress,音頻壓縮模塊等。系統(tǒng)采用CCD控制器控制YPBPR/RBG輸入、具有MAC-ROVISION檢測功能的NTSC/PAL/SECAM4x10位數(shù)字視頻解碼器TVP5146對CCD攝像機采集的AV信號進行A/D轉(zhuǎn)換,并送DM6446處理。為適應(yīng)不同大小圖形處理和顯示的需要,利用了VPSS提供的RESIZER模塊實現(xiàn)硬件圖像大小的轉(zhuǎn)換。系統(tǒng)使用QT/Embedded設(shè)計GUI,完成用戶溝通設(shè)置和結(jié)果顯示。并使用Linux操作系統(tǒng)的多線程調(diào)度實現(xiàn)DSP圖像處理API(ApplicationProgram-mingInterface,應(yīng)用程序編程接口的調(diào)用,完成人臉識別算法。Qt/Embedded是挪威Trolletch公司的圖形化界面開發(fā)工具Qt的嵌入式版本,它通過QtAPI與LinuxI/O以及Framebuffer直接交互,擁有較高的運行效率,而且整體采用面向?qū)ο缶幊?擁有良好的體系架構(gòu)和編程模式??刂品矫?系統(tǒng)使用DM6446芯片I2C總線與MSP430CPU構(gòu)成IR控制部分,同時配置中文鍵盤輸入等多種輸入方式。系統(tǒng)采用芯片內(nèi)部VPBE帶OSD和VENC的Analog/DACS模塊輸出AV信號實現(xiàn)用戶界面顯示。OSD是圖形用戶的操作界面所在的顯示層,OSD模塊會把顯示其上的圖像信息混合輸入到VENC,由VENC轉(zhuǎn)換成YCBCR后輸出到顯示設(shè)備。顯示設(shè)備使用720×480分辨率的帶AV信號TFTLCD[5]。4嵌入式人臉識別器的GUI設(shè)計4.1軟件設(shè)計內(nèi)容本設(shè)計屬于達芬奇系統(tǒng)開發(fā)的應(yīng)用層圖形用戶界面設(shè)計。軟件設(shè)計方面主要參考DVEVM(DM355數(shù)字視頻評估板提供的DEMO(demonstration,演示程序encode、decode進行改寫,它原本是一個H264的壓縮解壓程序,程序包括視頻的采集->壓縮->解壓->顯示的主要流程,在其基礎(chǔ)上將壓縮和解壓程序適當?shù)馗挠脼槿四樧R別的算法程序。壓縮和解壓由DSP來執(zhí)行,這兩部分實際是ARM對DSP的調(diào)用,將其相應(yīng)改寫成已經(jīng)建立好的人臉檢測和人臉識別的算法調(diào)用即可[6]。在此基礎(chǔ)上本文還利用QT/Embedded的庫進行QTGUI設(shè)計,以實現(xiàn)人性化操作。程序主要分成三個線程,分別完成圖像處理,視頻顯示和用戶操作交互。(1圖像處理線程主要完成圖像的采集并對相應(yīng)用戶進行人臉識別,并且返回檢測數(shù)據(jù)到用戶交互線程。圖像處理還可以對人臉庫進行新人臉數(shù)據(jù)的錄入。5.1節(jié)的視頻數(shù)據(jù)采集方式是其中的一項關(guān)鍵實現(xiàn)技術(shù)。(2視頻顯示線程負責(zé)把從FIFO(FirstInFirstOut,先進先出存儲器上讀取到的數(shù)據(jù)寫到frame-buffer上來顯示實時視頻,它和用戶操作界面屬于不同的顯示設(shè)備,至于操作界面和視頻的混合就由DM6446的VPBE來完成。5.2節(jié)網(wǎng)絡(luò)下載數(shù)據(jù)庫的實現(xiàn)是其中的一步,5.3節(jié)檢測視頻顯示的實現(xiàn)是其核心處理方式。(3用戶操作交互線程主要處理用戶的輸入要求和結(jié)果顯示。用戶操作界面的主要功能分為:顯示正在采集的人臉圖像;顯示信息提示;顯示人臉檢測結(jié)果;實現(xiàn)人臉庫的修改;實現(xiàn)人臉庫的增加和更新。圖3是整個程序的流程圖。4.2軟件總體實現(xiàn)用戶界面軟件運行在ARM核上,它的主要任務(wù)是控制輸入輸出設(shè)備,采集圖像數(shù)據(jù)送入DSP,并控制DSP實現(xiàn)人臉檢測和識別,數(shù)據(jù)庫管理等。用戶界面軟件流程如圖4所示。軟件初始化好DSP和人臉數(shù)據(jù)后,由ARM處理器實時采集視頻數(shù)據(jù),然后根據(jù)用戶需要,將采集到的視頻數(shù)據(jù)送入DSP進行人臉的檢測。檢測到的結(jié)果將返回ARM,對于不同的需要可以將檢測到的人臉數(shù)據(jù)再送入DSP進行識別,或者將人臉數(shù)據(jù)保存成數(shù)據(jù)庫文件,再送給DSP訓(xùn)練出EHMM(EmbeddedHiddenMarkovModel,馬爾科夫模型模型的數(shù)據(jù)。檢測和識別的結(jié)果經(jīng)DSP返回到圖形用戶界面顯示,而訓(xùn)練得到的EHMM模型的數(shù)據(jù)將會存儲到相應(yīng)的數(shù)據(jù)庫。TMS320DM6446DACvpfeInputDeviceMOUSE/IRLCD顯示TVP5146AVCCD攝像機YCbCrAV圖2系統(tǒng)結(jié)構(gòu)方框圖向征,馬爭鳴:嵌入式人臉識別器的GUI設(shè)計81ComputerEngineeringandApplications計算機工程與應(yīng)用2012,48(145核心技術(shù)實現(xiàn)在本系統(tǒng)的設(shè)計過程中,需要處理一些關(guān)鍵的技術(shù)性問題,下面是其中三種比較核心的技術(shù)實現(xiàn)方案。5.1視頻數(shù)據(jù)采集方式系統(tǒng)的視頻采集部分使用V4L2規(guī)范的視頻驅(qū)動標準。V4L2是Linux下開發(fā)視頻采集設(shè)備驅(qū)動程序的一套規(guī)范,這套規(guī)范使用分層的方法給驅(qū)動程序的開發(fā)提供了清晰的模型和一致的接口。V4L2是一個兩層驅(qū)動結(jié)構(gòu),上層是Videodev模塊,下層是Videodev的客戶端,Videodev通過V4L2驅(qū)動程序的成員函數(shù)來調(diào)用V4L2驅(qū)動程序。其主要工作流程如下:(1系統(tǒng)首先調(diào)用open(來打開V4L2設(shè)備驅(qū)動,fd=open(V4L2_DEVICE,O_RDWR|O_NONBLOCK,0。(2若驅(qū)動打開成功,即可通過函數(shù)ioctl(fd,VIDIOC_QUERYCAP,&cap來取得視頻設(shè)備的一些基本信息(設(shè)備名稱、支持最大最小分辨率、信號源信息等,這里主要看其是否支持V4L2_CAP_VIDEO_CAPTURE和V4L2_CAP_STREAMING。(3ioctl(fd,VIDIOC_S_FMT,&fmt函數(shù)設(shè)置視頻采集的格式,如圖像的大小,圖像的數(shù)據(jù)格式等。(4如果視頻采集設(shè)備支持裁剪,可使用ioctl(fd,VIDIOC_S_CROP,&crop進行視頻裁剪。(5然后可以使用ioctl(fd,VIDIOC_REQBUFS,&req來請求視頻緩沖區(qū),并通過buffers[numBufs].start=map(NULL,buf.length,PROT_READ|PROT_WRITE,MAP_SHARED,fd,buf.m.offset將視頻緩沖映射到用戶空間。這里申請3個數(shù)據(jù)幀緩沖,以備作視頻處理的緩沖,有效實現(xiàn)實時性。(6最后使用ioctl(captureFd,VIDIOC_DQBUF,&v4l2buf讓視頻數(shù)據(jù)移出一幀數(shù)據(jù)到數(shù)據(jù)緩沖,處理后使用ioctl(captureFd,VIDIOC_QBUF,&v4l2buf重新采集一幀數(shù)據(jù)到視頻緩沖隊列上。如此不斷循環(huán)。最終實現(xiàn)視頻的完整采集。5.2網(wǎng)絡(luò)下載數(shù)據(jù)庫的實現(xiàn)系統(tǒng)采用的數(shù)據(jù)庫下載方式是基于TCP傳輸層開始初始化全局數(shù)據(jù)初始化DSP加載DSP程序建立QT主窗口建立圖像處理線程交給QT消息機制循環(huán)線程返回結(jié)果到QT消息線程顯示幀數(shù)據(jù)圖像檢測識別訓(xùn)練人臉數(shù)據(jù)訓(xùn)練新人臉數(shù)據(jù)返回到startFIFO讀取數(shù)據(jù)GETQUIT?FIFO讀取數(shù)據(jù)GETQUIT?cleanupcleanup待檢測開始加載數(shù)據(jù)庫等待檢測結(jié)果等待用戶操作初始化圖像采集V4L2和FIFO顯示結(jié)果返回到start修改數(shù)據(jù)庫?初始化顯示設(shè)備/dev/fb3和FIFO緩沖創(chuàng)建視頻顯示線程修改訓(xùn)練全局變量使圖像檢測線程執(zhí)行訓(xùn)練模式等待數(shù)據(jù)返回訓(xùn)練新人臉數(shù)據(jù)?start修改人臉數(shù)據(jù)庫YYYNNYYYYNNNN用戶cancel返回到start圖3程序流程圖NY加載DSP程序初始化DSP初始化人臉數(shù)據(jù)庫開始創(chuàng)建視頻采集和顯示線程建立圖形界面進入消息循環(huán)調(diào)用DSP人臉檢測識別模塊響應(yīng)用戶輸入控制結(jié)束圖4用戶界面軟件流程圖結(jié)果822012,48(14協(xié)議,人臉數(shù)據(jù)庫放到服務(wù)器上,通過網(wǎng)絡(luò)連接下載到人臉識別器。下面介紹人臉識別器TCP客戶端的實現(xiàn)。首先通過socketfd=socket(AF_INET,SOCK_STREAM,0(SOCK_STREAM表明是TCP協(xié)議,SOCK_DGRAM代表的是UDP協(xié)議建立TCPsocket文件描述符。設(shè)置好端口號連接的SERVIERIP后即可向服務(wù)器連接。由于TCP是阻塞型的,所以在調(diào)用連接前系統(tǒng)使用select(系統(tǒng)調(diào)用實現(xiàn)非阻塞應(yīng)用。利用tv.tv_sec=0;tv.tv_usec=1000000設(shè)置網(wǎng)絡(luò)連接的等待時間。利用FD_ZERO(&rdset清除rdset,使rdset中不包含任何文件描述符。利用FD_SET(socketfd,&rdset把上面建立的網(wǎng)絡(luò)文件描述符加入到rdset集合上。調(diào)用select(socketfd+1,&rdset,NULL,NULL,&tv后,在tv(1秒時間內(nèi),當socketfd有數(shù)據(jù)可以讀取時,select(函數(shù)返回,然后調(diào)用ret=connect(socketfd,(structsockaddr*&serveraddr,sizeof(serveraddr;即可連接成功,若timeout后select(等待了一秒后仍未有可讀取數(shù)據(jù),將返回錯誤信號,程序?qū)顺鲞B接。最后程序調(diào)用send(和recv(函數(shù)發(fā)送命令和接收數(shù)據(jù)庫文件。5.3檢測視頻顯示的實現(xiàn)在視頻的顯示中,相應(yīng)的標準Linux視頻驅(qū)動程序是FBDEV,可以將一個顯示設(shè)備的幀緩沖器映射到用戶空間。在達芬奇系統(tǒng)中,DM6446獨有的VPBE后端子處理系統(tǒng)上,顯示設(shè)備FBDEV分成了的FB/0FB/1FB/2和FB/3,VideoWindow1作為檢測視頻顯示窗口,OSDWindow0作為操作界面的圖形界面,OSDWindow1作為屬性窗口,可以通過設(shè)置其明度使顯示在OSD上的圖形交互界面和檢測合理地結(jié)合在一起。圖5是視頻窗口的疊加原理。最后使用視頻末端子系統(tǒng)的VENC硬件處理,達到視頻窗口和操作界面混合的效果,并經(jīng)過視頻末端的DAC模塊輸出視頻信號。這樣圖形用戶界面不需要再使用有限的ARM處理器資源來整合視頻顯示幀和一些顯示控件的顯示,從而提高系統(tǒng)的實時性[7-8]。系統(tǒng)還增加了視頻前端處理縮放器的驅(qū)動,將采集到的視頻畫面縮放到檢測視頻窗口的大小,這樣既保持了所采集到的人臉數(shù)據(jù)盡量完整,又避免減少視頻縮放所占用的CPU資源。使用這種方式顯示經(jīng)過縮小的D1的實時視頻比起使用GUI庫函數(shù)在OSDWindow0上繪制視頻效率高得多。6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論