鄧 酩,楊鐵軍
(桂林理工大學 信息科學與工程學院,廣西 桂林541004)
電子商務已經(jīng)成為商品交易主要方式之一。一般情況下,商家和顧客先會通過互聯(lián)網(wǎng)即時通訊工具等進行交談和協(xié)商,然后顧客下訂單,商家根據(jù)顧客的訂單完成發(fā)貨。商家在發(fā)貨這個環(huán)節(jié),往往會由于各種原因沒有完全按照顧客的要求發(fā)貨,或者根本就是顧客本身對于該商品不夠了解,當時下單選擇的商品類型(包括商品的顏色、尺寸、外觀等)并非自己滿意的那種。這樣會造成在顧客收貨后,對商家存在意見或者要求商家無條件換貨或退貨,甚至對商家做出劣質(zhì)評價,對其信用造成不良影響,從而會降低顧客對商家的信任程度,并給商家或顧客增加額外的物流成本。解決該問題的常見方法是進行發(fā)貨前檢查。在發(fā)貨前,商家會對該商品進行類型比對,如發(fā)現(xiàn)與訂單類型不符或類型模糊不清,則與顧客進行再次聯(lián)系,該過程基本通過手工完成,費時費力。也有商家通過拍攝商品照片的方式與顧客進行確認,但拍攝、轉(zhuǎn)存到計算機、照片的處理和傳輸?shù)冗^程會增加非常大的工作成本。雖然這種方式能使顧客看到所購買商品的真實樣子,但商家的實施成本高,所以得不到推廣。
因此,現(xiàn)代電子商務發(fā)貨環(huán)節(jié)所存在的易出錯、糾錯難、確認成本高、效率低等問題,迫切需要運用技術(shù)手段來提高工作效率。本文針對現(xiàn)代電子商務發(fā)貨環(huán)節(jié)存在的缺陷,利用計算機圖像處理技術(shù),設計了一種運行成本低、自動化程度高的發(fā)貨確認管理系統(tǒng)。該系統(tǒng)中一個關(guān)鍵技術(shù)是目標物的自動分割。本文采用水平集分割方法來完成對目標物的自動分割。水平集分割方法最初是由Osher和Sethian于1988年提出的,由于其具有適應各種復雜的拓撲結(jié)構(gòu)及變化、對初始輪廓的位置不太敏感等特點,近年來廣受關(guān)注。如 Malladi提出的窄帶法(narrow band)[1],只更新零水平集鄰域中網(wǎng)格點的值,減少計算量;結(jié)合窄帶法,Sethian提出了計算復雜度為O(NlogN)的快速步進(fast marching method,F(xiàn)MM)算法[2],其中 N為窄帶中的網(wǎng)格點數(shù)目;快速步進法是提高水平集方法計算速度的經(jīng)典算法,之后有很多文獻對該方法進行了改進。如朱付平等根據(jù)區(qū)域之間的統(tǒng)計特性的相似度重新定義了Fast Marching方法的速度函數(shù),提出了一種結(jié)合改進的Fast Marching算法和Watershed變換的醫(yī)學圖像分割方法并取得了良好的效果[3];王崢等提出了一種時間復雜度為O(N)的快速初始化的方法,并結(jié)合 Mumford-Shah模型和水平集方法中的窄帶解法,使分割計算限制在窄帶范圍內(nèi),并取得了與原 Mumford-Shah模型相同的分割效果[4]。Chunming Li提出了一種基于高斯核函數(shù)的局部二值擬合(region scalable fitting,RSF)能量[5-6],該能量為當前水平集的局部能量,因此不受圖像其它部分(即使是非分段常量圖像)信息的干擾,能夠得到較好的分割結(jié)果。本文將采用改進的RSF水平集分割方法實現(xiàn)該系統(tǒng),將可以讓商家更加方便、高效的完成經(jīng)用戶 “親眼”確認的發(fā)貨,降低發(fā)貨的出錯率,提高商家的信用和顧客的滿意度。
水平集(level set)圖像分割方法是一種基于偏微分方程數(shù)值計算的分析和求解邊界傳播的方法,被稱為幾何型變形模型。它最初是由Osher和Sethian于1988年提出的,其基本思想是將表示界面的閉合曲線或曲面表達為隱含的高一維函數(shù)的水平集(通常是零水平集),該高一維函數(shù)即稱為水平集函數(shù),進而將邊界傳播問題轉(zhuǎn)化成一個求偏微分方程數(shù)值解的問題,并通過用數(shù)值解來近似表示水平集函數(shù)的演化過程,從而求得它所隱含的低一維的邊界。水平集方法的數(shù)學描述如下:
目標演化邊界C(p,t)表示成函數(shù)Φ(x,y,t)的零水平集(即Φ(x,y,t)=0),函數(shù)Φ(x,y,t)定義如下
Φ(x,y,t)初始值通常取為平面內(nèi)點到邊界曲線C的代數(shù)距離,且曲線內(nèi)部點距離為負,曲線外部點距離為正,曲線上的點距離為零,因此給出了曲線C(p,t)的隱式表示
可以對t取足夠小的步長Δt并使用數(shù)值法來求方程的近似解,解得的Φt=0即為t時刻曲線C(t)的位置[7]。
水平集圖像分割方法具有以下特點:①可以適應各種復雜的拓撲結(jié)構(gòu)及變化,如輪廓的拼接、融合、分裂等;②對初始輪廓的位置不太敏感;③抗噪聲能力強;④采用穩(wěn)定的數(shù)值解法;⑤易于實現(xiàn)從二維到三維甚至更高維的擴展。
由于貨物的大小、形狀和顏色不一,所以有必要先將貨物從采集圖像中分割出來,再進行其它加工處理。本文使用一種改進的RSF水平集分割方法完成對目標貨物的分割[8]。RSF是一種基于高斯核函數(shù)的可變區(qū)域擬合能量,見式
式中:kσ(·)——高斯核函數(shù),I(y)——原圖像,Ωi——被曲線分割內(nèi)部和外部2個區(qū)域,fi(x)——對應區(qū)域的擬合函數(shù)。該能量依然利用了原圖像的全部信息,因為,RSF方法雖然使用高斯核函數(shù)作為曲線內(nèi)部或外部任意像素到擬合函數(shù)fi(x)的距離的權(quán)值,但內(nèi)部與外部像素的并集即為原圖像,因此還是在全局使用圖像信息。
而改進的RSF方法首先基于小波變換提取圖像的高頻成分,然后根據(jù)高頻成分計算水平集分割所依賴的有效像素(effective pixels,EP),在有效像素組成的局部區(qū)域m內(nèi)重新計算各能量并驅(qū)動水平集演化。其數(shù)據(jù)擬合能量ERSF定義為
其中
式中:Φ——水平集函數(shù),I——原圖像,kσ(·)——高斯核函數(shù),H(·)——Heaviside函數(shù),δ(·)——Diracδ函數(shù)。
圖像處理技術(shù)的底層實現(xiàn)語言一般選擇C/C++,常見的圖像處理開發(fā)包有Matlab圖像處理工具箱、OpenCV[9]、Blackfin[10]和ImageMagick[11]等。Matlab圖像處理工具箱功能全面,對外提供編程接口,但為商業(yè)軟件;OpenCV是一種開源的計算機視覺方面的開發(fā)工具箱,它除了包含常用的基本圖像處理功能外,還提供了圖像分析、識別和理解等高層次的功能,比較適合于復雜的圖像處理系統(tǒng);Blackfin是一種面向特定硬件平臺的圖像處理工具箱,該工具箱是為實現(xiàn)快速開發(fā)基于ADI公司的Blackfin系列處理器的圖像處理系統(tǒng)而設計的。本文將使用ImageMagick作為該系統(tǒng)的圖像處理開發(fā)包。
ImageMagick(IM)是一種開源的、免費的圖像處理開發(fā)工具箱。它支持大部分的圖像格式,主要功能包括格式轉(zhuǎn)換,各種幾何變換,代數(shù)運算,離散傅立葉變換,數(shù)學形態(tài)學操作,圖像增強處理等。IM可運行于大多數(shù)操作系統(tǒng)上,并且可以使用C/C++和Java等高級程序語言進行編程開發(fā),編程接口豐富。因此,基于IM可以方便、靈活的構(gòu)建具有基礎圖像處理功能的系統(tǒng)。本文以Java語言為例,利用JMagick接口來調(diào)用IM的各種圖像處理功能。JMagick的原理是利用Java Native Interface(JNI)技術(shù)實現(xiàn)對IM的接口訪問。
該系統(tǒng)工作流程如圖1所示:首先商家接收到顧客的訂單,該訂單信息被發(fā)貨管理服務器(TMS)轉(zhuǎn)換成發(fā)貨通知發(fā)送給發(fā)貨點工作站(TS),發(fā)貨人員查看發(fā)貨通知,調(diào)取相應商品放置到圖像采集指定地點,并啟動圖像采集子系統(tǒng)(IASS)采集商品圖像,采集完畢后通過傳輸子系統(tǒng)(TSS)發(fā)送至TMS,TMS啟動圖像處理子系統(tǒng)(IPSS)對其進行加工處理,處理結(jié)果由TSS發(fā)送至顧客確認。當顧客發(fā)回確認信息給管理中心子系統(tǒng)(MCSS)后,MCSS通知發(fā)貨人員查看確認信息,根據(jù)確認情況進行發(fā)貨或重新確認。
該系統(tǒng)主要由TMS和TS兩部分組成,TMS和TS之間通過網(wǎng)絡連接。TMS對所采集的圖像進行自動加工處理(分割、剪切、分辨率調(diào)整和壓縮),然后發(fā)送處理后的商品圖像給顧客,等待并接收顧客確認,最后通知發(fā)貨員查看確認結(jié)果。每一個發(fā)貨點采用一臺連有至少一個攝像頭的計算機作為商品圖像采集裝置,通過網(wǎng)絡上傳采集的商品圖像到TMS。TMS由 MCSS、IPSS和TSS組成。系統(tǒng)結(jié)構(gòu)如圖2所示。
MCSS具有發(fā)貨信息管理的功能,包括發(fā)貨通知,上傳商品圖像,發(fā)送待發(fā)貨商品圖像給顧客,接收顧客確認信息,通知發(fā)貨員查看確認信息;IPSS完成對商品圖像的加工處理,使之能清晰、方便的反映待發(fā)貨物的現(xiàn)狀;TSS為發(fā)貨信息管理提供可靠的數(shù)據(jù)傳輸服務,具有斷點續(xù)傳、重發(fā)等功能。
IPSS是本系統(tǒng)的核心模塊之一,主要功能包括對所采集圖像進行分割、剪切、分辨率調(diào)整和壓縮等,其目的是使自動處理后的圖像盡可能客觀的反應商品的實際狀態(tài),使客戶 “親眼”看到自己想要購買的商品。
IPSS的核心類為ImageProcessor,首先運用基于EP的改進RSF水平集分割方法對目標貨物進行分割;其它圖像處理功能均通過JMagick的MagickImage類實現(xiàn)。例如剪切通過MagickImage類的cropImage方法實現(xiàn);分辨率調(diào)整利用MagickImage類的scaleImage方法實現(xiàn);壓縮通過編碼圖像為jpg格式實現(xiàn),使用MagickImage類的writeImage方法實現(xiàn)。ImageProcessor的類圖如圖3所示。
圖3 核心類
采集圖像時背景顏色應與目標貨物(特別是其邊緣)有所區(qū)別?;谒郊哪繕素浳锓指罘椒ㄈ缦拢?/p>
(1)首先將采集的彩色圖像轉(zhuǎn)換成灰度圖像,方法是去掉其色度和飽和度分量,保留其亮度分量。
(2)然后使用改進的RSF方法對灰度圖像進行分割,得到目標的大致輪廓。
A3(xmax+d,ymin-d),A4(xmax+d,ymax+d),這4點確定的矩形即為目標物所在位置,其中d為目標物邊界空隙調(diào)整參數(shù),取值范圍 [2,5],作用是擴大矩形范圍,但計算時應保持在原圖像坐標范圍內(nèi)。
(4)根據(jù)A1-A4對原圖像進行剪切處理,得到分割后的目標圖像。
以某一商品為實例,重點討論IPSS的圖像分割及相關(guān)實現(xiàn)。運用基于水平集的分割方法對目標貨物進行分割(如圖4所示)。圖4(a)為灰度化后的原圖像,由于光照不勻,左上角明顯偏亮;圖4(b)為EP組成的局部區(qū)域(非黑色區(qū)域);圖4(c)為分割結(jié)果,白線即為目標輪廓;圖4(d)是根據(jù)零水平集剪切后的目標圖像。另外,分別使用C-V水平集和Canny邊緣檢測方法對圖4(a)進行分割,結(jié)果分別如圖4(e)和圖4(f)所示。由圖分析知,C-V和Canny方法對光照不勻都非常敏感,而本文方法受光照影響較小,因此更好的定位了目標貨物。
圖4 目標分割
其中剪切的核心代碼如下:
然后,調(diào)整圖像到適合大小,方便查看和傳輸;
最后,采用jpg格式對圖像進行壓縮并存儲。
介紹了一種基于水平集分割和IM圖像處理工具箱的發(fā)貨確認管理系統(tǒng)的設計方法。該系統(tǒng)使用的主要技術(shù)包括改進的RSF水平集分割方法、具有底層圖像處理功能的IM以及銜接IM和高級程序語言的JMagick接口。重點介紹了該系統(tǒng)的框架設計,核心子系統(tǒng)IPSS的設計及部分實現(xiàn)等。該方法能夠提高電子商務的發(fā)貨確認效率,并且為構(gòu)建類似的圖像處理系統(tǒng)提供了一種可供參考的系統(tǒng)設計方法。
[1]Malladi R,Sethian J A,Vemuri B C.Shape modeling with front propagation:A level set approach [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1995,17(2):158-175.
[2]Sethian J A.A fast marching level set method for monotonically advancing fronts [J].Proc Natl Acad Sci USA,1996,93(4):1591-1595.
[3]ZHU Fuping,TIAN Jie,LIN Yao,et al.Medical image segmentation based on Level Set method [J].Journal of Software,2002,13(9):1866-1872(in Chinese). [朱付平,田捷,林瑤,等.基于Level Set方法的醫(yī)學圖像分割 [J].軟件學報,2002,13(9):1866-1872.]
[4]WANG Zheng,YANG Xin,SHI Pengfei.Segmentation based on Mumford-Shah model combined with narrow band [J].J Infrared Millim Waves,2002,21(3):161-166(in Chinese).[王崢,楊新,施鵬飛.基于窄帶Mumford-Shah模型的圖像分割方法 [J].紅外與毫米波學報,2002,21(3):161-166.]
[5]LI Chunming,KAO Chiuyen,John C Gore,et al.Implicit active contours driven by local binary fitting energy [C].Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2007:1-7.
[6]LI Chunming,KAO Chiuyen,John C Gore,et al.Minimization of region-scalable fitting energy for image segmentation [J].IEEE Trans Image Processing,2008,17(10):1940-1949.
[7]Sethian J A.Numerical algorithms for propagating interfaces:Hamilton-jacobi equations and conservation laws [J].Journal of Differential Geometry,1990,31(1):131-161.
[8]YANG Tiejun,HUANG Lin.Level set segmentation method using wavelet based effective energy [J].International Journal of Digital Content Technology and its Applications,2011,5(3):119-125.
[9]JIA Xiaojun,YU Qingcang.The image processing based on open source computer vision library [J].Computer Application and Software,2008,25(4):276-278(in Chinese).[賈小軍,喻擎蒼.基于開源計算機視覺庫OpenCV的圖像處理 [J].計算機應用與軟件,2008,25(4):276-278.]
[10]LU Gang.Optimization and implementation of embedded GUI based on Blackfin processor [J].Computer Engineering,2009,35(6):269-271(in Chinese). [盧剛.基于 Blackfin處理器的嵌入式GUI優(yōu)化與實現(xiàn) [J].計算機工程,2009,35(6):269-271.]
[11]Michael Still.The definitive guide to image magick [M].New York:Springer-Verlag,2006.