董綿綿,呂志剛,張 應
(西安工業大學 電子信息工程學院,西安710032)
現今,運輸車輛的超限超載和運輸車輛使用不當等都增加了交通事故發生率,危及社會安全。這成為智能交通系統必須解決的問題。在這種情況下,車輛整車外觀尺寸參數成為汽車通過性參數及運行安全檢測的重要內容之一。國內外對于車輛各部件的檢測和測量技術已有很大的發展,但對車輛尺寸等通用性參數測量的技術還相對落后。為解決人工測量的工作強度大、效率低、測量結果容易受人為因素干擾等種種問題,有必要研究一種對車輛尺寸進行自動測量的系統,而基于機器視覺的車輛尺寸測量方法與以上方法相比較而言移植性好,不需要對路面進行改造,可檢測的范圍較大,是一種很有實用前景的方法[1]。
本文主要利用機器視覺技術研究車輛外觀測量,實現高速路檢測站或物流停車場等特定場合對車輛類型分類及整車尺寸的實時測量,為智能交通系統和車輛綜合性能檢測方法提供支撐。根據生產實際選擇雙目視覺及單目視覺技術相結合的傳感器模型,結合多傳感器數據融合,完成圖像的采集及處理為上位機車輛目標檢測及輪廓提取提供圖像,在PC 平臺上,進行攝像機標定,完成基于sift 算法的車身圖像拼接以此對車輛外輪廓提取,最終完成對車輛外輪廓實際尺寸計算。
本系統由外部控制模塊、圖像的采集和處理模塊、系統標定模塊、廓數據處理模塊構成,具體的工作原理如下所述。
首先,通過指紋識別后,確定工作人員,開啟設備,在收費站固定的停車位置,安裝一個連接數字式車輛檢測器的地感線圈,當有車輛通過時,采集系統控制USB 攝像頭采集圖片,并通過網絡通信方式傳輸到PC 上位機。隨后,PC 端對接收的車輛圖片信息進行攝像機標定,完成基于sift 算法的車身圖像拼接以此對車輛外輪廓提取,最終完成對車輛外輪廓實際尺寸計算。最終在PC 上位機顯示被測量測量的輪廓信息。系統工作原理如圖1所示。

圖1 系統工作原理圖Fig.1 Working principle of system
本文設計的控制器硬件由CPU 模塊、指紋采集模塊、USB 模塊、圖片采集模塊、SD 卡模塊、網絡通信模塊等構成,硬件框圖如圖2所示。

圖2 硬件框圖Fig.2 Hardware design of block diagram
Tiny-4412 是友善之臂公司推出的嵌入式系統核心板,該處理器配備三星公司2012年發布的Exynos 4412 處理器,1 GB 高速DDR3 內存芯片,4 GB 的EMMC 外部存儲芯片。
Exynos 4412 是以Cortex-A9 為架構的四核移動處理器,比上一代的處理器功耗降低了20%,內部集成了圖像處理器,芯片的主頻也有了很大的提高,所以運算速度更快。核心板配備了三星公司生產的電源管理芯片,電源管理芯片有多路電源輸出能力,每路輸出的功率都特別穩定,該芯片能夠運行的最低溫度達到-20 ℃,能夠運行的最高溫度是70 ℃,支持多種音視頻解碼,由于其強大功能、高穩定性及小巧的設計在電子領域的到了廣泛的應用,在本設計中能夠達功能的需求。
采用FPM10A 模塊作為指紋采集模塊,完成錄入及驗證指紋信息的功能。該模塊最多支持錄入880 枚指紋信息,硬件設置僅需將FPM10A 模塊的TXD 引腳、RXD 引腳直接與主控CPU 的所使用串口的發送端和接收端相連[2]。指紋采集模塊如圖3所示。

圖3 指紋模塊Fig.3 Fingerprint module
通過串口命令來控制指紋模塊采集指紋,被授權人員提前錄入指紋信息,每次開機進行指紋信息的采集和對比,當指紋對比成功時,指紋模塊會發送串口指令到主控芯片,然后主控芯片控制繼電器來完成對下位機的開機控制。
本系統中攝像頭和控制板是通過USB 連接,在設計硬件電路時選用了USB4604 芯片進行USB 通信的控制,根據芯片手冊中的典型電路設計了這個模塊的硬件電路,攝像頭使用的是USB-Type A 接口,在系統移植時需要通過Micro-USB 接口向內存中下載Kernal,硬件電路中設計了這兩種USB 接口。USB 模塊如圖4所示。

圖4 USB 模塊Fig.4 USB module
Linux 系統在啟動之前需要UBOOT 引導,在開發主機上編譯的UBOOT 不能直接拷貝到EMMC 的分區中,需要先將編譯后的UBOOT 燒到SD 卡中,然后將SD 卡插到控制板上,系統在啟動的時候從SD 卡啟動UBOOT 即可。
在硬件設計時需要設計SD 卡卡座的連接電路,因為處理器的IO 口的驅動能力比較弱,所以在設計原理圖時在卡座的引腳上都添加的51 k 的上拉電阻,SD 卡有九個引腳,CD/DAT3 引腳的作用是卡檢測或最為數據線3 使用,CMD 引腳的作用是傳送命令和接收應答,DAT0、DAT1 和DAT2 都是數據線,硬件設計時只需要將SD 卡卡座上的引腳和處理器預留的IO 口連接起來就可以。SD 卡模塊如圖5所示。

