一種智能機器人的圖像繪制方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種智能機器人的圖像繪制方法及系統(tǒng),方法包括:輸入待繪制的源圖像;采用基于混合二值化圖像處理的方法對源圖像進行特征提取,得到機器人的待填充區(qū)域;根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑;機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。本發(fā)明采用了基于局部二值化和全局二值化的混合方法對源圖像進行特征提取,魯棒性強、可靠、準確;以最短總繪制時間為目標,采用改進的路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑,繪制時間更短。本發(fā)明可廣泛應(yīng)用于圖像處理領(lǐng)域。
【專利說明】
一種智能機器人的圖像繪制方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及圖像處理領(lǐng)域,尤其是一種智能機器人的圖像繪制方法及系統(tǒng)。
【背景技術(shù)】
[0002] 當前智能機器人已成為一個熱門的研究課題,被應(yīng)用到許多工業(yè)應(yīng)用中,如組裝、 噴漆和打磨等。隨著智能機器人技術(shù)和繪圖技術(shù)的不斷發(fā)展,機器人繪圖技術(shù)應(yīng)運而生。機 器人繪圖技術(shù)使用工業(yè)機器人來繪制照相機所拍攝的圖像。由于需要根據(jù)拍攝的圖像對機 器人進行實時控制,機器人繪圖技術(shù)可以展示機器人智能應(yīng)對不斷變化環(huán)境的情況。
[0003] 在機器人繪圖技術(shù)中,圖像特征提取以及確定繪制路徑是兩個最重要的步驟。在 當前眾多的圖像特征提取方法中,二值化特征提取法是一種較常用的方法,二值化特征提 取法包括全局二值化方法和局部二值化方法。全局二值化方法算法簡單,但對因光照不均 等情況而亮度差別大的圖像的處理效果較差,魯棒性較弱;局部二值化方法不受光照條件 等因素的影響,但其在某些方面的表現(xiàn)與高通濾波器類似,可能會導致機器人最終繪制的 圖像出錯,不夠可靠和準確,例如,一個具有大面積的人頭發(fā)圖像在使用局部二值化方法處 理后可能會使機器人畫出一個"秀頭"。
[0004]圖像特征提取后得到特征是需要被機器人填充的封閉性區(qū)域,這些區(qū)域有復雜的 形狀以及空洞,直接處理這些區(qū)域變得非常困難,故在最短時間內(nèi)遍歷這些復雜的區(qū)域以 確定機器人的繪制路徑就成了業(yè)內(nèi)一個亟需解決的技術(shù)難題?,F(xiàn)有的機器人繪圖技術(shù)對此 并沒有很好的解決方案,滿足不了人們對圖像繪制速度的高要求。
【發(fā)明內(nèi)容】
[0005] 為解決上述技術(shù)問題,本發(fā)明的目的在于:提供一種魯棒性強、可靠、準確和繪制 時間短的,智能機器人的圖像繪制方法。
[0006] 本發(fā)明的目的在于:提供一種魯棒性強、可靠、準確和繪制時間短的,智能機器人 的圖像繪制系統(tǒng)。
[0007] 本發(fā)明所采取的技術(shù)方案是:
[0008] -種智能機器人的圖像繪制方法,包括以下步驟:
[0009] 輸入待繪制的源圖像;
[0010] 采用基于混合二值化圖像處理的方法對源圖像進行特征提取,得到機器人的待填 充區(qū)域;
[0011] 根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到 機器人的最佳繪制路徑;
[0012] 機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。
[0013] 進一步,所述采用基于混合二值化圖像處理的方法對源圖像進行特征提取,得到 機器人的待填充區(qū)域這一步驟包括:
[0014] 采用局部二值化法對源圖像進行處理,得到局部二值化圖像;
[0015] 采用基于直方圖閾值的全局二值化法對源圖像進行處理,得到全局二值化圖像;
[0016] 將局部二值化圖像和全局二值化圖像進行合并,得到包含有機器人的待填充區(qū)域 的二值化圖像;
[0017] 將合并后的二值化圖像由位圖轉(zhuǎn)換為矢量圖。
[0018] 進一步,所述采用局部二值化法對源圖像進行處理,得到局部二值化圖像這一步 驟,其包括:
[0019] 采用積分圖法計算源圖像中每個像素的鄰域的灰度算術(shù)平均值,計算公式為:
[0020]
[0021]其中,p(x,y)為源圖像中點(x,y)的像素值,I(x,y)為源圖像中點(x,y)在積分圖 中對應(yīng)的像素值,s為源圖像中點(x,y)的鄰域的大小,為向下取整符號,w和h分別 為源圖像的寬度和高度,α和β均為給定的權(quán)重參數(shù),m (X,y)
為源圖像中點(X,y)的鄰域的灰 度算術(shù)平均值;
[0022]根據(jù)計算的平均值為源圖像的每個像素計算出相應(yīng)的局部閾值,計算公式為:T (1,7)=111(1,7)-(3,其中,1'(1,7)為源圖像中點(1,7)的局部閾值,(3為給定的常數(shù);
[0023]根據(jù)計算的局部閾值對源圖像進行局部閾值化,得到局部二值化圖像,所述源圖 像的局部閾值化公式為:
[0024]
[0025]其中,b(x,y)為源圖像中點(x,y)局部閾值化后的像素值。
[0026]進一步,所述采用基于直方圖閾值的全局二值化法對源圖像進行處理,得到全局 二值化圖像這一步驟,其包括:
[0027]獲取源圖像的直方圖曲線;
[0028] 根據(jù)源圖像的直方圖曲線采用抖動消除法確定源圖像的直方圖全局閾值;
[0029] 根據(jù)確定的全局閾值對源圖像進行二值化,得到全局二值化圖像。
[0030] 進一步,所述根據(jù)源圖像的直方圖曲線采用抖動判別法確定源圖像的直方圖全局 閾值這一步驟包括:
[0031]找到源圖像的直方圖曲線的所有極值點,并以此建立谷點的候選集;
[0032]逐一判斷谷點的候選集中每個極值點的灰度值是否滿足設(shè)定的抖動消除條件,若 是,則將該極值點從谷點的候選集中移除,反之,則保留該極值點,最終得到無抖動的候選 集,所述設(shè)定的抖動消除條件為:的"-以^川^以中^和^:分別為谷點的候選集中 第u個極值點和第u+1個極值點,f(x u)和f (xu+i)分別為Xi^Pxu+i對應(yīng)的灰度值,U=I,2,…,p- I ;P為谷點的候選集中極值點的總數(shù),ε為設(shè)定的抖動參數(shù);
[0033] 從無抖動的候選集找出第一個滿足X。為極大值點且χ〇+1為極小值點的極值點X。,然 后以極小值點Xo+i對應(yīng)的灰度值f (Xo+i)作為源圖像的直方圖全局閾值,其中,〇 = 1,2,…,q_ 1; q為無抖動的候選集中極值點的總數(shù),且q < P。
[0034] 進一步,所述根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路 徑規(guī)劃,得到機器人的最佳繪制路徑這一步驟,其包括:
[0035] 采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行擬合,得到擬合后的待 填充區(qū)域,所述改進的邊緣擬合法采用多段圓弧來擬合待填充區(qū)域的邊緣的每段曲線,并 在圓弧的半徑小于設(shè)定的半徑閾值時使用連接該段圓弧兩個端點所得到的線段來近似該 段圓??;
[0036] 將擬合后的待填充區(qū)域分割為多個內(nèi)部不帶空洞的子區(qū)域;
[0037] 以最短總繪制時間為目標,采用啟發(fā)式搜索算法確定各個子區(qū)域的繪制順序以及 各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制路徑。
[0038] 進一步,所述以最短總繪制時間為目標,采用啟發(fā)式搜索算法確定各個子區(qū)域的 繪制順序以及各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制路徑這一步 驟,其包括:
[0039]尋找任意兩個子區(qū)域間的最短距離;
[0040] 將每個子區(qū)域抽象成一個點,以兩個子區(qū)域間的最短距離作為邊的權(quán)重,將最短 總繪制時間尋找問題轉(zhuǎn)化為旅行商問題,然后采用啟發(fā)式最近鄰算法求解出各個子區(qū)域的 繪制順序;
[0041] 計算各個子區(qū)域內(nèi)每種模式路徑的總繪制時間,計算公式為:
[0042]
[0043] 其中,ttQtal為當前子區(qū)域內(nèi)當前模式路徑的總繪制時間,V為機器人繪制工具的最 大移動速度,a為機器人繪制工具給定的加速度,η為當前子區(qū)域內(nèi)當前模式路徑掃描行的 數(shù)量,t。為機器人繪制工具從一個掃描行移動到下一個掃描行的時間,t r和Ir分別為當前子 區(qū)域內(nèi)當前模式路徑中第r個掃描行的填充時間和長度,width為當前子區(qū)域內(nèi)當前模式路 徑掃描行的寬度;
[0044] 根據(jù)不同子區(qū)域間的距離和機器人繪制工具的移動速度計算不同子區(qū)域間的移 動時間;
[0045] 根據(jù)各個子區(qū)域的繪制順序、各個子區(qū)域內(nèi)每種模式的路徑的總繪制時間和不同 子區(qū)域間的移動時間進行建模和最優(yōu)化求解,得到最短總繪制時間對應(yīng)的各個子區(qū)域的繪 制起點和繪制終點,所述最短總繪制時間Ttotal的關(guān)系表達式為:
[0046]
[0047]其中,每個子區(qū)域按照繪制順序?qū)?yīng)一個團,Y為最后一個團,k為第k個團,k= 1, 2,~,11/;0[11/4]、0|>4]和0[1^-14]分別為從第一個團的繪制起點到團11 /、團1^和團1^-1中 的點i的最短繪制時間,cptr/,i]和cptr/ J]分別為團Y的角落點i和和dr/]分 別為團Y的繪制起點和繪制終點,!"(cpI;!/,i] ,cplir/,j])為團r/中的點i到團r/中的點j的 繪制時間,cp[k-l,j]和cp[k-l,t]分別為團k-Ι的角落點j和t,cp[k,i]為團k的角落點i,T (cp[k-l,j],cp[k-l,t])為團k-1 中的點 j到團k-1 中的點t的繪制時間,T(cp[k-1,t],cp[k, i ])為團k-1中的點t到團k中的點i的移動時間,D [ 0,i ]為D [ k,i ]的初始值。
[0048]本發(fā)明所采取的另一技術(shù)方案是:
[0049] -種智能機器人的圖像繪制系統(tǒng),包括:
[0050] 輸入模塊,用于輸入待繪制的源圖像;
[0051] 征提取模塊,用于采用基于混合二值化圖像處理的方法對源圖像進行特征提取, 得到機器人的待填充區(qū)域;
[0052] 最佳繪制路徑獲取模塊,用于根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū) 域分割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑;
[0053]圖像繪制模塊,用于機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。
[0054]進一步,所述最佳繪制路徑獲取模塊包括:
[0055] 邊緣擬合單元,用于采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行擬 合,得到擬合后的待填充區(qū)域,所述改進的邊緣擬合法采用多段圓弧來擬合待填充區(qū)域的 邊緣的每段曲線,并在圓弧的半徑小于設(shè)定的半徑閾值時使用連接該段圓弧兩個端點所得 到的線段來近似該段圓??;
[0056] 分割單元,用于將擬合后的待填充區(qū)域分割為多個內(nèi)部不帶空洞的子區(qū)域;
[0057] 最佳繪制路徑確定單元,用于以最短總繪制時間為目標,采用啟發(fā)式搜索算法確 定各個子區(qū)域的繪制順序以及各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳 繪制路徑。
[0058] 進一步,所述最佳繪制路徑確定單元包括:
[0059]最短距離尋找子單元,用于尋找任意兩個子區(qū)域間的最短距離;
[0060]繪制順序求解子單元,用于將每個子區(qū)域抽象成一個點,以兩個子區(qū)域間的最短 距離作為邊的權(quán)重,將最短總繪制時間尋找問題轉(zhuǎn)化為旅行商問題,然后采用啟發(fā)式最近 鄰算法求解出各個子區(qū)域的繪制順序;
[0061] 第一時間計算子單元,用于計算各個子區(qū)域內(nèi)每種模式路徑的總繪制時間,計算 公式為:
[0062]
[0063] 其中,ttcltal為當前子區(qū)域內(nèi)當前模式路徑的總繪制時間,V為機器人繪制工具的最 大移動速度,a為機器人繪制工具給定的加速度,η為當前子區(qū)域內(nèi)當前模式路徑掃描行的 數(shù)量,t。為機器人繪制工具從一個掃描行移動到下一個掃描行的時間,t r和Ir分別為當前子 區(qū)域內(nèi)當前模式路徑中第r個掃描行的填充時間和長度,width為當前子區(qū)域內(nèi)當前模式路 徑掃描行的寬度;
[0064] 第二時間計算子單元,用于根據(jù)不同子區(qū)域間的距離和機器人繪制工具的移動速 度計算不同子區(qū)域間的移動時間;
[0065] 繪制起點和繪制終點確定單元,用于根據(jù)各個子區(qū)域的繪制順序、各個子區(qū)域內(nèi) 每種模式的路徑的總繪制時間和不同子區(qū)域間的移動時間進行建模和最優(yōu)化求解,得到最 短總繪制時間對應(yīng)的各個子區(qū)域的繪制起點和繪制終點,所述最短總繪制時間T total的關(guān)系 表達式為:
[0066]
[0067]其中,每個子區(qū)域按照繪制順序?qū)?yīng)一個團,r/為最后一個團,k為第k個團,k=l, 2,~,11/;0[11/4]、0|>4]和0[1^-14]分別為從第一個團的繪制起點到團11 /、團1^和團1^-1中 的點i的最短繪制時間,cptr/,i]和cptr/ J]分別為團Y的角落點i和和dr/]分 別為團Y的繪制起點和繪制終點,!"(cpI;!/,i] ,cplir/,j])為團r/中的點i到團r/中的點j的 繪制時間,cp[k-l,j]和cp[k-l,t]分別為團k-Ι的角落點j和t,cp[k,i]為團k的角落點i,T (cp[k-l,j],cp[k-l,t])為團k-1 中的點 j到團k-1 中的點t的繪制時間,T(cp[k-1,t],cp[k, i ])為團k-1中的點t到團k中的點i的移動時間,D [ O,i ]為D [ k,i ]的初始值。
[0068]本發(fā)明的方法的有益效果是:采用基于混合二值化圖像處理的方法對源圖像進行 特征提取,融合了局部二值化法和全局二值化法的優(yōu)點,通過局部二值化解決全局二值化 方法對因光照不均等情況而亮度差別大的圖像的處理效果較差的問題,不受光照條件的影 響,魯棒性好;通過全局二值化局部避免局部二值化方法因表現(xiàn)類似高通濾波器而帶來的 問題,減少機器人最終繪制的圖像出錯幾率,更加可靠和準確;根據(jù)機器人的待填充區(qū)域采 用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑,提出了針對 機器人封閉性填充區(qū)域的路徑優(yōu)化算法來進行填充,能在最短時間內(nèi)遍歷這些復雜的區(qū)域 以確定機器人的最佳繪制路徑,繪制時間更短。進一步,采用改進的邊緣擬合法對機器人的 待填充區(qū)域的邊緣進行擬合,能通過多段圓弧來擬合待填充區(qū)域的邊緣的每段曲線,減少 邊緣鋸齒的現(xiàn)象,更加可靠。進一步,采用啟發(fā)式搜索算法確定各個子區(qū)域的繪制順序以及 各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制路徑,進一步通過啟發(fā)式 搜索算法提高了遍歷速度和降低了運算復雜度。
[0069] 本發(fā)明的系統(tǒng)的有益效果是:在征提取模塊中采用基于混合二值化圖像處理的方 法對源圖像進行特征提取,融合了局部二值化法和全局二值化法的優(yōu)點,通過局部二值化 解決全局二值化方法對因光照不均等情況而亮度差別大的圖像的處理效果較差的問題,不 受光照條件的影響,魯棒性好;通過全局二值化局部避免局部二值化方法因表現(xiàn)類似高通 濾波器而帶來的問題,減少機器人最終繪制的圖像出錯幾率,更加可靠和準確;在最佳繪制 路徑獲取模塊中根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī) 劃,得到機器人的最佳繪制路徑,提出了針對機器人封閉性填充區(qū)域的路徑優(yōu)化算法來進 行填充,能在最短時間內(nèi)遍歷這些復雜的區(qū)域以確定機器人的最佳繪制路徑,繪制時間更 短。進一步,在邊緣擬合單元中采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行 擬合,能通過多段圓弧來擬合待填充區(qū)域的邊緣的每段曲線,減少邊緣鋸齒的現(xiàn)象,更加可 靠。進一步,在最佳繪制路徑確定單元中采用啟發(fā)式搜索算法確定各個子區(qū)域的繪制順序 以及各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制路徑,進一步通過啟 發(fā)式搜索算法提高了遍歷速度和降低了運算復雜度。
【附圖說明】
[0070] 圖1為本發(fā)明一種智能機器人的圖像繪制方法的整體流程圖;
[0071 ]圖2為實施例一機器人畫相系統(tǒng)的整體框架圖;
[0072]圖3為實施例一特征提取的流程圖;
[0073]圖4為實施例一源圖像的直方圖;
[0074]圖5為實施例一繪制路徑的關(guān)系不意圖;
[0075] 圖6為實施例一單個子區(qū)域的不同路徑模式示意圖;
[0076] 圖7為實施例二的實驗系統(tǒng)結(jié)構(gòu)示意圖;
[0077] 圖8為實施例二特征提取的步驟流程圖;
[0078] 圖9為實施例二機器人進行路徑規(guī)劃和繪圖的過程示意圖;
[0079] 圖10為實施例二機器人所繪出的圖像。
【具體實施方式】
[0080] 參照圖1,一種智能機器人的圖像繪制方法,包括以下步驟:
[0081 ]輸入待繪制的源圖像;
[0082] 采用基于混合二值化圖像處理的方法對源圖像進行特征提取,得到機器人的待填 充區(qū)域;
[0083] 根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到 機器人的最佳繪制路徑;
[0084] 機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。
[0085]進一步作為優(yōu)選的實施方式,所述采用基于混合二值化圖像處理的方法對源圖像 進行特征提取,得到機器人的待填充區(qū)域這一步驟包括:
[0086]采用局部二值化法對源圖像進行處理,得到局部二值化圖像;
[0087]采用基于直方圖閾值的全局二值化法對源圖像進行處理,得到全局二值化圖像; [0088]將局部二值化圖像和全局二值化圖像進行合并,得到包含有機器人的待填充區(qū)域 的二值化圖像;
[0089] 將合并后的二值化圖像由位圖轉(zhuǎn)換為矢量圖。
[0090] 進一步作為優(yōu)選的實施方式,所述采用局部二值化法對源圖像進行處理,得到局 部二值化圖像這一步驟,其包括:
[0091] 采用積分圖法計算源圖像中每個像素的鄰域的灰度算術(shù)平均值,計算公式為:
[0092]
[0093] 其中,p(x,y)為源圖像中點(x,y)的像素值,I(x,y)為源圖像中點(x,y)在積分圖 中對應(yīng)的像素值,s為源圖像中點(x,y)的鄰域的大小
&向下取整符號,w和h分別 為源圖像的寬度和高度,α和β均為給定的權(quán)重參數(shù),m(x,y)為源圖像中點(x,y)的鄰域的灰 度算術(shù)平均值;
[0094] 根據(jù)計算的平均值為源圖像的每個像素計算出相應(yīng)的局部閾值,計算公式為:T (1,7)=111(1,7)-(3,其中,1'(1,7)為源圖像中點(1,7)的局部閾值,(3為給定的常數(shù);
[0095] 根據(jù)計算的局部閾值對源圖像進行局部閾值化,得到局部二值化圖像,所述源圖 像的局部閾值化公式為:
[0096]
[0097] 其中,b(x,y)為源圖像中點(x,y)局部閾值化后的像素值。
[0098] 進一步作為優(yōu)選的實施方式,所述采用基于直方圖閾值的全局二值化法對源圖像 進行處理,得到全局二值化圖像這一步驟,其包括:
[0099]獲取源圖像的直方圖曲線;
[0100] 根據(jù)源圖像的直方圖曲線采用抖動消除法確定源圖像的直方圖全局閾值;
[0101] 根據(jù)確定的全局閾值對源圖像進行二值化,得到全局二值化圖像。
[0102] 進一步作為優(yōu)選的實施方式,所述根據(jù)源圖像的直方圖曲線采用抖動判別法確定 源圖像的直方圖全局閾值這一步驟包括:
[0103] 找到源圖像的直方圖曲線的所有極值點,并以此建立谷點的候選集;
[0104] 逐一判斷谷點的候選集中每個極值點的灰度值是否滿足設(shè)定的抖動消除條件,若 是,則將該極值點從谷點的候選集中移除,反之,則保留該極值點,最終得到無抖動的候選 集,所述設(shè)定的抖動消除條件為:|f(x u)-f(xu+i) I <ε,其中,XU和XU+1分別為谷點的候選集 中第11個極值點和第11+1個極值點,;^1 1)和汽111+1)分別為111和111+1對應(yīng)的灰度值,11=1,2,~, P-I ;P為谷點的候選集中極值點的總數(shù),ε為設(shè)定的抖動參數(shù);
[0105] 從無抖動的候選集找出第一個滿足X。為極大值點且Χο+ι為極小值點的極值點X。,然 后以極小值點Xo+1對應(yīng)的灰度值f (Xo+1)作為源圖像的直方圖全局閾值,其中,〇 = 1,2,…,q_ 1; q為無抖動的候選集中極值點的總數(shù),且q < P。
[0106] 進一步作為優(yōu)選的實施方式,所述根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進 行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑這一步驟,其包括:
[0107] 采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行擬合,得到擬合后的待 填充區(qū)域,所述改進的邊緣擬合法采用多段圓弧來擬合待填充區(qū)域的邊緣的每段曲線,并 在圓弧的半徑小于設(shè)定的半徑閾值時使用連接該段圓弧兩個端點所得到的線段來近似該 段圓弧;
[0108] 將擬合后的待填充區(qū)域分割為多個內(nèi)部不帶空洞的子區(qū)域;
[0109] 以最短總繪制時間為目標,采用啟發(fā)式搜索算法確定各個子區(qū)域的繪制順序以及 各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制路徑。
[0110] 進一步作為優(yōu)選的實施方式,所述以最短總繪制時間為目標,采用啟發(fā)式搜索算 法確定各個子區(qū)域的繪制順序以及各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的 最佳繪制路徑這一步驟,其包括:
[0111] 尋找任意兩個子區(qū)域間的最短距離;
[0112] 將每個子區(qū)域抽象成一個點,以兩個子區(qū)域間的最短距離作為邊的權(quán)重,將最短 總繪制時間尋找問題轉(zhuǎn)化為旅行商問題,然后采用啟發(fā)式最近鄰算法求解出各個子區(qū)域的 繪制順序;
[0113] 計算各個子區(qū)域內(nèi)每種模式路徑的總繪制時間,計算公式為:
[0114]
[0115] 其中,ttcltal為當前子區(qū)域內(nèi)當前模式路徑的總繪制時間,v為機器人繪制工具的最 大移動速度,a為機器人繪制工具給定的加速度,η為當前子區(qū)域內(nèi)當前模式路徑掃描行的 數(shù)量,t。為機器人繪制工具從一個掃描行移動到下一個掃描行的時間,t r和Ir分別為當前子 區(qū)域內(nèi)當前模式路徑中第r個掃描行的填充時間和長度,width為當前子區(qū)域內(nèi)當前模式路 徑掃描行的寬度;
[0116] 根據(jù)不同子區(qū)域間的距離和機器人繪制工具的移動速度計算不同子區(qū)域間的移 動時間;
[0117] 根據(jù)各個子區(qū)域的繪制順序、各個子區(qū)域內(nèi)每種模式的路徑的總繪制時間和不同 子區(qū)域間的移動時間進行建模和最優(yōu)化求解,得到最短總繪制時間對應(yīng)的各個子區(qū)域的繪 制起點和繪制終點,所述最短總繪制時間Ttotal的關(guān)系表達式為:
[0118]
[0119]其中,每個子區(qū)域按照繪制順序?qū)?yīng)一個團,r/為最后一個團,k為第k個團,k= 1, 2,~,11/;0[11/4]、0|>4]和0[1^-14]分別為從第一個團的繪制起點到團11 /、團1^和團1^-1中 的點i的最短繪制時間,cptr/,i]和cptr/ J]分別為團Y的角落點i和和dr/]分 別為團Y的繪制起點和繪制終點,!"(cpI;!/,i] ,cplir/,j])為團r/中的點i到團r/中的點j的 繪制時間,cp[k-l,j]和cp[k-l,t]分別為團k-Ι的角落點j和t,cp[k,i]為團k的角落點i,T (cp[k-l,j],cp[k-l,t])為團k-1 中的點 j到團k-1 中的點t的繪制時間,T(cp[k-1,t],cp[k, i ])為團k-1中的點t到團k中的點i的移動時間,D [ 0,i ]為D [ k,i ]的初始值。
[0120]參照圖1,一種智能機器人的圖像繪制系統(tǒng),包括:
[0121 ]輸入模塊,用于輸入待繪制的源圖像;
[0122] 征提取模塊,用于采用基于混合二值化圖像處理的方法對源圖像進行特征提取, 得到機器人的待填充區(qū)域;
[0123] 最佳繪制路徑獲取模塊,用于根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū) 域分割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑;
[0124] 圖像繪制模塊,用于機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。
[0125] 進一步作為優(yōu)選的實施方式,所述最佳繪制路徑獲取模塊包括:
[0126] 邊緣擬合單元,用于采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行擬 合,得到擬合后的待填充區(qū)域,所述改進的邊緣擬合法采用多段圓弧來擬合待填充區(qū)域的 邊緣的每段曲線,并在圓弧的半徑小于設(shè)定的半徑閾值時使用連接該段圓弧兩個端點所得 到的線段來近似該段圓弧;
[0127] 分割單元,用于將擬合后的待填充區(qū)域分割為多個內(nèi)部不帶空洞的子區(qū)域;
[0128] 最佳繪制路徑確定單元,用于以最短總繪制時間為目標,采用啟發(fā)式搜索算法確 定各個子區(qū)域的繪制順序以及各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳 繪制路徑。
[0129] 進一步作為優(yōu)選的實施方式,所述最佳繪制路徑確定單元包括:
[0130]最短距離尋找子單元,用于尋找任意兩個子區(qū)域間的最短距離;
[0131] 繪制順序求解子單元,用于將每個子區(qū)域抽象成一個點,以兩個子區(qū)域間的最短 距離作為邊的權(quán)重,將最短總繪制時間尋找問題轉(zhuǎn)化為旅行商問題,然后采用啟發(fā)式最近 鄰算法求解出各個子區(qū)域的繪制順序;
[0132] 第一時間計算子單元,用于計算各個子區(qū)域內(nèi)每種模式路徑的總繪制時間,計算 公式為:
[0133]
[0134] 其中,ttcltal為當前子區(qū)域內(nèi)當前模式路徑的總繪制時間,V為機器人繪制工具的最 大移動速度,a為機器人繪制工具給定的加速度,η為當前子區(qū)域內(nèi)當前模式路徑掃描行的 數(shù)量,t。為機器人繪制工具從一個掃描行移動到下一個掃描行的時間,t r和Ir分別為當前子 區(qū)域內(nèi)當前模式路徑中第r個掃描行的填充時間和長度,width為當前子區(qū)域內(nèi)當前模式路 徑掃描行的寬度;
[0135] 第二時間計算子單元,用于根據(jù)不同子區(qū)域間的距離和機器人繪制工具的移動速 度計算不同子區(qū)域間的移動時間;
[0136] 繪制起點和繪制終點確定單元,用于根據(jù)各個子區(qū)域的繪制順序、各個子區(qū)域內(nèi) 每種模式的路徑的總繪制時間和不同子區(qū)域間的移動時間進行建模和最優(yōu)化求解,得到最 短總繪制時間對應(yīng)的各個子區(qū)域的繪制起點和繪制終點,所述最短總繪制時間T total的關(guān)系 表達式為:
[0137]
[0138]其中,每個子區(qū)域按照繪制順序?qū)?yīng)一個團,r/為最后一個團,k為第k個團,k=l, 2,~,11/;0[11/4]、0|>4]和0[1^-14]分別為從第一個團的繪制起點到團11 /、團1^和團1^-1中 的點i的最短繪制時間,cptr/,i]和cptr/ J]分別為團Y的角落點i和和dr/]分 別為團Y的繪制起點和繪制終點,!"(cpI;!/,i] ,cplir/,j])為團r/中的點i到團r/中的點j的 繪制時間,cp[k-l,j]和cp[k-l,t]分別為團k-Ι的角落點j和t,cp[k,i]為團k的角落點i,T (cp[k-l,j],cp[k-l,t])為團k-1 中的點 j到團k-1 中的點t的繪制時間,T(cp[k-1,t],cp[k, i ])為團k-1中的點t到團k中的點i的移動時間,D [ 0,i ]為D [ k,i ]的初始值。
[0139] 下面結(jié)合說明書附圖和具體實施例對本發(fā)明作進一步解釋和說明。
[0140] 實施例一
[0141] 參照圖2-6,本發(fā)明的第一實施例:
[0142] 針對現(xiàn)有技術(shù)魯棒性弱、不夠可靠和準確,繪制時間長的缺陷,本發(fā)明提出了一種 新的機器人繪圖方法,來展示機器人的智能。為提取圖像特征,本發(fā)明提出了一種基于全局 二值化和局部二值化技術(shù)混合的特征提取方法;然后使用區(qū)域分割方法,將復雜的區(qū)域分 割成簡單的子區(qū)域,最后結(jié)合本發(fā)明所提出的一個最優(yōu)路徑規(guī)劃的方法,來產(chǎn)生畫一幅畫 的最佳路徑。
[0143] 圖2為本發(fā)明所提出的機器人畫相系統(tǒng)的整體框架。其中,輸入的圖像是由相機拍 攝的彩色照片。然而,繪制出來的圖像是黑白圖像,且繪制的過程比較耗時,所以繪制的圖 像應(yīng)當盡量的簡潔。因此,必須提取出能表達出源圖像的特征。本發(fā)明所提取的特征是指一 些可以通過機器人用筆填充的封閉性區(qū)域。但是,機器人經(jīng)過往復運動填充后的區(qū)域邊緣 可能是鋸齒狀的。因此,這些區(qū)域的邊緣必須被機器人平滑地繪制出來。此外,應(yīng)該優(yōu)化繪 圖路徑以降低繪制時間。特征提取和路徑規(guī)劃的程序較為復雜,故其會在個人計算機上運 行。最后所生成的路徑將被發(fā)送給機器人,以執(zhí)行繪圖過程。
[0144] 下面主要對特征提取和路徑規(guī)劃這兩個主要過程進行詳細說明。
[0145] (一)特征提取
[0146] 本發(fā)明特征提取的步驟如圖3所示,先得到源圖像的二值化圖像,然后將其轉(zhuǎn)換成 矢量圖。二值化技術(shù)可以分為兩大類:全局二值化--使用一個固定的閾值對整個圖像進行 二值化,以及局部二值化--對每個像素都使用不同的閾值進行二值化??紤]到這兩種方法 各有利弊,本發(fā)明結(jié)合這兩種方法的優(yōu)點得到二值化源圖像之后,再把所獲得的位圖轉(zhuǎn)換 為矢量圖,以提取每個區(qū)域的幾何信息。
[0147] (1)局部二值化
[0148] 由于照片的不同部分可能有不同的光照條件,所以本發(fā)明需要使用局部二值化技 術(shù)對照片進行處理。為此本發(fā)明提出了局部自適應(yīng)二值化算法,這算法對每個像素都計算 出一個閾值,具體算法過程如下:
[0149] Step 1:計算出每個像素的周圍區(qū)域(即鄰域)的灰度的算術(shù)平均值。
[0150] 這個過程可以通過使用Integral Image(也稱Su_ed-area Table,積分圖)加速 到線性時間來實現(xiàn)。假設(shè)源圖像中,點(X,y)的灰度值是P (X,y ),那么它在積分圖中相應(yīng)的 值Kx, y)定義如下:
[0151]
[0152] 整個Integral Image可以通過以下的等式在線性的時間內(nèi)計算出來:
[0153] I(x,y)=p(x,y)+I(x-1 ,y)+I(x,y-l)-I(x-l ,y-l)
[0154] 假設(shè)鄰域的大小是奇數(shù)s,那么點(x,y)的鄰域的灰度均值m(x,y)可以通過以下等 式進行計算:
[0155] d = [s^-2j
[0156] sum(x,y)=I(x+d,y+d)_I(x+d,y_d_l)_I(x_d_l,y+d)+I(x_d_l,y_d_l)
[0157] m(x,)') = sum(x, \')xΛ- s-
[0158] Step 2:為每個像素計算出局部閾值T(x,y),計算公式為:
[0159] T(x,y)=m(x,y)-c
[0160] 這里的c是一個常量。
[0161] Step 3:使用Step 2計算出的閾值對圖像進行二值化。本發(fā)明通過以下等式計算 出二值化圖像的每一個像素點b(x,y):
[0162]
[0163] 局部閾值法在某些方面的表現(xiàn)像一個邊緣檢測方法,故這種方法可以很好地提取 圖像形狀特征。顯然,鄰域的尺寸s與源圖像的分辨率有關(guān)。s是一個不小于3的奇數(shù)。本發(fā)明 提出了一個等式來計算s:
[0164] s = Lcrxw+ /jfX &+2」X 2+ 3
[0165] 這里,w和h分別為源圖像的寬度和高度,α和β均為給定的權(quán)重參數(shù)
[0166] (2)全局二值化
[0167] 局部二值化方法在某些方面的表現(xiàn)地像個高通濾波器,它會在某些情況下得到奇 怪的結(jié)果。例如,一個具有大面積的頭發(fā)圖像可能會使機器人畫出一個"秀頭"。本發(fā)明提出 的解決方案是通過加上頭發(fā),來修復"禿頭"圖像,其步驟如下:1)使用前面所說的局部二值 化方法,將源圖像二值化。2)使用全局二值化方法,將源圖像二值化。3)合并這兩張圖像。
[0168] 全局二值化的目的是提取可能含有頭發(fā)的暗部區(qū)域。但是,不同的圖像有不同的 光照條件,而閾值也應(yīng)該有所區(qū)別,故本發(fā)明提出了一個基于直方圖的閾值確定算法。源圖 像的一個典型的直方圖如圖4所示。圖4中,點A是一個較好的全局閾值。
[0169] 本發(fā)明確定一個抖動的直方圖曲線的閾值的方法如下:
[0170] Step 1:找到直方圖曲線的所有極值點,并以此建立谷點的候選集。
[0171] Step 2:檢測并消除抖動。如果Xu和Xu+i滿足不等式I f (xu)-f (Xu+i) I <ε,那么范圍 那么范圍[Xu,Xu+1]的部分是一個抖動XjP Xu+1則需要從候選集中移除。重復這個步驟直到檢 測不到新的抖動為止。這里ε為設(shè)定的抖動參數(shù),
[0172] Step 3:從無抖動的候選集找出第一個滿足X。為極大值點且1。+1為極小值點的極 值點X。,然后以極小值點Xo+l對應(yīng)的灰度值f(X〇+l)作為源圖像的直方圖全局閾值。
[0173] (3)失量圖
[0174] 合并后的二值化圖像是位圖,此圖由一些封閉性區(qū)域構(gòu)成。然而,二值化的位圖中 所含的信息只有每個像素的值(〇或1)。為了獲得每個區(qū)域的信息,還需要做一些額外的工 作。更重要的是,機器人需要為每一個區(qū)域進行描邊,直接使用機器人點出邊界的每一個像 素并不明智。故應(yīng)該找到邊界的路徑,然后讓機器人沿著這個邊緣移動。
[0175] 為此,本發(fā)明提出的方案是把位圖轉(zhuǎn)換為矢量圖。失量圖通過幾何表達式,而不是 像素來描述各區(qū)域的矢量輪廓。得到失量圖后,本發(fā)明即可基于這些用代數(shù)表達式所描述 的邊界,來規(guī)劃機器人的路徑。
[0176]本發(fā)明采用Potrace軟件來完成失量圖的獲取工作。另外,該軟件也可以通過去除 過小的區(qū)域來抑制斑點,從而進一步去除了圖像中的噪聲和小的細節(jié)。
[0177] (二)最佳路徑規(guī)劃
[0178] 最佳路徑規(guī)劃過程可進一步細分為:
[0179] (1)邊緣路徑擬合
[0180] Po trace軟件產(chǎn)生的邊緣由一些直線和Bezier曲線組成。Bezier曲線是一種在圖 形操作中廣泛使用的參數(shù)曲線。但是,大部分的機器人和CNC只能進行直線和圓弧運動。若 使用直線去擬合Bezier曲線時,即使使用大量的控制點,也可能會導致邊緣鋸齒的產(chǎn)生。本 發(fā)明提出了一種使用多段圓弧來擬合一段Bezier曲線的技術(shù),它產(chǎn)生的擬合結(jié)果可能會存 在一些極小半徑的圓弧,而這些圓弧并不能被機器人處理。在此種情況下,本發(fā)明使用了連 接圓弧兩個端點所得到的線段來近似這段圓弧來避免這個問題,且不會損失太多的精確 度。
[0181] (2)區(qū)域填充
[0182] 為填充這些擬合后的封閉性區(qū)域,第一步是進行區(qū)域分割。這些封閉性區(qū)域的形 狀可能非常復雜,同時可能包含一些空洞。這會在接下來的路徑規(guī)劃中帶來一些困難。本發(fā) 明通過將這些區(qū)域分割成簡單、不帶空洞的子區(qū)域進行簡化來解決這個問題。
[0183] 每個子區(qū)域的路徑可以被獨立的產(chǎn)生,然后需要決定每個子區(qū)域的繪制順序以得 到最短的繪制時間。對于一個區(qū)域,填充路徑可以從任何一個角落開始或終止,如圖6所示。 起始點和結(jié)束點會影響每個多區(qū)域填充時的工具移動時間。所以,本發(fā)明首先需要確定這 些點。而對于一個區(qū)域,可以使用不同的路徑模式,如圖6所示。
[0184] (3)路徑規(guī)劃
[0185] 根據(jù)多區(qū)域的路徑連接理論,當連接不同區(qū)域的路徑時,有兩個影響繪制時間的 重要因素:1) 一個區(qū)域內(nèi)部的路徑模式;2)不同區(qū)域間的移動距離。如圖5所示,我們可以對 這個問題建模如下:團g[k]為每一個區(qū)域,點cp[k, j]為團k的角落點,點s[k-l]和e[k-l]分 另IJ是團k-Ι的起點和終點。本發(fā)明尋找全局最優(yōu)的繪制路徑過程是一個NP-hard問題。本發(fā) 明使用了一個啟發(fā)式搜索方法來解決這個問題,具體步驟如下:
[0186] Step 1:尋找所有兩個子區(qū)域間的最短距離。這個步驟能確定理論上的區(qū)域間的 最短距離,以便于確定各子區(qū)域的先后繪制順序。由于角落點非常少,這個步驟可以通過窮 舉法計算出來。實際上由于子區(qū)域還受到繪制起點和繪制終點的影響,還需要通過S t e p 3 求出次最優(yōu)解來作為最佳路徑的實際最優(yōu)解。
[0187] Step 2:將每個子區(qū)域當成點,以Step 1中得到的兩個區(qū)域間的最短距離當成邊 的權(quán)重,來尋找最短的繪制時間所對應(yīng)的繪制順序。這個過程是一個旅行商問題,可以通過 啟發(fā)式最近鄰算法解決。
[0188] Step 3:確定每個子區(qū)域的起點和終點。
[0189] 如前所述,每個子區(qū)域的路徑模式和區(qū)域間的移動距離都會影響到繪制時間。而 機器人繪制工具的轉(zhuǎn)向次數(shù)是一個主要的影響工具移動時間的因素。而對于每種模式的路 徑,都可以計算出它的移動時間:假設(shè)工具的最大移動速度是V,加速度是一個定值a,掃描 行的數(shù)量是η,每個掃描行的長度分別是Il, 12,…In,填充每個掃描行的時間分別是tl,t2,… tn,掃描行的寬度是width(這個值一般很小),從一個掃描行移動到下一個掃描行的時間是 tc,那么總的繪制時間ttotal可以通過以下公式計算出來:
[0190]
[0191] 根據(jù)上式可以計算出每種模式的路徑的繪制時間,因為這是一個較為容易完成的 工作。另外,從一個區(qū)域到另外一個區(qū)域的移動時間,也可以通過類似計算tr的方法或根據(jù) 掃描速度和區(qū)域間的距離計算出來。所以,對于每個子區(qū)域所選擇的每一對起點和終點,都 可以計算出填充這個區(qū)域的時間以及在不同區(qū)域中轉(zhuǎn)移的時間。
[0192] 對此,本發(fā)明將優(yōu)化問題建模如下:給定這些團的遍歷次序(即子區(qū)域的繪制順 序)、從團i中的點m移動到團j中的點η所花費的時間T(cp[i,m],cp[ j,n]),需要確定每個團 k的起點st[k]和終點e[k],以得到最短的整體遍歷時間。假設(shè),從最開始的起點到團k中的 點i的最短遍歷時間為D(k,i)。那么對于最后一個團Y,總的最短遍歷時間T total和它的起點 和終點可以通過以下等式計算出來:
[0193]
[0194]
[0195]
[0196]
[0197]
[0198]
[0199]
[0200] 本發(fā)明將第一個團的D(k,i)設(shè)置為0,即有:
[0201] D[0,i]=0
[0202] 以上計算的時間復雜度是(Kk2Y),其中,n'是團的數(shù)量,而k是每個團的角落點的 數(shù)量。因為,k通常是個很小的常數(shù),所以這個路徑規(guī)劃算法的時間復雜度是非常低的。 [0203] 實施例二
[0204]參照圖7-10,本發(fā)明的第二實施例:
[0205]為了驗證本發(fā)明方法的效果,本發(fā)明提出了圖7所示的實驗系統(tǒng)來進行實驗驗證。 如圖7所示,本實驗系統(tǒng)包括一個相機,一個配備了馬克筆的ABB IRB120工業(yè)機器人。馬克 筆通過一個特別設(shè)計的容器連接在機器人上,這個容器里有一個彈簧,使得馬克筆在紙上 移動時能更加流暢。而特征提取和路徑規(guī)劃算法則使用C#實現(xiàn),相應(yīng)的程序在一個筆記電 腦上運行。
[0206]本實施例的具體過程如下:
[0207] (1)特征提取
[0208]特征提取的每個步驟的輸出如圖8的A-E所示。其中,源圖像A是使用OpenCV程序進 行人臉提取后的照片;圖8的B和C分別是局部二值化和全局二值化的結(jié)果,使用的參數(shù)如 下:a)c = 9.〇;b)a = 0 = 〇.〇4;c)e = 5,這些實驗得出來的經(jīng)驗數(shù)據(jù)可以在大部分情況下使 用。如圖8的B所示,使用局部二值化后的圖像,可以描繪出源圖像的形狀,但其得到的是一 個很少頭發(fā)的奇怪的結(jié)果。因此,還需通過增加頭發(fā)來修復這個結(jié)果。如圖8的C所示,通過 全局二值化,可以提取出包含頭發(fā)的暗部區(qū)域。然后,我們將B和C這兩張圖片進行合并,以 得到最后的二值化結(jié)果(即圖8的D),然后使用Potrace軟件將合并后的位圖D轉(zhuǎn)換為矢量圖 E。轉(zhuǎn)換時Potrace軟件的參數(shù)為〃-t 10-s〃,這表示抑制斑點時的turdsize為10,輸出格式 為SVG。圖8的E是轉(zhuǎn)換后的矢量圖,這也是特征提取最終的輸出。
[0209] (2)路徑規(guī)劃
[0210] 圖8的F是將邊緣進行圓弧擬合的結(jié)果,其包含了845段直線或圓弧??梢钥闯?,擬 合后的結(jié)果和原來的矢量圖幾乎是完全相同的。
[0211] 圓弧擬合后,這些封閉性區(qū)域會被分割成子區(qū)域。得到合適的子區(qū)域后,會先使用 本發(fā)明的路徑連接算法得到這些子區(qū)域的繪制順序,然后再確定每個子區(qū)域的起點和終 點,以得到最短的繪制時間。最后,生成整個繪圖路徑并將路徑發(fā)送給機器人。圖9展示了機 器人的繪圖過程,其中,A是進行邊緣圓弧擬合,B是進行區(qū)域填充。
[0212] 采用本發(fā)明的方法后,機器人使用馬克筆畫出來的最終的圖像如圖10所示。可以 看出,機器人自動畫出來的圖像的效果非常不錯。由此可見,本發(fā)明所提出的特征提取和路 徑規(guī)劃算法的效果較好。同時,本發(fā)明的方法也可能應(yīng)用到其它工業(yè)應(yīng)用(如噴漆和打磨 等)中,以智能地控制機器人來完成所需的任務(wù)。
[0213]本發(fā)明提出了一個使用圖像特征提取和路徑規(guī)劃算法來進行繪圖的智能機器人 系統(tǒng)及其實現(xiàn)方法。為處理具有不同光照條件的照片,本發(fā)明使用了基于局部二值化和全 局二值化的混合方法來進行特征(即封閉性區(qū)域)提取;因為機器人使用往復運動填充一塊 區(qū)域時,會造成鋸齒狀的邊緣,所以本發(fā)明使用矢量圖的信息先通過圓弧擬合將這些區(qū)域 進行描邊以得到平滑的邊緣;為得到最短的繪制時間,本發(fā)明提出了一個新的路徑優(yōu)化算 法,該算法基于單個區(qū)域的路徑生成以及多區(qū)域的路徑連接理論。實驗結(jié)果表明,本發(fā)明方 法能有效地進行圖像繪制。本發(fā)明所提出的特征提取和最優(yōu)路徑規(guī)劃的方法,不單單能應(yīng) 用于機器人繪圖中,也可用于許多需要智能機器人技術(shù)的工業(yè)應(yīng)用中,如噴漆和打磨等。 [0214]以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施 例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可做作出種種的等同變形或替 換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。
【主權(quán)項】
1. 一種智能機器人的圖像繪制方法,其特征在于:包括以下步驟: 輸入待繪制的源圖像; 采用基于混合二值化圖像處理的方法對源圖像進行特征提取,得到機器人的待填充區(qū) 域; 根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到機器 人的最佳繪制路徑; 機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。2. 根據(jù)權(quán)利要求1所述的一種智能機器人的圖像繪制方法,其特征在于:所述采用基于 混合二值化圖像處理的方法對源圖像進行特征提取,得到機器人的待填充區(qū)域這一步驟包 括: 采用局部二值化法對源圖像進行處理,得到局部二值化圖像; 采用基于直方圖閾值的全局二值化法對源圖像進行處理,得到全局二值化圖像; 將局部二值化圖像和全局二值化圖像進行合并,得到包含有機器人的待填充區(qū)域的二 值化圖像; 將合并后的二值化圖像由位圖轉(zhuǎn)換為矢量圖。3. 根據(jù)權(quán)利要求2所述的一種智能機器人的圖像繪制方法,其特征在于:所述采用局部 二值化法對源圖像進行處理,得到局部二值化圖像這一步驟,其包括: 采用積分圖法計算源圖像中每個像素的鄰域的灰度算術(shù)平均值,計算公式為:其中,P(x,y)為源圖像中點(x,y)的像素值,l(x,y)為源圖像中點(x,y)在積分圖中對 應(yīng)的像素值,s為源圖像中點(x,y)的鄰域的大小,J "為向下取整符號,《和h分別為源 圖像的寬度和高度,α和β均為給定的權(quán)重參數(shù),m(x,y)為源圖像中點(x,y)的鄰域的灰度算 術(shù)平均值; 根據(jù)計算的平均值為源圖像的每個像素計算出相應(yīng)的局部閾值,計算公式為: 1'(1,7)=111(1,7)-(3,其中,1'(1,7)為源圖像中點(1,7)的局部閾值,(3為給定的常數(shù); 根據(jù)計算的局部閾值對源圖像進行局部閾值化,得到局部二值化圖像,所述源圖像的 局部閾值化公式為:其中,b(x,y)為源圖像中點(x,y)局部閾值化后的像素值。4. 根據(jù)權(quán)利要求2所述的一種智能機器人的圖像繪制方法,其特征在于:所述采用基于 直方圖閾值的全局二值化法對源圖像進行處理,得到全局二值化圖像這一步驟,其包括: 獲取源圖像的直方圖曲線; 根據(jù)源圖像的直方圖曲線采用抖動消除法確定源圖像的直方圖全局閾值; 根據(jù)確定的全局閾值對源圖像進行二值化,得到全局二值化圖像。5. 根據(jù)權(quán)利要求4所述的一種智能機器人的圖像繪制方法,其特征在于:所述根據(jù)源圖 像的直方圖曲線采用抖動判別法確定源圖像的直方圖全局閾值這一步驟包括: 找到源圖像的直方圖曲線的所有極值點,并以此建立谷點的候選集; 逐一判斷谷點的候選集中每個極值點的灰度值是否滿足設(shè)定的抖動消除條件,若是, 則將該極值點從谷點的候選集中移除,反之,則保留該極值點,最終得到無抖動的候選集, 所述設(shè)定的抖動消除條件為:|f(x u)-f(xu+i) I <ε,其中,XU和XU+1分別為谷點的候選集中第u 個極值點和第u+1個極值點,f(xu)和f(xu+i)分別為xu和x u+i對應(yīng)的灰度值,u=l,2,…,p-l ;p 為谷點的候選集中極值點的總數(shù),ε為設(shè)定的抖動參數(shù); 從無抖動的候選集找出第一個滿足X。為極大值點且χ〇+1為極小值點的極值點X。,然后以 極小值點Xo+1對應(yīng)的灰度值f (Xo+1)作為源圖像的直方圖全局閾值,其中,〇 = l,2,~,q-l;q 為無抖動的候選集中極值點的總數(shù),且q<P。6. 根據(jù)權(quán)利要求1-5任一項所述的一種智能機器人的圖像繪制方法,其特征在于:所述 根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分割和最優(yōu)路徑規(guī)劃,得到機器人的 最佳繪制路徑這一步驟,其包括: 采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行擬合,得到擬合后的待填充 區(qū)域,所述改進的邊緣擬合法采用多段圓弧來擬合待填充區(qū)域的邊緣的每段曲線,并在圓 弧的半徑小于設(shè)定的半徑閾值時使用連接該段圓弧兩個端點所得到的線段來近似該段圓 ?。? 將擬合后的待填充區(qū)域分割為多個內(nèi)部不帶空洞的子區(qū)域; 以最短總繪制時間為目標,采用啟發(fā)式搜索算法確定各個子區(qū)域的繪制順序以及各個 子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制路徑。7. 根據(jù)權(quán)利要求6所述的一種智能機器人的圖像繪制方法,其特征在于:所述以最短總 繪制時間為目標,采用啟發(fā)式搜索算法確定各個子區(qū)域的繪制順序以及各個子區(qū)域的繪制 起點和繪制終點,從而得到機器人的最佳繪制路徑這一步驟,其包括: 尋找任意兩個子區(qū)域間的最短距離; 將每個子區(qū)域抽象成一個點,以兩個子區(qū)域間的最短距離作為邊的權(quán)重,將最短總繪 制時間尋找問題轉(zhuǎn)化為旅行商問題,然后采用啟發(fā)式最近鄰算法求解出各個子區(qū)域的繪制 順序; 計算各個子區(qū)域內(nèi)每種模式路徑的總繪制時間,計算公式為:其中,ttcital為當前子區(qū)域內(nèi)當前模式路徑的總繪制時間,V為機器人繪制工具的最大移 動速度,a為機器人繪制工具給定的加速度,η為當前子區(qū)域內(nèi)當前模式路徑掃描行的數(shù)量, t。為機器人繪制工具從一個掃描行移動到下一個掃描行的時間,tr和lr分別為當前子區(qū)域 內(nèi)當前模式路徑中第r個掃描行的填充時間和長度,width為當前子區(qū)域內(nèi)當前模式路徑掃 描行的寬度; 根據(jù)不同子區(qū)域間的距離和機器人繪制工具的移動速度計算不同子區(qū)域間的移動時 間; 根據(jù)各個子區(qū)域的繪制順序、各個子區(qū)域內(nèi)每種模式的路徑的總繪制時間和不同子區(qū) 域間的移動時間進行建模和最優(yōu)化求解,得到最短總繪制時間對應(yīng)的各個子區(qū)域的繪制起 點和繪制終點,所述最短總繪制時間Ttotal的關(guān)系表達式為:其中,每個子區(qū)域按照繪制順序?qū)?yīng)一個團,r/為最后一個團,k為第k個團,k= 1, 2,~,11/;0[11/4]、0|>4]和0[1^-14]分別為從第一個團的繪制起點到團11 /、團1^和團1^-1中 的點i的最短繪制時間,cptr/,i]和cptr/,j]分別為團Y的角落點i和和etr/]分 別為團r/的繪制起點和繪制終點,I^cplir/,i] ,ορ?Γ/,j])為團r/中的點i到團r/中的點j的 繪制時間,cp[k-l,j]和cp[k-l,t]分別為團k-1的角落點j和t,cp[k,i]為團k的角落點i,T (cp[k-l,j],cp[k-l,t])為團k-1 中的點 j到團k-1 中的點t的繪制時間,T(cp[k-1,t],cp[k, i ])為團k-1中的點t到團k中的點i的移動時間,D [ 0,i ]為D [ k,i ]的初始值。8. -種智能機器人的圖像繪制系統(tǒng),其特征在于:包括: 輸入模塊,用于輸入待繪制的源圖像; 征提取模塊,用于采用基于混合二值化圖像處理的方法對源圖像進行特征提取,得到 機器人的待填充區(qū)域; 最佳繪制路徑獲取模塊,用于根據(jù)機器人的待填充區(qū)域采用路徑優(yōu)化算法進行區(qū)域分 割和最優(yōu)路徑規(guī)劃,得到機器人的最佳繪制路徑; 圖像繪制模塊,用于機器人根據(jù)得到的最佳繪制路徑進行圖像繪制。9. 根據(jù)權(quán)利要求8所述的一種智能機器人的圖像繪制系統(tǒng),其特征在于:所述最佳繪制 路徑獲取模塊包括: 邊緣擬合單元,用于采用改進的邊緣擬合法對機器人的待填充區(qū)域的邊緣進行擬合, 得到擬合后的待填充區(qū)域,所述改進的邊緣擬合法采用多段圓弧來擬合待填充區(qū)域的邊緣 的每段曲線,并在圓弧的半徑小于設(shè)定的半徑閾值時使用連接該段圓弧兩個端點所得到的 線段來近似該段圓弧; 分割單元,用于將擬合后的待填充區(qū)域分割為多個內(nèi)部不帶空洞的子區(qū)域; 最佳繪制路徑確定單元,用于以最短總繪制時間為目標,采用啟發(fā)式搜索算法確定各 個子區(qū)域的繪制順序以及各個子區(qū)域的繪制起點和繪制終點,從而得到機器人的最佳繪制 路徑。10. 根據(jù)權(quán)利要求9所述的一種智能機器人的圖像繪制系統(tǒng),其特征在于:所述最佳繪 制路徑確定單元包括: 最短距離尋找子單元,用于尋找任意兩個子區(qū)域間的最短距離; 繪制順序求解子單元,用于將每個子區(qū)域抽象成一個點,以兩個子區(qū)域間的最短距離 作為邊的權(quán)重,將最短總繪制時間尋找問題轉(zhuǎn)化為旅行商問題,然后采用啟發(fā)式最近鄰算 法求解出各個子區(qū)域的繪制順序; 第一時間計算子單元,用于計算各個子區(qū)域內(nèi)每種模式路徑的總繪制時間,計算公式 為:其中,ttcltal為當前子區(qū)域內(nèi)當前模式路徑的總繪制時間,v為機器人繪制工具的最大移 動速度,a為機器人繪制工具給定的加速度,η為當前子區(qū)域內(nèi)當前模式路徑掃描行的數(shù)量, t。為機器人繪制工具從一個掃描行移動到下一個掃描行的時間,tr和lr分別為當前子區(qū)域 內(nèi)當前模式路徑中第r個掃描行的填充時間和長度,width為當前子區(qū)域內(nèi)當前模式路徑掃 描行的寬度; 第二時間計算子單元,用于根據(jù)不同子區(qū)域間的距離和機器人繪制工具的移動速度計 算不同子區(qū)域間的移動時間; 繪制起點和繪制終點確定單元,用于根據(jù)各個子區(qū)域的繪制順序、各個子區(qū)域內(nèi)每種 模式的路徑的總繪制時間和不同子區(qū)域間的移動時間進行建模和最優(yōu)化求解,得到最短總 繪制時間對應(yīng)的各個子區(qū)域的繪制起點和繪制終點,所述最短總繪制時間T tcltal的關(guān)系表達 式為:其中,每個子區(qū)域按照繪制順序?qū)?yīng)一個團,r/為最后一個團,k為第k個團,k= 1, 2,~,11/;0[11/4]、0|>4]和0[1^-14]分別為從第一個團的繪制起點到團11 /、團1^和團1^-1中 的點i的最短繪制時間,cptr/,i]和cptr/,j]分別為團Y的角落點i和和etr/]分 別為團r/的繪制起點和繪制終點,I^cplir/,i] ,ορ?Γ/,j])為團r/中的點i到團r/中的點j的 繪制時間,cp[k-l,j]和cp[k-l,t]分別為團k-1的角落點j和t,cp[k,i]為團k的角落點i,T (cp[k-l,j],cp[k-l,t])為團k-1 中的點 j到團k-1 中的點t的繪制時間,T(cp[k-1,t],cp[k, i ])為團k-1中的點t到團k中的點i的移動時間,D [ 0,i ]為D [ k,i ]的初始值。
【文檔編號】G06T7/00GK106056648SQ201610415232
【公開日】2016年10月26日
【申請日】2016年6月14日
【發(fā)明人】黃鑫龍, 方思雯, 畢勝, 陳和平, 席寧
【申請人】深圳市智能機器人研究院