鄭慶慶, 吳 謹, 朱 磊, 鄧慧萍
(武漢科技大學 信息科學與工程學院, 湖北 武漢 430081)
“圖像處理”是電子信息類專業非常重要的一門專業課程,采取理論教學與實驗教學相結合,學生通過Matlab,VC++等軟件進行編程,實現圖像直方圖處理及灰度變換、圖像平滑、圖像銳化和邊緣檢測、圖像分割等最基本的圖像處理算法[1-3]。圖像處理技術的發展日新月異,因此在傳統的實驗項目中需要增加新的內容、新的方法和新的手段,引導學生從驗證型實驗走向探究型實驗,培養學生的自主能力和科研意識[4]。
為便于學生系統、全面地掌握該課程的基本原理和經典算法,了解最新的科研動態,嘗試開放實驗,利用Matlab軟件創建了圖像處理實驗教學平臺。以“交互式圖像分割算法的實驗系統開發”為例,學生輸入不同的交互式標記,就可以獲得不同的分割結果,分析總結影響分割效果的相關因素,為進一步改進算法提出大膽的建設性的想法,為后續的畢業設計或今后求學深造打下堅實的科研基礎。
圖像分割是計算機視覺領域一項基礎而關鍵的工作,由于自然圖像內容的復雜性,完全自動的分割方法往往通用性較差,準確性也較差。引入智能優化手段的交互式半自動分割通過有限的用戶交互,獲取盡可能多的分割信息,快速、準確地分割出目標對象,具有更強的實用性。交互式的圖割模型[5-6]由于其很好地將圖像區域特征與邊界特征結合起來,并具有多特征融合、全局最優、算法效率高等優良特性獲得了廣泛應用。
本實驗系統采用Matlab GUI來設計人機交互用戶界面,通過下拉選單和按鈕來調用函數實現各功能[7-9]。函數采用Matlab與C++混合編程。該實驗系統主界面見圖1。該實驗平臺主要包括了3種流行的交互式圖像分割算法[10-11]:Lazy Snapping、Grab Cut以及改進的Grab Cut。通過點擊相應的按鈕,可以進入相應算法的功能界面。

圖1 實驗系統主界面
圖2為基于Lazy Snapping[10]算法的圖像分割實驗界面。通過下拉選單打開一幅待分割的圖像,右邊顯示一系列功能按鈕,包括2種種子點選取方式:精細種子點選取和粗略種子區域選取。精細種子點選取是指逐點標注,粗略種子點選取是指給定一個矩形區域左上角和右下角兩點的位置,則區域里面所有的像素點均標記為種子點。每種方式下設5個功能按鈕:前景選取,背景選取,導入種子點,保存種子點,基于Graph Cut的分割。用戶根據需要點擊按鈕實現各項功能。

圖2 基于Lazy Snapping算法的圖像分割實驗界面
圖2給出了精細種子點選取方式的示例,待分割圖像中紅色點表示前景標記,藍色點表示背景標記。標記的種子點以及最后分割結果見圖3。粗略種子點選取及分割結果見圖4。其中保存種子點和導入種子點兩項功能的設計是為了比較在輸入相同種子點的條件下,不同算法的分割性能。

圖3 精細種子點方式下的分割

圖4 粗略種子點方式下的分割
圖5為基于Grab Cut[11]算法的圖像分割實驗界面。選擇Grab Cut交互式界面,系統自動彈出輸入前景框,導入前景框、保存前景框以及Grab Cut分割4個功能按鈕。按算法步驟執行各項功能后,得到如圖6所示的結果。

圖5 基于Grab Cut算法的圖像分割實驗界面
圖7為基于改進的Grab Cut算法的圖像分割實驗界面。選擇改進的Grab Cut交互式界面,左列出現和Grab Cut算法一樣的功能項,右邊新增了微調輸入前景種子點、微調輸入背景種子點、導入微調種子點、保存微調種子點以及改進的Grab Cut分割5個功能項。按照算法步驟執行各項功能以后,得到如圖8所示的結果。

圖6 基于Grab Cut算法的分割

圖7 基于改進的Grab Cut算法的圖像分割實驗界面

