董綿綿,呂志剛,張 應(yīng)
(西安工業(yè)大學 電子信息工程學院,西安710032)
現(xiàn)今,運輸車輛的超限超載和運輸車輛使用不當?shù)榷荚黾恿私煌ㄊ鹿拾l(fā)生率,危及社會安全。這成為智能交通系統(tǒng)必須解決的問題。在這種情況下,車輛整車外觀尺寸參數(shù)成為汽車通過性參數(shù)及運行安全檢測的重要內(nèi)容之一。國內(nèi)外對于車輛各部件的檢測和測量技術(shù)已有很大的發(fā)展,但對車輛尺寸等通用性參數(shù)測量的技術(shù)還相對落后。為解決人工測量的工作強度大、效率低、測量結(jié)果容易受人為因素干擾等種種問題,有必要研究一種對車輛尺寸進行自動測量的系統(tǒng),而基于機器視覺的車輛尺寸測量方法與以上方法相比較而言移植性好,不需要對路面進行改造,可檢測的范圍較大,是一種很有實用前景的方法[1]。
本文主要利用機器視覺技術(shù)研究車輛外觀測量,實現(xiàn)高速路檢測站或物流停車場等特定場合對車輛類型分類及整車尺寸的實時測量,為智能交通系統(tǒng)和車輛綜合性能檢測方法提供支撐。根據(jù)生產(chǎn)實際選擇雙目視覺及單目視覺技術(shù)相結(jié)合的傳感器模型,結(jié)合多傳感器數(shù)據(jù)融合,完成圖像的采集及處理為上位機車輛目標檢測及輪廓提取提供圖像,在PC 平臺上,進行攝像機標定,完成基于sift 算法的車身圖像拼接以此對車輛外輪廓提取,最終完成對車輛外輪廓實際尺寸計算。
本系統(tǒng)由外部控制模塊、圖像的采集和處理模塊、系統(tǒng)標定模塊、廓數(shù)據(jù)處理模塊構(gòu)成,具體的工作原理如下所述。
首先,通過指紋識別后,確定工作人員,開啟設(shè)備,在收費站固定的停車位置,安裝一個連接數(shù)字式車輛檢測器的地感線圈,當有車輛通過時,采集系統(tǒng)控制USB 攝像頭采集圖片,并通過網(wǎng)絡(luò)通信方式傳輸?shù)絇C 上位機。隨后,PC 端對接收的車輛圖片信息進行攝像機標定,完成基于sift 算法的車身圖像拼接以此對車輛外輪廓提取,最終完成對車輛外輪廓實際尺寸計算。最終在PC 上位機顯示被測量測量的輪廓信息。系統(tǒng)工作原理如圖1所示。
圖1 系統(tǒng)工作原理圖Fig.1 Working principle of system
本文設(shè)計的控制器硬件由CPU 模塊、指紋采集模塊、USB 模塊、圖片采集模塊、SD 卡模塊、網(wǎng)絡(luò)通信模塊等構(gòu)成,硬件框圖如圖2所示。
圖2 硬件框圖Fig.2 Hardware design of block diagram
Tiny-4412 是友善之臂公司推出的嵌入式系統(tǒng)核心板,該處理器配備三星公司2012年發(fā)布的Exynos 4412 處理器,1 GB 高速DDR3 內(nèi)存芯片,4 GB 的EMMC 外部存儲芯片。
Exynos 4412 是以Cortex-A9 為架構(gòu)的四核移動處理器,比上一代的處理器功耗降低了20%,內(nèi)部集成了圖像處理器,芯片的主頻也有了很大的提高,所以運算速度更快。核心板配備了三星公司生產(chǎn)的電源管理芯片,電源管理芯片有多路電源輸出能力,每路輸出的功率都特別穩(wěn)定,該芯片能夠運行的最低溫度達到-20 ℃,能夠運行的最高溫度是70 ℃,支持多種音視頻解碼,由于其強大功能、高穩(wěn)定性及小巧的設(shè)計在電子領(lǐng)域的到了廣泛的應(yīng)用,在本設(shè)計中能夠達功能的需求。
采用FPM10A 模塊作為指紋采集模塊,完成錄入及驗證指紋信息的功能。該模塊最多支持錄入880 枚指紋信息,硬件設(shè)置僅需將FPM10A 模塊的TXD 引腳、RXD 引腳直接與主控CPU 的所使用串口的發(fā)送端和接收端相連[2]。指紋采集模塊如圖3所示。
圖3 指紋模塊Fig.3 Fingerprint module
通過串口命令來控制指紋模塊采集指紋,被授權(quán)人員提前錄入指紋信息,每次開機進行指紋信息的采集和對比,當指紋對比成功時,指紋模塊會發(fā)送串口指令到主控芯片,然后主控芯片控制繼電器來完成對下位機的開機控制。
本系統(tǒng)中攝像頭和控制板是通過USB 連接,在設(shè)計硬件電路時選用了USB4604 芯片進行USB 通信的控制,根據(jù)芯片手冊中的典型電路設(shè)計了這個模塊的硬件電路,攝像頭使用的是USB-Type A 接口,在系統(tǒng)移植時需要通過Micro-USB 接口向內(nèi)存中下載Kernal,硬件電路中設(shè)計了這兩種USB 接口。USB 模塊如圖4所示。
圖4 USB 模塊Fig.4 USB module
Linux 系統(tǒng)在啟動之前需要UBOOT 引導,在開發(fā)主機上編譯的UBOOT 不能直接拷貝到EMMC 的分區(qū)中,需要先將編譯后的UBOOT 燒到SD 卡中,然后將SD 卡插到控制板上,系統(tǒng)在啟動的時候從SD 卡啟動UBOOT 即可。
在硬件設(shè)計時需要設(shè)計SD 卡卡座的連接電路,因為處理器的IO 口的驅(qū)動能力比較弱,所以在設(shè)計原理圖時在卡座的引腳上都添加的51 k 的上拉電阻,SD 卡有九個引腳,CD/DAT3 引腳的作用是卡檢測或最為數(shù)據(jù)線3 使用,CMD 引腳的作用是傳送命令和接收應(yīng)答,DAT0、DAT1 和DAT2 都是數(shù)據(jù)線,硬件設(shè)計時只需要將SD 卡卡座上的引腳和處理器預(yù)留的IO 口連接起來就可以。SD 卡模塊如圖5所示。
圖5 SD 卡模塊Fig.5 SD card module
在系統(tǒng)移植階段需要用到TFTP 和NFS 服務(wù)來傳輸文件和掛載根文件系統(tǒng),這兩種服務(wù)都需要通過網(wǎng)絡(luò)完成,系統(tǒng)最終需要完成傳輸圖片的功能,也需要網(wǎng)絡(luò)來完成,所在硬件系統(tǒng)中設(shè)計了網(wǎng)絡(luò)模塊的硬件電路,網(wǎng)絡(luò)模塊選用的是DM9621 芯片,根據(jù)芯片手冊中的標準電路設(shè)計了網(wǎng)絡(luò)模塊的電路圖。網(wǎng)絡(luò)模塊如圖6所示。
圖6 網(wǎng)絡(luò)通信模塊Fig.6 Network communication module
本模塊包括USB 攝像頭和USB 接口擴展電路2 個部分。攝像頭固定之后采集收費站現(xiàn)場圖片,由視頻采集卡將采集到的圖像進行A/D 轉(zhuǎn)換,PC 機再對得到的數(shù)字圖像進行壓縮,然后以一定的格式存儲在PC 機的存儲器里,PC 機可以通過局域網(wǎng)、以太網(wǎng)或者無線網(wǎng)絡(luò)與終端進行信息交換。采用中星微ZC301 帶USB 接口攝像頭采集圖片。該攝像頭具有成本較低,成像效果滿足系統(tǒng)要求。由于系統(tǒng)需要多個USB 接口,所以選用AU9254 芯片擴展USB 接口滿足USB 接口電路的需要。
AU9254 是安國(Alcor Micro Corp)開發(fā)的USB集線器,單片集成的USB 控制器,它支持4 個下游的USB 端口,每個端口都有電源開關(guān)控制和電流過流檢測,而且每個端口都可以由總線供電或自供電,可支持4 個全速設(shè)備同時工作。
本系統(tǒng)的軟件包括車輛圖片的采集與傳輸軟件、車輛實際尺寸測量軟件。前者為STM32 單片機端編程部分,負責采集圖片、發(fā)送圖片;后者為上位機端編程部分,負責接收圖片,處理圖片。
當數(shù)字式車輛檢測器的地感線圈檢測到有車輛經(jīng)過,USB 攝像頭開始采集車輛圖片,保存圖片到SD 卡,從SD 卡中讀取圖片,用SOCKET 通信將圖片通過網(wǎng)口發(fā)送到上位機,供上位機分析處理。上位機接受到完成的圖片會發(fā)送ACK 到采集系統(tǒng),一次圖片采集完成后循環(huán)上述過程。其流程如圖7所示。
使幾何圖像的外界矩形是指包含了圖形上所有的點、線,且各邊均與圖形相接觸的矩形。一個圖形的外界矩形有無窮多個,其中面積最小的稱為最小外界矩形[3-4]。
求解最小外接矩形的步驟如下:
圖7 下位機軟件流程Fig.7 Flow chart of MCU program
(1) 確定旋轉(zhuǎn)軸的位置,根據(jù)重心原理,對具有一定形狀的均勻物體,其重心在物體的幾何中心上,文中的是二維的圖像不需要考慮這些問題,白色最大連通區(qū)域為M 行N 列,依次掃描各行,計算出每行的重心坐標(xj,yj)。
(2) 把目標的各行重心坐標(xj,yj)(j=1,2,…,M)作為一組數(shù)據(jù),利用最小二乘法進行直線擬合,得到垂直主軸初始位置的直線方程y1=k1x+b1。
(3) 同理依次掃描各列,計算出每列的中重心坐標(xi,yi)(i=1,2,…,N)利用最小二乘法得到水平的初始位置直線方程y2=k2x+b2。
得到兩個直線方程之后,可以求出交點(x0,y0),初始位置處水平軸的斜率開始,逐漸變化到垂直主軸的斜率,旋轉(zhuǎn)方向為以水平主軸的斜率逐漸增加的方向,旋轉(zhuǎn)過程中計算最小外接矩形的面積,當面積最小時即為最小外接矩形,如圖8所示,最大連通區(qū)域的最小外接矩形被求出。
上位機軟件采用微軟開發(fā)的Microsoft Visual Studio 2012 開發(fā)工具,編寫了基于串口通信的“車輛輪廓計算”軟件,用于在電腦上實現(xiàn)車輛輪廓尺寸顯示及數(shù)據(jù)管理。通過正確配置IP 地址和端口,選擇合適的保存路徑,選擇開始接收后,便生成一條包含有車牌底色,車牌以及車長,車寬數(shù)據(jù)的信息。上位機界面如圖9所示。
圖8 最小外接矩陣Fig.8 Minimum external matrix
圖9 上位機軟件Fig.9 Position interface of PC software
本文設(shè)計的基于機器視覺的車輛輪廓尺寸測量方法研究,使用指紋模塊確定使用者身份,基于機器視覺技術(shù),結(jié)合多傳感器數(shù)據(jù)融合,在PC 端經(jīng)攝像機標定、基于sift 算法的車身圖像拼接、車輛輪廓的提取,從而完成車輛輪廓尺寸的測量。克服了傳統(tǒng)人工測量工作強度大,效率低,結(jié)果不準確等問題。為智能交通系統(tǒng)和車輛綜合性能檢測方法提供支撐。