圖5 SD 卡模塊Fig.5 SD card module
在系統移植階段需要用到TFTP 和NFS 服務來傳輸文件和掛載根文件系統,這兩種服務都需要通過網絡完成,系統最終需要完成傳輸圖片的功能,也需要網絡來完成,所在硬件系統中設計了網絡模塊的硬件電路,網絡模塊選用的是DM9621 芯片,根據芯片手冊中的標準電路設計了網絡模塊的電路圖。網絡模塊如圖6所示。

圖6 網絡通信模塊Fig.6 Network communication module
本模塊包括USB 攝像頭和USB 接口擴展電路2 個部分。攝像頭固定之后采集收費站現場圖片,由視頻采集卡將采集到的圖像進行A/D 轉換,PC 機再對得到的數字圖像進行壓縮,然后以一定的格式存儲在PC 機的存儲器里,PC 機可以通過局域網、以太網或者無線網絡與終端進行信息交換。采用中星微ZC301 帶USB 接口攝像頭采集圖片。該攝像頭具有成本較低,成像效果滿足系統要求。由于系統需要多個USB 接口,所以選用AU9254 芯片擴展USB 接口滿足USB 接口電路的需要。
AU9254 是安國(Alcor Micro Corp)開發的USB集線器,單片集成的USB 控制器,它支持4 個下游的USB 端口,每個端口都有電源開關控制和電流過流檢測,而且每個端口都可以由總線供電或自供電,可支持4 個全速設備同時工作。
本系統的軟件包括車輛圖片的采集與傳輸軟件、車輛實際尺寸測量軟件。前者為STM32 單片機端編程部分,負責采集圖片、發送圖片;后者為上位機端編程部分,負責接收圖片,處理圖片。
當數字式車輛檢測器的地感線圈檢測到有車輛經過,USB 攝像頭開始采集車輛圖片,保存圖片到SD 卡,從SD 卡中讀取圖片,用SOCKET 通信將圖片通過網口發送到上位機,供上位機分析處理。上位機接受到完成的圖片會發送ACK 到采集系統,一次圖片采集完成后循環上述過程。其流程如圖7所示。
使幾何圖像的外界矩形是指包含了圖形上所有的點、線,且各邊均與圖形相接觸的矩形。一個圖形的外界矩形有無窮多個,其中面積最小的稱為最小外界矩形[3-4]。
求解最小外接矩形的步驟如下:

圖7 下位機軟件流程Fig.7 Flow chart of MCU program
(1) 確定旋轉軸的位置,根據重心原理,對具有一定形狀的均勻物體,其重心在物體的幾何中心上,文中的是二維的圖像不需要考慮這些問題,白色最大連通區域為M 行N 列,依次掃描各行,計算出每行的重心坐標(xj,yj)。
(2) 把目標的各行重心坐標(xj,yj)(j=1,2,…,M)作為一組數據,利用最小二乘法進行直線擬合,得到垂直主軸初始位置的直線方程y1=k1x+b1。
(3) 同理依次掃描各列,計算出每列的中重心坐標(xi,yi)(i=1,2,…,N)利用最小二乘法得到水平的初始位置直線方程y2=k2x+b2。
得到兩個直線方程之后,可以求出交點(x0,y0),初始位置處水平軸的斜率開始,逐漸變化到垂直主軸的斜率,旋轉方向為以水平主軸的斜率逐漸增加的方向,旋轉過程中計算最小外接矩形的面積,當面積最小時即為最小外接矩形,如圖8所示,最大連通區域的最小外接矩形被求出。
上位機軟件采用微軟開發的Microsoft Visual Studio 2012 開發工具,編寫了基于串口通信的“車輛輪廓計算”軟件,用于在電腦上實現車輛輪廓尺寸顯示及數據管理。通過正確配置IP 地址和端口,選擇合適的保存路徑,選擇開始接收后,便生成一條包含有車牌底色,車牌以及車長,車寬數據的信息。上位機界面如圖9所示。

圖8 最小外接矩陣Fig.8 Minimum external matrix

圖9 上位機軟件Fig.9 Position interface of PC software
本文設計的基于機器視覺的車輛輪廓尺寸測量方法研究,使用指紋模塊確定使用者身份,基于機器視覺技術,結合多傳感器數據融合,在PC 端經攝像機標定、基于sift 算法的車身圖像拼接、車輛輪廓的提取,從而完成車輛輪廓尺寸的測量。克服了傳統人工測量工作強度大,效率低,結果不準確等問題。為智能交通系統和車輛綜合性能檢測方法提供支撐。