圖8 基于改進的Grab Cut算法的分割
該實驗的目的不僅向學生展現交互式圖像分割算法的實現過程,而且要讓學生通過參數設置和實驗結果來分析影響圖像分割性能的各種因素。在實驗課的準備階段,要讓學生學習圖像分割的理論知識,了解什么是交互式分割、目前有哪些主流的算法、各種算法的適用性和局限性,推薦學生閱讀相關的外文文獻[5,10-11]。圖9和圖10給出了利用該實驗系統對任意兩幅圖像進行分割的結果。
聯系課堂所學理論知識,結合實驗結果進行分析。Lazy Snapping[10]是一種基于Graph Cut的圖像分割算法,它用分水嶺算法或Meanshift算法等先對圖像進行預處理,將圖像分割成很多小區域,然后以這些小區域為頂點,相鄰區域建立邊來構建一個圖。它的優點是采用超像素,大大減小了需要處理的頂點的數目,加快了計算速度,缺點是采用超像素后誤差會增大,會丟失一些邊界的詳細信息,并且交互式輸入標記對分割結果影響很大。Grab Cut[11]是一種迭代的Graph Cut,它利用了圖像中的紋理和邊界信息,只要少量的用戶交互操作即可得到比較好的分割結果,它的Border Matting技術會使目標分割邊界更加自然和完美。它的局限性在于如果背景比較復雜或者背景和目標相似度很大,分割效果就不太好。改進的Grab Cut算法將前兩種算法優點結合起來,在Grab Cut分割結果的基礎上,微調輸入少量的種子點,將錯誤的分割區域校正過來。如圖9(f)所示,基于Grab Cut算法對飛機圖像的分割結果中,誤將一部分天空區域劃分成了目標,通過輸入圖9(g)所示的微調種子點,得到圖9(h)中校正后的分割結果。
分析實驗結果可以得到,無論哪種交互式分割算法,用戶輸入的標記點的數量和位置對分割效果有很大影響。標記點的數量不宜過多,否則就是手工分割了。通常,在目標與背景邊界較模糊的情況下,將標記點選在邊界附近,能夠提高分割的精準度。對于目標和背景顏色區分度較大的圖像,直接用Grab Cut算法簡單框定前景,就可以獲得良好的分割效果。否則采用Lazy Snapping算法或者改進的Grab Cut算法才能取得較好的效果。改進的Grab Cut算法在選取微調種子點時可以更加有把握,有針對性地進行校正。

圖9 3種算法對飛機的分割

圖10 3種算法對花朵的分割
電子信息工程專業的圖像處理課程實驗是非常重要的教學內容,“交互式圖像分割算法的實驗系統”只是諸多實驗項目中的一個范例。該實驗用戶界面簡潔友好,交互性強,可拓展性好,各算法功能實現是獨立、并行的,可以隨時增添新的算法模塊。使學生在實際的操作過程中充分發揮主觀能動性,結合理論分析、數值模擬和實驗結果分析對算法獲得更深刻的理解,有效提高學生的觀察能力,思考能力和動手能力[12-13]。對于能力突出的學生,可以提供該系統的代碼,讓學生進一步了解計算機是如何處理圖像的,甚至可以優化該平臺代碼。
參考文獻(References)
[1] 張鑫,吳娛,平子良,等. 基于Matlab GUI的數字圖像處理實驗平臺設計[J]. 現代電子技術,2014,37(18):6-8.
[2] 鄒煥新,周石琳. “數字圖像處理”實驗教學系統的構建[J]. 電氣電子教學學報,2012,34(6):48-51.
[3] 吳全玉,劉曉杰,潘玲佼,等. “數字圖像處理”課程實驗教學研究與探索[J]. 電氣電子教學學報,2016,38(1):121-124.
[4] 趙毅力,徐丹,張雁. 基于ImageJ的數字圖像處理課程實驗教學案例[J]. 計算機與現代化. 2016(3):64-67.
[5] Boykov, Jolly. Interactive Graph Cuts for Optimal Boundary & Region Segmentation of Objects in N-D Images[J]. ICCV, 2001,1:105-112.
[6] 劉毅. 基于圖割的交互式圖像分割算法研究[D]. 南京:南京理工大學,2013.
[7] 黃偉,李曉玲. 基于大數據和多模態智能技術的 計算機視覺實驗設計[J]. 實驗技術與管理,2016,33(9):122-125.
[8 ] 陳健,陳德全. 基于圖像處理自動對焦的簡易顯微鏡設計與實現[J]. 實驗技術與管理,2017,34(2):93-96.
[9] 楊曉,劉建浩,唐華兵,等. 瞬態火焰圖像處理系統開發及其在實驗教學中的應用[J]. 實驗室研究與探索,2017,36(6):55-57.
[10] Li Y, Sun J, Tang C,et al. Lazy Snapping[J]. ACM Transactions on Graphics-Proceedings of ACM SIGGRAPH, 2004,23(4):303-308.
[11] Rother C, Kolmogorov V, Blake A. Grab Cut: Interactive Foreground Extraction using Iterated Graph Cuts[J]. ACM Transactions on Graphics-Proceedings of ACM SIGGRAPH, 2004,23(3):309-314.
[12] 蔣偉,楊庭庭,劉亞威,等. 數字圖像處理研究性實驗教學的改革與實踐:基于分數階偏微分的圖像邊緣檢測[J]. 實驗技術與管理,2013,30(6):124-128.
[13] 陳木生,林順達. 數字圖像處理實驗教學研究與實踐[J]. 實驗科學與技術,2016,14(4):133-135.