吳仕超, 劉滿祿, 朱 波, 李新茂
(西南科技大學 信息工程學院,綿陽 621010)
基于圖像層級的機器素描研究①
吳仕超, 劉滿祿, 朱 波, 李新茂
(西南科技大學 信息工程學院,綿陽 621010)
針對運用機械臂繪制的機器素描圖像存在缺失真實感、藝術感,硬件設備復雜,難以普及的問題,提出基于圖像層級的機器素描方法.該方法在運用灰度變換、濾波、二值化等圖像預處理方法處理原始人物圖像的基礎上,分別提取出圖像輪廓和圖像內部填充區(qū)域兩部分二值目標圖像,通過簡易路徑規(guī)劃遍歷目標圖像,根據遍歷軌跡控制XY型簡易機械臂繪制圖像輪廓及按層級繪制模式填充圖像內部區(qū)域,實現人物素描圖像的繪制.實驗結果表明,該系統(tǒng)可根據圖像輪廓實現任意曲線的繪制,通過層級繪制模式包含環(huán)境因素達到了襯托素描圖像使其更具層次感的后的.
機器素描;圖像預處理;路徑規(guī)劃;曲線繪制;分層繪制
隨著圖像處理技術在機器視覺領域的快速發(fā)展,圖像處理越來越多地運用于機器人領域以實現其智能化運作.運用機械臂繪制人物素描圖像的關鍵在于應用圖像預處理技術對包含人物目標的原始圖像進行預處理,從復雜的視覺圖像中分離出目標圖像[1].同時,運用邊緣檢測技術[2-4]提取出圖像輪廓和圖像內部填充區(qū)域.
在之前有關運用機械臂繪制人物素描圖像的研究中,其采用的繪制算法都相當復雜,且往往與昂貴的機械臂相結合,這類解決方案難以得到推廣.國外相關研究有,Sylvain Calinon等人[5]運用日本富士通生產的四自由度HOAP2機器人作為硬件平臺并采用OpenCV作為圖像處理工具完成了圖像采集、處理和繪制等工作.Junichi Ido等[6]將機器視覺與語音系統(tǒng)運用到機器人上實現了交互式繪制素描圖像的后的.A.Mohammed等[7]運用機器視覺與機械臂實現了遠程控制機器人進行素描圖像繪制的后的.Patrick Tresset等[8]通過設計“Drawing Cycle”學習模式以從藝術家的作品中得到表現圖像的藝術手法并控制機械臂實現模仿繪畫.今年,在世界移動通信大會上谷歌推出了一套基于Android智能手機的機器人繪圖系統(tǒng)[9],其最大的特點在于通過手機采集、處理圖像數據,簡化了實驗平臺.相對而言,國內關于運用機械臂繪制人物素描圖像的研究較少且起步較晚.相關的研究有,賀云凱[10]通過六軸工業(yè)機械臂實現了簡單矢量圖形及字符的繪制.倪菲等[11,12]對肖像的漫畫繪制技術進行了相關研究,提出了一種自動參數化的曲面透鏡算法用于實現肖像的漫畫繪制效果.孟盼盼[13]對肖像繪制技術中目標圖像的提取以及提取目標圖像的特征信息如頭發(fā)、眼睛、眉毛等進行研究,獲得了較為完整的人物目標圖像.何雪軍等[14]運用遺傳算法對機械臂的圖像遍歷序列進行優(yōu)化,提高了素描圖像的繪制速率.
圖像信息的復雜性、處理平臺性能的局限性決定了素描圖像的繪制要耗費一定的時間.為此,本文提出基于圖像層級的機器素描方法,通過設定不同的閾值將原始圖像分為包含不同深度圖像信息的二值圖像,采用XY型簡易機械臂硬件平臺,運用層級繪制模式以環(huán)境信息襯托目標圖像特有的又難以運用自身信息表現的特征,達到模擬藝術家繪制素描圖像的效果.
該方法的系統(tǒng)實現由以PC為中心,利用MATLAB
軟件平臺編程實現的圖像獲取、處理部件和執(zhí)行圖像繪制功能的執(zhí)行部件組成.圖像獲取及處理部件設計有用戶圖形界面,用于控制圖像信息獲取、圖像處理和運用執(zhí)行部件繪制素描圖像等流程.系統(tǒng)總體設計框圖如圖1所示.
圖1 基于圖像層級的機器素描方法系統(tǒng)設計框圖
圖像獲取設計有載入本地圖像和利用攝像頭實時采集環(huán)境圖像兩種方式,原始圖像讀入系統(tǒng)后,對其進行一些列包括灰度變換、濾波、二值化等圖像預處理操作,并按照下文的路徑規(guī)劃算法實現圖像邊緣提取、繪制和圖像內部區(qū)域的多層次填充.
本實驗系統(tǒng)的硬件平臺如圖2所示,其中X和Y(假設長的一邊為X軸,向右、向上分別為兩軸坐標遞增的方向)兩個方向的運動合成畫筆的在紙面的運動;Z軸裝有畫筆可夾持裝置,用于夾持畫筆和控制畫筆與紙面的距離;底部為放置畫紙的夾板,畫紙以A4紙大小為佳.
圖2 繪圖機器人硬件平臺
圖像處理過程如圖3所示,通過對獲取的圖像進行灰度變換、濾波等處理以減小噪聲對目標圖像的影響;針對灰度圖像通過設定不同的閾值加以處理以獲得包含不同深度圖像信息的圖像內部填充區(qū)域;對于二值化圖像通過本文的邊緣檢測算法得到圖像輪廓.
圖3 圖像處理過程
圖像像素之間的八鄰接示意圖如圖4所示.
本文以如下算法獲得圖像邊緣像素的坐標:
1)建立正向笛卡爾坐標系.
2)獲得圖像邊界段的起始像素,橫坐標最小、縱坐標最大且未標識的目標像素,將其作為當前像素,加入到邊界像素段中并對其進行標識.
3)以圖4所示查詢方向,按照左上方、上方、右上方等順時針方向依次查詢是否存在未標識的目標像素,如果存在則將其作為當前像素,加入到邊界像素段中,對其進行標識并記錄相對位置關系.
4)以記錄方向逆時針旋轉兩個方向的位置關系為起始位置,按順時針方向依次查詢是否存在未標識的目標像素,如果存在則將其作為當前像素,加入到邊界像素段中,對其進行標識并記錄相對位置關系.
5)重復步驟4)直至當前像素的鄰接像素中只有步驟2)中已標識的像素為止,至此完成一段封閉的邊界坐標提取.
6)重復步驟2)至步驟5)直至所有邊界像素加入到邊界像素段中.
圖4 邊界鄰接像素間的位置關系
通過邊緣提取操作從原始圖像中獲得包含背景信息的圖像邊緣,繪制圖像邊緣可確定目標圖像輪廓.為使利用機械臂繪制的素描圖像更具層次感與藝術感,需要對繪制的圖像輪廓進行區(qū)域層級填充.本文通過設定四個不同的閾值以獲得四幅包含不同深度圖像信息的內部填充區(qū)域,再利用四種不同的繪制方式進行區(qū)域層級填充.通過本文算法獲得的包含不同深度圖像信息的內部填充區(qū)域圖如圖5所示.
圖5 不同閾值下圖像內部填充區(qū)域提取結果
從圖中可以看出,從左到右圖像的二值化閾值逐漸減小,獲得圖像填充區(qū)域所包含的特征信息也逐漸變少.在進行區(qū)域填充時亦按照從左到右的順序進行,首先填充圖像信息較為豐富的區(qū)域,再運用不同的繪制方式填充圖像信息次為重要的區(qū)域.
基于本實驗系統(tǒng)的硬件平臺,軟件設計為控制畫筆在X、Y兩個方向的運動和畫筆的升降操作以達到在紙面完成繪畫的后的.基于此設計思想,本文運用MATLAB編程實現圖像輪廓繪制和圖像內部區(qū)域填充兩部分的路徑規(guī)劃.
本文以一定長度的線段等效表示單個像素所占空間的大小,以實現運用線段完成素描圖像繪制的后的.像素與線段的對應關系如圖6所示,(a)表示像素點(假設其幾何尺寸存在,且為L×L),(b~f)表示與像素點等效的線段.其中,(b)為長度為L的水平線段,(c)為長度為L的鉛錘線段,(d)為長度為的45度斜線,(e)為長度為的145度斜線,(f)表示經過像素中心且與水平線方向夾角為θ的用于等效表示單個像素的任意線段,其長度L1可按下式求得.
圖6 像素點與線段的對應關系
在進行圖像輪廓繪制時,本文沒有使用曲線擬合這一經典的曲線分解方法,而是采用改變用于等效表示像素點的線段長度L1,以“畫直示曲”的方法完成復雜圖像輪廓繪制的后的,也即在繪制圖像輪廓和填充圖像內部區(qū)域時設定像素點與其等效表示直線段長度之間不同的映射關系:進行圖像輪廓繪制時包含大量的像素點,同時等效表示單個像素的線段較短;填充圖像內部區(qū)域時包含的像素較少,同時等效表示單個像素的線段較長.
本文通過九宮格以8連接方式獲得圖像邊緣坐標,則在每一邊界段中任意兩個相鄰像素點間的相對位置關系僅為圖4所示的八種相對位置關系中的一類.以8連接方式獲得的任一分段圖像邊緣可用圖7所示的簡易數學模型來表示,圖中小圓點表示圖像邊緣上的像素點,折線的方向表示以8連接方式獲得圖像邊緣像素點的先后順序.
圖7 圖像一邊界段簡易數學模型
對以8連接方式獲得的每一邊界段的像素按以下方式進行編碼:
1)建立正向笛卡爾坐標系.
2)以邊界段中第一個像素作為當前像素并標識.
3)判斷當前像素與其鄰接的且未標識的像素之間的位置關系:
a)添加隔離標識符S.
b)首先用鄰接像素的橫坐標值減去當前像素的橫坐標值.
c)如果差值為零則以0編碼,表示由當前像素到其鄰接像素在X方向上無需移動;如果差值大于零(為1)則編碼為1,表示需往X正方向移動一個像素長度的距離;如果差值小于零(為-1)則編碼為2表示需往X負方向移動一個像素長度的距離.
d)用鄰接像素的縱坐標值減去當前像素的縱坐標值并將計算結果作為編碼值.
4)將鄰接像素作為新的當前像素并標識,重復操作3)直至邊界段的最后一個像素成為當前像素.
運用以上編碼方式對圖7所示圖像邊緣進行編碼得:S01S01S11S10S1-1S0-1S0-1S21S2-1S20.在上位機軟件與下位機間定義相關的通信協(xié)議后就可對此編碼進行解碼還原并通過控制X、Y兩個方向的運動實現控制畫筆沿圖像邊緣運動,達到繪制圖像輪廓的后的.
利用前文提取得到的如圖5所示的四幅圖像內部填充區(qū)域對圖像輪廓進行細節(jié)渲染,通過控制畫筆的走線方式和在同一點下筆的次數達到區(qū)分原始圖像中區(qū)域像素亮度不同的后的.通過多層次和多方式的繪制使得繪制的素描圖像具有陰影感,真實感更強.基于本實驗系統(tǒng)的硬件平臺,本文設計有四種區(qū)域填充方式:按行填充、按列填充、45度和145度斜線填充方式.圖8為圖像內部填充區(qū)域按行填充和45度斜線填充方式的路徑規(guī)劃示意圖.
圖8 區(qū)域水平填充和斜線填充示意圖
在建立坐標系后,對于按行、列進行圖像內部區(qū)域填充的方式而言,關鍵在于確定每一行、列的第一個和最后一個目標像素點的位置X0和X1,即當前路徑上要傳輸的數據長度由X0及X1唯一確定(X1-X0+1);對于斜線填充方式,需要先從目標圖像中以固定斜線方式提取圖像信息并確定有效像素始末位置,然后傳送圖像信息到下位機進行內部區(qū)域填充.
利用本文提出的基于圖像層級的機器素描方法,在提取出圖像輪廓和圖像內部填充區(qū)域的基礎上,經簡易路徑規(guī)劃,最終繪制的素描圖像如圖9、圖10所示.
圖9 人物及卡通素描圖像
文獻[5]繪制的機器素描圖像如圖11所示.
由圖11可看出,此算法由于只進行了單層填充,繪制的素描圖像過于單調,缺乏真實感、藝術感.
由文獻[6-10]提出的素描圖像繪制方法均存在繪圖設備冗雜、昂貴,難以推廣等不足.相對而言,本文提出的素描圖像繪制方法,硬件結構簡單,易于推廣使用.
由繪制的Lenna人物素描圖像可以看出,在層級圖像繪制方法下,每一層目標圖像內部填充區(qū)域包含的目標信息深度不同,單獨繪制任何一層圖像填充區(qū)域都不能完整地體現目標圖像所含有的信息,但是通過與不同的區(qū)域填充方式進行組合繪制,可使得目標圖像的特征信息更為突出,繪制的素描圖像更具立體感,達到了素描圖像的基本藝術特征.同時,由于本系統(tǒng)可根據圖像輪廓實現任意曲線的繪制,故在繪制線條較為簡單的卡通圖像方面是十分容易的.此外,本系統(tǒng)可用于繪制以圖片形式存儲的字符圖像,如藝術字與個性簽名等.
圖10 字符及簽名素描圖像
圖11 由文獻[5]繪制的機器素描圖像
本文通過對原始圖像進行灰度變換、濾波等圖像預處理后,一方面對圖像進行二值化處理并提取出圖像邊緣;另一方面通過設定四個閾值將灰度圖像轉換為包含不同深度圖像信息的內部填充區(qū)域.通過對圖像邊緣的繪制確定素描圖像輪廓,進而通過層級繪制模式填充圖像內部區(qū)域,增加素描圖像的層次感,最終實現運用機械臂繪制素描圖像的后的.本文提出的基于圖像層級的機器素描方法以環(huán)境信息襯托目標圖像,解決了難以通過目標圖像自身信息表現其特征的問題.同時,本文運用一種較為簡便的方法實現了圖像邊緣的繪制和圖像內部區(qū)域填充,為素描圖像的快速繪制提供了保障.由于本實驗系統(tǒng)為先繪制圖像輪廓再進行圖像內部區(qū)域填充,同時由于機械結構存在精度不高等缺點,故由本實驗系統(tǒng)繪制的素描圖像存在圖像輪廓與內部填充區(qū)域不能完全對齊的現象.在后續(xù)的工作中,本實驗系統(tǒng)的不足將隨著硬件和軟件算法的提高而逐步得到改善.
1 Gonzalez RC,Woods RE,Eddins SL.數字圖像處理的MATLAB實現.阮秋琦,譯.2版.北京:清華大學出版社,2013:307–311.
2 倪麟.基于Otsu理論的圖像分割算法的研究[碩士學位論文].重慶:重慶大學,2013.
3 曾俊.圖像邊緣檢測技術及其應用研究[博士學位論文].武漢:華中科技大學,2011.
4 喬陽.基于改進遺傳算法的圖像分割方法[碩士學位論文].成都:電子科技大學,2013.
5 Calinon S,Epiney J,Billard A.A Humanoid robot drawing human portraits.Proc.of the 5th IEEE-RAS International Conference on Humanoid Robots.Tsukuba,Japan.2005.161–166.
6 Ido J,Nisimura R,Matsumoto Y,et al.Humanoid with interaction ability using vision and speech information.2006 IEEE/RSJ International Conference on Intelligent Robots and Systems.Beijing,China.2007.
7 Mohammed A,Wang L,Gao RX.Integrated image processing and path planning for robotic sketching.Procedia CIRP,2013,(12):199–204.[doi:10.1016/j.procir.2013.09.035]
8 Tresset P,Leymarie FF.Portrait drawing by Paul the robot.Computers &Graphics,2013,37(5):348–363.
9 Maomao.MWC2016:谷歌展示迷幻繪圖機器人.http://www.cnbeta.com/articles/477097.htm.[2016-06-03].
10 賀云凱.基于六軸工業(yè)機器人的矢量圖形及字符繪制的應用研究[碩士學位論文].太原:太原理工大學,2015.
11 倪菲,付莊,曹其新,等.肖像繪制機器人的漫畫處理方法.上海交通大學學報,2007,41(8):1276–1281.
12 倪菲,付莊,曹其新,等.肖像漫畫繪制機器人技術研究.自然雜志,2007,29(4):212–218.
13 孟盼盼.肖像繪制機器人技術研究[碩士學位論文].合肥:中國科學技術大學,2011.
14 何雪軍,王進,陸國棟,等.基于蟻群算法的機器人圖像繪制序列優(yōu)化.浙江大學學報(工學版),2015,49(6):1139–1145.
Research on Machine Sketch Method Based on Image Hierarchy
WU Shi-Chao,LIU Man-Lu,ZHU Bo,LI Xin-Mao
(School of Information Engineering,Southwest University of Science and Technology,Mianyang 621010,China)
Aiming at the problems that the machine sketch image drawn by the manipulator lacks realism,artistic sense,and the hardware equipment is complicated,and hard to popularize,this paper proposes a machine sketch method based on image hierarchy.With this method,it extracts image contours and image inner filling areas as binary target images from the processed images based on the application of some pre-processing methods such as Gray-scale Transformation,Filtering and Binary in dealing with the original character image.Through traversing the target images with simple path planning ,then using XY-type simple manipulator to draw the image contours while painting the images with hierarchical drawing modes,it ultimately achieves the drawing of the character sketch image.Experimental results show that the method can draw arbitrary curve according to the image contours,through the hierarchical drawing model,which take the environmental factors into consideration,achieving the purpose of flattering the sketch image and making it more hierarchal.
machine sketch;image pre-processing;path planning;curve drawing;hierarchical drawing
吳仕超,劉滿祿,朱波,李新茂.基于圖像層級的機器素描研究.計算機系統(tǒng)應用,2017,26(9):264–268.http://www.c-s-a.org.cn/1003-3254/5972.html
① 基金項后:西南科技大學大學生創(chuàng)新基金(CX16-074)
2016-12-28;采用時間:2017-02-08