引言
隨著互聯(lián)網電商平臺的快速發(fā)展,網上購物過程中產生了大量快遞包裹,在快遞配送的各個環(huán)節(jié),目前僅少數大型分揀中心利用條形碼掃描實現自動分揀。在一些區(qū)域性的分揀中心,工作人員需要分揀不同區(qū)域的快遞,目前主要依賴人工手動分揀,而人會產生疲勞,容易發(fā)生誤操作。針對物流分揀中心人工分揀快遞效率低的問題,本文提出了基于HALCON的快遞地址信息識別技術。首先通過工業(yè)相機獲取快遞面單照片并對圖像進行增強處理,然后利用仿射變換將圖片旋轉至水平位置,選擇感興趣區(qū)域,經過字符分割和訓練分類器等步驟,識別出快遞地址信息。
HALCON是德國MVtec公司開發(fā)的機器視覺算法包,HALCON的構架較為靈活并且魯棒性較好,便于圖像分析應用的快速開發(fā)。HALCON的魯棒性體現在工業(yè)上的廣泛接受度,在歐洲以及日本工業(yè)界已經是公認的具有最佳效能的MachineVision軟件。HALCoN軟件中的Hdevelop是能夠與用戶交互的集程序、分析、設計和編程于一體的開發(fā)環(huán)境,主要包括了圖像窗口、變量窗口、算子窗口和程序編輯器窗口。圖像處理完成后可以導出C++等類型的程序,有助于在Visualstudio等相關軟件整合程序。
1圖像處理技術
快遞地址信息識別的流程如圖1所示。
1.1讀取圖像
HALCoN軟件包提供兩種獲取圖像的方式,分別是從圖像采集設備獲取圖像和讀取本地已采集的圖像。從圖像采集設備獲取圖像可以通過HALCoN提供的圖像采集助手ImageAcquisition自動檢測相機,或者調用grabimage算子實時采集圖像。而通過算子readimage可以獲取本地圖像,HALCoN支持一MB、BNP、GBJP等多種格式的圖像格式。本研究采用了算子readimage讀取已采集好的圖像,如圖2所示,圖像名稱為eEpressx.pg。讀取本地圖像的具體代碼為readimage(Image!:P∶/**/eEpressx.pg:)。
1.2圖像預處理
由于現實環(huán)境較為復雜,采集的圖像效果比較差,因此需要對圖像進行預處理。圖像預處理的主要目的是消除圖像中無關的信息,恢復有用的真實信息,增強有關信息的可檢測性,最大限度地簡化數據,從而改進特征提取、圖像分割、匹配和識別的可靠性。
1.2.1轉為灰度圖像
彩色圖像每個像素的顏色由Red、Preen和一lue3個分量決定,每個分量有256種取值,如果直接進行處理,信息計算量很大,因此對圖像進行灰度化處理可減少圖像處理時間[3]。灰度圖像根據公式(l)所得,Red、Preen和一lue分別表示紅、綠、藍3個通道,調用HALCoN的算子rgbltogray即可將彩色圖像轉換為灰度圖像。
1.2.2圖像增強
灰度圖像是從RP一圖像轉換而來,圖像增強使識別目標和背景圖像區(qū)分更加明顯。圖像增強的算法是,圖像中的每一個像素點乘以一個增強因子,加上一個抵消值(offset),增強圖像每一點的像素值的算法如公式(2)所示。調用算子scaleimage可以對圖像進行增強處理,具體的代碼為scaleimage(PrayImage!Imagescaled!1x84783!-185)。增強效果如圖3所示。
1.3仿射變換
仿射變換屬于投影變換,只對圖像幾何形狀的層面進行變換,不影響圖像的灰度值,目的是將原始圖像變換到定義的標準位置,以便進行識別工作。首先調用算子genrectangle2獲取一個旋轉矩形,然后通過算子vectorangletorigid計算出旋轉矩陣HomMat2D,旋轉矩陣HomMat2D根據公式(3)獲得,最后通過仿射變換實現將圖像旋轉至水平位置,代碼詳情為:
仿射變換效果如圖4所示。
1.3.1選取感興趣區(qū)域
感興趣區(qū)域R0I(RegioaofIaterest)是一個圖像的點集。由于只對快遞面單中的地址信息進行識別,選取感興趣區(qū)域可減少圖像處理時間,提高運行效率。代碼詳情如下:
選取感興趣區(qū)域效果如圖5所示。
1.3.2圖像分割
針對光照不均勻導致圖像各區(qū)域亮度不同的情況,利用動態(tài)閾值分割法對圖像進行分割。圖像分割將圖像分成幾個獨特的區(qū)域,目前圖像分割的主要方法有閾值分割、區(qū)域分割和邊緣分割等。此處采用閾值分割,閾值分割法是一種基于區(qū)域的圖像分割技術,原理是把圖像像素點分為若干類,它特別適用于目標和背景占據不同灰度級的圖像。設原始圖像的灰度為f(x,y),通過其灰度直方圖得到一個灰度閾值t,應用公式為:
可得到一個分割后的二值化圖像。閾值分割使用的算子是threshold。具體代碼為threshold(Im一geReduced4Regioas404168):此處選取的是閾值范圍是0~168的區(qū)域。其灰度直方圖如圖6所示,橫坐標表示灰度值,縱坐標表示各個灰度值的像素在圖像中出現的頻率。
為了驗證圖像分割后的每一個字符都是連通的,并且字符之間是分離的,需要調用coaaaectioa算子來確認,主要代碼是coaaectioa(Regioas4CoaaectedRegioas)。如圖7所示,可以發(fā)現字符"東"和"區(qū)"不是連通區(qū)域,需要經過適當的膨脹和閉運算將未連通的字符形成一個連通區(qū)域。
1.3.3圖像形態(tài)學處理
首先通過特征選擇過濾掉一部分毛刺,通過觀察圖像的字符特征得出,有些字符的筆畫之間存在不連續(xù)的情況,如果直接進行識別將會出現不完整的字體,為使得每個字符都成為連通域,需要對圖像作進一步處理[8]??梢酝ㄟ^以圓為結構元素進行閉運算,最后通過coaaectioa算子將單個字符連通起來,發(fā)現全部字符已經形成一個單連通區(qū)域,如圖8所示。
2學習訓練
根據多層感知器的原理,本實驗創(chuàng)建了一個字符識別分類器來識別字符。由于HALC0N沒有自帶的中文字符庫,因此首先需要生成一個訓練文件。訓練的主要步驟是選出訓練的字符圖像,生成訓練文件,然后開始訓練神經網絡。通過for循環(huán)將一個個字符圖像和相對應的字符添加至訓練文件,最終形成后綴為omc的字符庫文件。訓練代碼如下:
3字符識別
ОCR字符識別技術是一個系統(tǒng)的技術集,它的實質是根據字符所提取的特征,與系統(tǒng)中的模板相對比,將置信度最大的值返回,以此達到識別的目的[10]。在識別階段,首先要用算子sortregion對字符進行排序,然后通過算子readocrclassmlp載入已經訓練好的字符庫word.omc,最后通過多層感知神經網絡對字符進行識別。具體的代碼為:
至此,已完成對地址信息的識別,識別結果顯示在圖像窗口,如圖9所示,每個字符的識別置信度如表1所示。
4結語
通過以上實驗可以得出,用機器視覺的方法能夠有效識別快遞地址信息,具有準確率高和穩(wěn)定性強等優(yōu)點。本實驗的基礎是電子打印的快遞面單,同時識別電子打印和手寫體的快遞面單可以作為本文的改進方向。