嵌入式機器視覺(jué)系統優(yōu)化研究
摘要:介紹了基于A(yíng)RM+DSP架構的嵌入式機器視覺(jué)系統的特性,分析了制約嵌入式機器視覺(jué)系統性能的因素。從操作系統和應用程序方面,討論了嵌入式機器視覺(jué)系統的優(yōu)化方案。通過(guò)對嵌入式Linux內核和文件系統進(jìn)行裁剪,對應用程序代碼進(jìn)行大量的優(yōu)化,并充分利用Cotex —A處理器獨有的NEON加速技術(shù),使系統開(kāi)機啟動(dòng)時(shí)問(wèn)縮短25 s,應用程序運行速度提高2.5倍。
關(guān)鍵詞:嵌入式;機器視覺(jué);優(yōu)化;ARM;NEON
嵌入式系統是以應用為中心,以計算機技術(shù)為基礎,并且軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專(zhuān)用計算機系統。嵌入式機器視覺(jué)系統是指用嵌入式計算機處理由光學(xué)傳感器接收到的圖像信息,以實(shí)現對物體的檢測和識別的裝置,如數碼相機、手持二維碼識別設備,體感交互游戲機等。由于機器視覺(jué)系統需要進(jìn)行大量復雜的數據運算,因此目前大多數的機器視覺(jué)系統還是基于PC系統構建,但隨著(zhù)近年來(lái)嵌入式系統的高速發(fā)展,嵌入式機器視覺(jué)系統越來(lái)越多地應用于工業(yè)檢測與控制、智能交通、安防、醫療器械、機器人導航及消費電子等領(lǐng)域。
嵌入式機器視覺(jué)系統的性能主要取決于硬件和軟件兩方面。目前應用于嵌入式機器視覺(jué)系統的硬件平臺主要有Intel基于x86架構的Atom平臺、TI基于A(yíng)RM—DSP的OMAP系列平臺、NVIDIA基于A(yíng)RM—GeForce的Tegra系列平臺、IBM等基于PowerPC的處理平臺等,其中ARM—DSP是一種高性?xún)r(jià)比的、應用廣泛的體系結構。除了硬件平臺之外,嵌入式操作系統的選擇對機器視覺(jué)系統的性能也很重要,如開(kāi)機時(shí)間,系統穩定性等。嵌入式操作系統的種類(lèi)比較多,其中較為流行的主要有μC/OS、Windows CE、VxWorks、Android、iOS、Meego、QNX和Linux等。在諸多嵌入式操作系統中,Linux以其內核穩定、支持多種硬件平臺、完全免費、源代碼完全開(kāi)放、可裁剪定制、易于移植的特性,成為大多數廠(chǎng)家的絕佳選擇。此外,由于嵌入式機器視覺(jué)系統具有處理數據量大,算法復雜的特點(diǎn),對嵌入式機器視覺(jué)應用程序的優(yōu)化也至關(guān)重要。
文中以采用ARM—DSP結構的Beagleboard—xM開(kāi)發(fā)板為例,構建了用于目標檢測跟蹤的嵌入式機器視覺(jué)系統,從操作系統和機器視覺(jué)應用程序方面對系統進(jìn)行優(yōu)化,并充分利用Cotex—A處理器的NEON加速技術(shù),顯著(zhù)提高了嵌入式機器視覺(jué)系統的性能。
1 系統軟硬件組成
文中所采用的嵌入式機器視覺(jué)系統的硬件組成如圖1所示。其中DM3730處理器是由TI生產(chǎn)的單片系統(SoC)處理器,采用了POP(Package on Package)封裝技術(shù),內含1G主頻的ARM Cortex—A8,主頻800 M的TMS320C64+內核和512 M的LPDDR內存。該處理器有較強的多媒體圖像、視頻處理能力,特別適合于構建嵌入式機器視覺(jué)系統。Beagleboard—xM沒(méi)有Flash,系統是從MicroSD卡啟動(dòng)的。PMIC為電源與音頻管理模塊,它通過(guò)McBSP總線(xiàn)與處理器連接。攝像頭和以太網(wǎng)數據通過(guò)USB接口傳給處理器,處理器運行目標檢測與跟蹤程序,并將處理結果送到LCD顯示。Minicom用于和上位機進(jìn)行通訊,便于調試。
圖2為系統的軟件結構圖。在嵌入式Linux內核中包含了對CPU、USB攝像頭、電源管理設備及USB以太網(wǎng)等的驅動(dòng)支持。其中V4L是Linux內核中關(guān)于視頻設備的API接口,UVC(USB Video Class)是為USB攝像頭提供即插即用功能的驅動(dòng)模塊,在此基礎上將開(kāi)源的跨平臺機器視覺(jué)庫OpenCV2.2移植到了嵌入式平臺上,并在應用程序中實(shí)現對視頻信號的采集和處理。
評論