針對(duì)無(wú)人圖書(shū)館中機(jī)器人利用視覺(jué)進(jìn)行書(shū)脊識(shí)別問(wèn)題展開(kāi)研究。根據(jù)書(shū)脊圖像本身較復(fù)雜、單本書(shū)輪廓難以提取的特點(diǎn),提出了運(yùn)用小波分析作書(shū)脊輪廓增強(qiáng)的圖像預(yù)處理方案,通過(guò)實(shí)驗(yàn)比較了運(yùn)用Sobel算子和Canny算子法作書(shū)脊輪廓檢測(cè)的效果,用累計(jì)概率霍夫變換法作書(shū)脊線段查找,用VC++和OpenCV開(kāi)發(fā)了應(yīng)用程序,借鑒模糊計(jì)算思想,針對(duì)厚、較厚、中等厚度、較薄、薄、混合等幾種類(lèi)型的書(shū)脊進(jìn)行了分類(lèi)試驗(yàn)和研究,再經(jīng)輔助優(yōu)化處理,基本可有效識(shí)別出不同情況下每本書(shū)的書(shū)脊輪廓,檢測(cè)出每本書(shū)的厚度,為機(jī)械手利用視覺(jué)進(jìn)行圖書(shū)取放操作奠定了基礎(chǔ)。
1 引言
目前,世界上成功應(yīng)用圖書(shū)館機(jī)器人的有德國(guó)洪堡大學(xué)、美國(guó)猶他州大學(xué)、日本早稻田大學(xué)等,這些圖書(shū)館機(jī)器人的應(yīng)用大大節(jié)省了圖書(shū)管理成本,同時(shí)使讀者借還圖書(shū)更加便捷。2002年,美國(guó)Johns Hopkins大學(xué)的Jackrit Suthakom等人研制了一種完整意義上的圖書(shū)館機(jī)器人實(shí)驗(yàn)裝置,它由移動(dòng)機(jī)器人、機(jī)械手及其升降裝置、攝像頭等幾部分組成,可以實(shí)現(xiàn)圖書(shū)的自動(dòng)存取。同年,新加坡國(guó)立大學(xué)KHO.Hao Yuan等人研究了基于RFID定位技術(shù)的無(wú)人化圖書(shū)館系統(tǒng),可利用機(jī)器人完成圖書(shū)存取工作。以往圖書(shū)館機(jī)器人的研究已經(jīng)很好的解決了機(jī)器人圖書(shū)搬運(yùn)、裝卸及輔助圖書(shū)管理員完成圖書(shū)管理等工作,但在圖書(shū)上下架時(shí)機(jī)械手如何利用機(jī)器視覺(jué)進(jìn)行書(shū)脊正確快速識(shí)別問(wèn)題并未得到很好的解決[1-4]。書(shū)脊視覺(jué)識(shí)別的難點(diǎn)在于書(shū)脊圖像本身比較復(fù)雜,每本書(shū)的輪廓與圖像細(xì)節(jié)部分不易區(qū)分,且在實(shí)際應(yīng)用中,機(jī)械手與書(shū)脊之間存在相對(duì)運(yùn)動(dòng),這也給視覺(jué)識(shí)別增加了難度。美國(guó)的D. J. Lee等人對(duì)自動(dòng)化圖書(shū)館中書(shū)脊的視覺(jué)識(shí)別問(wèn)題曾進(jìn)行過(guò)深入的探討[5]。本文結(jié)合實(shí)際項(xiàng)目,針對(duì)書(shū)脊視覺(jué)識(shí)別的特點(diǎn),將小波分析、Hough變換等多種算法相結(jié)合,提出一種新的書(shū)脊視覺(jué)識(shí)別方法,該方法的有效性已在實(shí)驗(yàn)中得到較好的驗(yàn)證。
2機(jī)器人視覺(jué)識(shí)別系統(tǒng)框架
機(jī)械手移動(dòng)到確定的位置區(qū)間后,便可利用視覺(jué)系統(tǒng)通過(guò)圖像處理算法精確識(shí)別出每本書(shū)的厚度,進(jìn)而完成機(jī)械手的抓取操作。
通過(guò)反復(fù)實(shí)驗(yàn),確定出如圖1所示的圖書(shū)視覺(jué)識(shí)別流程:
Figure 1 Book-Spine Visual Recognition Process
圖1書(shū)脊視覺(jué)識(shí)別流程
圖像采集時(shí)本系統(tǒng)選擇的是MDC-D80 2 自由度云臺(tái)攝像機(jī),470 線高分辨率,采用SONY HAD CCD,10倍光學(xué)變焦,可通過(guò)RS-232控制,標(biāo)準(zhǔn)視頻輸出;旋轉(zhuǎn)120度/秒,俯仰60度/秒,具有自動(dòng)回復(fù)中位功能。
3 運(yùn)動(dòng)圖像去模糊處理
由于機(jī)械手靠近書(shū)架時(shí)與書(shū)之間存在相對(duì)運(yùn)動(dòng),因此會(huì)造成獲取的圖像模糊。本系統(tǒng)中機(jī)械手的運(yùn)動(dòng)速度并不要求很快且可以通過(guò)控制使其保持勻速,因此模糊后圖像f(x,y)上任意點(diǎn)的值為
將模糊圖像近似認(rèn)為是由攝像機(jī)在x方向上作水平勻速直線運(yùn)動(dòng)引起的,上式可簡(jiǎn)化為
將機(jī)械手?jǐn)z像機(jī)拍攝到的書(shū)脊圖像信號(hào)近似看作平穩(wěn)隨機(jī)過(guò)程。Wienier濾波器的基本原理是將原始圖像f和對(duì)原始圖像的估計(jì)看作隨機(jī)變量,按照使f和對(duì)估計(jì)值之間的均方誤差達(dá)到最小的準(zhǔn)則實(shí)現(xiàn)圖像復(fù)原。運(yùn)用Wienier濾波去書(shū)脊圖像模糊,結(jié)果如圖2所示:
(a)運(yùn)動(dòng)造成的模糊圖像 (b)Wienier濾波去圖像模糊
Figure 2Experimental Results of Eblurringby Wienier Filter
圖2 Wienier濾波去書(shū)脊圖像模糊實(shí)驗(yàn)效果圖
實(shí)驗(yàn)表明,運(yùn)用Wienier濾波時(shí)運(yùn)動(dòng)位移和運(yùn)動(dòng)角度兩個(gè)參數(shù)需根據(jù)機(jī)械手的實(shí)際運(yùn)動(dòng)情況合理設(shè)置,才可得到好的濾波結(jié)果。
4 小波分析法增強(qiáng)書(shū)脊輪廓
4.1 小波圖像分解原理
設(shè)Vk為張量積多分辨率分析,Wk為小波空間。圖像為f(x,y),f(x,y)L2(R2),fN(x,y)是f(x,y)在空間VN中的投影。對(duì)fk(x,y)Vk與gk(x,y)Wk,有[6]
fk+1(x,y) = fk(x,y) + gk(x,y)
而gk(x,y)Wk還可進(jìn)一步分解為
gk= gk(1)+ gk(2)+ gk(3)
其中,,i=1,2,3。
設(shè){al,j}{}(i=1,2,3)是由兩個(gè)一元分解序列生成的二元分解序列
記
則圖像分解算法為
圖像分解示意圖如圖3所示:
Figure 3Two Level Wavelet Decompositionof Pictures
圖3 圖像小波兩層分解
可得重構(gòu)算法為
圖像作小波變換后,可得到一系列不同分辨率的子圖像,不同子圖像對(duì)應(yīng)的頻率不同。
4.2 設(shè)計(jì)與實(shí)驗(yàn)
小波變換將一幅圖像分解為大小、位置、方向均不相同的分量,圖像經(jīng)二維小波分解后,輪廓主要體現(xiàn)在低頻部分,細(xì)節(jié)主要體現(xiàn)在在高頻部分[7]。由于機(jī)械手抓取圖書(shū)時(shí)需要知道的是每本書(shū)的厚度,因此在作圖像識(shí)別時(shí)應(yīng)更多關(guān)注書(shū)脊的外部輪廓而非書(shū)脊上的文字細(xì)節(jié)信息。這可以通過(guò)對(duì)圖像作小波增強(qiáng)處理來(lái)實(shí)現(xiàn),本系統(tǒng)的做法是:對(duì)書(shū)脊圖像進(jìn)行2層分解,對(duì)分解系數(shù)進(jìn)行處理,即使低頻分解系數(shù)增強(qiáng)以突出輪廓,高頻分解系數(shù)衰減以弱化細(xì)節(jié),再對(duì)處理后的系數(shù)進(jìn)行小波重構(gòu),最終得到輪廓增強(qiáng)的圖像。為得到理想的圖像,小波分解系數(shù)的閾值選取是關(guān)鍵,即如何界定高低頻分解系數(shù)問(wèn)題。設(shè)系數(shù)閾值為T(mén)。對(duì)大于T的系數(shù)進(jìn)行加權(quán)處理,設(shè)此權(quán)值為;對(duì)小于T的系數(shù)也進(jìn)行加權(quán)處理,設(shè)此權(quán)值為。書(shū)脊輪廓增強(qiáng)實(shí)驗(yàn)效果如圖4所示:
圖4小波書(shū)脊輪廓增強(qiáng)實(shí)驗(yàn)效果
比較處理后的圖像效果可知,系數(shù)閾值的大小對(duì)圖像的灰度有直接影響,權(quán)值的選擇對(duì)輪廓與細(xì)節(jié)的保留程度有影響,只有在適中的情況下,才可獲得想要的結(jié)果。選擇圖4中(e)作為進(jìn)一步檢測(cè)和識(shí)別的對(duì)象。
5視覺(jué)檢測(cè)與識(shí)別實(shí)驗(yàn)5.1 書(shū)脊邊緣檢測(cè)實(shí)驗(yàn)
機(jī)器人圖書(shū)視覺(jué)檢測(cè)系統(tǒng)對(duì)邊緣檢測(cè)的要求是:
(1)能檢測(cè)出預(yù)抓取的目標(biāo)書(shū)籍的完整外部輪廓;
(2)盡可能少檢測(cè)出書(shū)脊上文字的輪廓;
(3)對(duì)當(dāng)前機(jī)器視野中所有書(shū)脊的輪廓能夠很好的區(qū)分開(kāi)。
圖5為調(diào)整到最佳閾值后對(duì)同一幅圖像分別用Sobel算子和Canny算子所做的書(shū)脊邊緣檢測(cè)效果。
(a)原始圖像 (b)Sobel算子 (c)Canny算子
Figure 5 Experimental Results of Book-Spine Edge Detection
圖5書(shū)脊邊緣檢測(cè)實(shí)驗(yàn)效果圖
比較后發(fā)現(xiàn),運(yùn)用Canny算子對(duì)書(shū)脊邊緣進(jìn)行檢測(cè)的效果更好,可以更加完整的檢測(cè)出書(shū)脊輪廓,有利于后續(xù)的Hough算法提取書(shū)脊線段。除邊緣檢測(cè)算法外,檢測(cè)效果與攝像機(jī)拍攝圖像時(shí)的位置及拍攝到的圖像角度、范圍都有關(guān)。
Canny 算法采用雙閾值法從候選邊緣點(diǎn)中檢測(cè)和連接出最終的邊緣。OpenCV中通過(guò)函數(shù)cvCanny訪問(wèn)Canny算子邊緣檢測(cè)算法,其函數(shù)原型為cvCanny( const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size ),參數(shù)threshold1為第一個(gè)閾值,參數(shù)threshold2為 第二個(gè)閾值。運(yùn)用Canny算子對(duì)書(shū)脊進(jìn)行邊緣檢測(cè)時(shí)應(yīng)恰當(dāng)設(shè)置閾值參數(shù),閾值設(shè)置的目的是盡量使圖像的細(xì)節(jié)部分邊緣減少,盡可能多的保留每本書(shū)的外部輪廓邊緣,以利于外部輪廓的直線查找。圖6是選用不同閾值時(shí)的邊緣檢測(cè)效果,顯然(b)的閾值設(shè)定值更符合圖像分割需求。
Figure 6 CannyAlgorithm Threshold Setting Results Compare
圖6Canny算法閾值設(shè)定結(jié)果比較
通過(guò)實(shí)驗(yàn)“試湊法”得到合理的Canny算法閾值是一種有效方法,但對(duì)于動(dòng)態(tài)的移動(dòng)機(jī)器人視覺(jué)系統(tǒng)來(lái)講并不實(shí)用。移動(dòng)機(jī)器人視覺(jué)系統(tǒng)應(yīng)能在每次采集圖像并進(jìn)行預(yù)處理時(shí)自適應(yīng)的調(diào)整邊緣檢測(cè)算法的閾值。常用的自適應(yīng)閾值選取方法有:雙峰法、迭代法、大津法(OTSU法)及其改進(jìn)算法。在以上實(shí)驗(yàn)的基礎(chǔ)上,本文采用迭代法選取最佳閾值,解決不同書(shū)脊圖像分割時(shí)的閾值自動(dòng)切換與識(shí)別問(wèn)題。迭代法的公式是:
迭代法的實(shí)現(xiàn)步驟是:
(1)根據(jù)實(shí)驗(yàn)結(jié)果求出圖像的最大灰度值和最小灰度值,分別記為ZMAX和ZMIN,令初始閾值T0=(ZMAX+ZMIN)/2;
(2)根據(jù)閾值Ti(i=0,1,2,…)將圖象分割為前景和背景,分別求出兩者的平均灰度值ZO和ZB;
(3)求出新閾值Ti+1=(ZO+ZB)/2;
(4)若Ti =Ti+1,則所得即為閾值;否則轉(zhuǎn)2,迭代計(jì)算直至迭代收斂于某個(gè)穩(wěn)定的閾值時(shí),此閾值即為最終結(jié)果。
5.2書(shū)脊線段查找實(shí)驗(yàn)
本系統(tǒng)采用累計(jì)概率霍夫變換(PPHT)算法實(shí)現(xiàn)書(shū)脊線段的查找。
采用霍夫變換檢測(cè)直線,其基本思想是利用點(diǎn)-線的對(duì)偶性,點(diǎn)-線在兩個(gè)坐標(biāo)系中的對(duì)偶關(guān)系如圖7所示:
Figure 7Hough Transform for Line Detection Principle
圖7 霍夫變換檢測(cè)直線原理
Hough變換采用一種“投票機(jī)制”,輸入空間(x-y空間)中的每一個(gè)點(diǎn)對(duì)對(duì)應(yīng)的輸出空間(p-q空間)的某些參數(shù)組合(由q,p組成的數(shù)組)進(jìn)行投票,獲得票數(shù)最多的參數(shù)組合(如某對(duì)(p,q)值)勝出。
在OpenCV中通過(guò)函數(shù)cvHoughLines2訪問(wèn)PPHT算法。cvHoughLines2的函數(shù)原型是:
CvSeq* cvHoughLines2(CvArr* image, void* line_storage,int method,double rho,doubletheta,int threshold,double param1, double param2 )[8]。將參數(shù)method設(shè)置成CV_HOUGH_PROBABILISTIC 表示選擇PPHT算法。實(shí)驗(yàn)表明,參數(shù)threshold、param1、param2 的設(shè)置對(duì)檢測(cè)結(jié)果有直接影響,恰當(dāng)?shù)呐渲眠@些參數(shù)才可得到能使機(jī)械手臂準(zhǔn)確定位的目標(biāo)圖像。Threshold是閾值參數(shù),如果相應(yīng)的累計(jì)值大于 threshold, 則認(rèn)定為一條直線。param1設(shè)置將要返回的線段的最小長(zhǎng)度,param2表示在同一條直線上進(jìn)行碎線段連接的最大間隔值(gap), 即當(dāng)同一條直線上的兩條碎線段之間的間隔小于param2時(shí),將其合二為一。
圖8為修改各參數(shù)時(shí)值得到的不同檢測(cè)結(jié)果(為簡(jiǎn)便,用f1表示原始圖像,用f2表示小波輪廓增強(qiáng)后的圖像,th表示threshold,p1表示param1,p2表示param2):
Figure 8 Parameter Selection Experiments byPPHT Aalgorithm
圖8PPHT算法參數(shù)選擇實(shí)驗(yàn)
實(shí)驗(yàn)結(jié)果表明,Threshold固定時(shí),當(dāng)param2偏大時(shí),Hough變換連成的直線太多,很多直線是不想要的,這些直線的干擾使書(shū)脊邊界無(wú)法提取;當(dāng)param2偏小時(shí),連成的直線又太少,檢測(cè)不出相對(duì)較長(zhǎng)的書(shū)脊直線,也不好提取書(shū)脊邊界。Threshold的設(shè)置對(duì)書(shū)脊的判定影響較大。由于該圖書(shū)館機(jī)器人工作在自主作業(yè)模式,因此需根據(jù)作業(yè)對(duì)象自適應(yīng)的調(diào)整Threshold的設(shè)定值以達(dá)到環(huán)境適應(yīng)性強(qiáng)的目的。為加快系統(tǒng)計(jì)算速度,這里仍采用迭代法自適應(yīng)的設(shè)定閾值參數(shù)。
5.3 識(shí)別結(jié)果優(yōu)化處理
攝像頭拍攝角度、距離以及書(shū)本身的高度不等等客觀事實(shí)會(huì)帶來(lái)所拍攝圖像的某些區(qū)域檢測(cè)結(jié)果有較大失真,此時(shí)應(yīng)放棄對(duì)此部分區(qū)域的處理結(jié)果,圈定出檢測(cè)效果相對(duì)完善的區(qū)域,即能夠有效分離出每一本書(shū)并確定出每一本書(shū)厚度的區(qū)域,將此區(qū)域定義為有效檢測(cè)區(qū)域,如圖9中矩形R所包圍的區(qū)域。在有效檢測(cè)區(qū)域內(nèi)再做下一步的計(jì)算與處理。
進(jìn)一步的計(jì)算與處理包括兩個(gè)方面:1)在有效檢測(cè)區(qū)域中劃出虛擬的兩條線段a和b,使a、b之間為最有利于提取出書(shū)脊直線特征的區(qū)域。2)消除多余線段帶來(lái)的檢測(cè)誤差,如圖中書(shū)脊上的文字可能被誤檢測(cè)成書(shū)之間的分割線段(圖中的線段①、②),這會(huì)給機(jī)械手控制器發(fā)出抓取指令時(shí)帶來(lái)強(qiáng)干擾,解決此問(wèn)題的方法是:對(duì)同一幅圖像進(jìn)行多次采集,將每次的處理結(jié)果相比較,采用表決融合準(zhǔn)則,降低誤判率。為減少計(jì)算量,最多采集3次。
為驗(yàn)證方法的有效性和普遍適用性,借鑒模糊智能計(jì)算思想,對(duì)書(shū)脊厚度類(lèi)別作如下模糊劃分:{厚、較厚、中等厚度、較薄、薄、混合},其中“混合”是指厚、薄書(shū)脊隨機(jī)混放情況。在以上6種情況下分別采集不同書(shū)脊圖像100幅,用文中提出的方法進(jìn)行書(shū)脊識(shí)別試驗(yàn),得到書(shū)脊位置有效檢出率分類(lèi)統(tǒng)計(jì)結(jié)果,如表1所示。
Table 1 Storage space analysis of OBDDs data structure (Byte)
表1 書(shū)脊位置有效檢出率分類(lèi)統(tǒng)計(jì)表
厚度類(lèi)別 | 霍夫變換的閾值 | 有效檢出率(%) | 耗時(shí)(s) |
厚(每本書(shū)厚度>1000頁(yè)) | 50 | 100 | 1.0 |
較厚(500<=每本書(shū)厚度<=1000頁(yè)) | 50 | 99 | 1.2 |
中等厚度(300<=每本書(shū)厚度<500頁(yè)) | 60 | 95 | 1.8 |
較薄(100<=每本書(shū)厚度<300頁(yè)) | 60 | 90 | 1.9 |
薄(每本書(shū)厚度<100頁(yè)) | 80 | 85 | 2.0 |
混合(厚、薄隨機(jī)混放) | 80 | 70 | 2.5 |
從表1中可看出,當(dāng)書(shū)脊厚度較大且均勻時(shí),有效檢出率較高,且算法耗時(shí)較少,基本可滿(mǎn)足魯棒實(shí)時(shí)識(shí)別的需求;當(dāng)書(shū)脊厚度較小且均勻時(shí),有效檢出率相對(duì)低一些,但仍能滿(mǎn)足實(shí)時(shí)識(shí)別需求;當(dāng)書(shū)脊厚度不一即隨機(jī)混合時(shí),檢出率最低 ,耗時(shí)也最大,這種情況為最難識(shí)別的極端情況。
6 結(jié)束語(yǔ)
圖書(shū)館機(jī)器人機(jī)械手的圖書(shū)識(shí)別問(wèn)題實(shí)際上屬于攝像機(jī)運(yùn)動(dòng)、目標(biāo)靜止的移動(dòng)機(jī)器人視覺(jué)系統(tǒng)問(wèn)題,這也是目前運(yùn)動(dòng)視覺(jué)研究的一個(gè)重要方向。常用的處理方法是分析運(yùn)動(dòng)過(guò)程中獲得的圖像序列,可能是對(duì)某一感興趣區(qū)域的各個(gè)角度的觀察圖像序列,來(lái)建立目標(biāo)的3D結(jié)構(gòu)信息[9]。考慮到此種方法在程序處理時(shí)的復(fù)雜性,本文采取了一種新型綜合處理方法,實(shí)驗(yàn)結(jié)果已充分表明,該方法可通過(guò)編程實(shí)現(xiàn),且計(jì)算量較小、識(shí)別率較高、實(shí)時(shí)性較強(qiáng),已成功應(yīng)用到我們研制的圖書(shū)館機(jī)器人裝置中。
-
機(jī)器人
+關(guān)注
關(guān)注
211文章
28483瀏覽量
207437 -
Canny
+關(guān)注
關(guān)注
0文章
14瀏覽量
9709
原文標(biāo)題:杜明芳 | 基于小波分析的無(wú)人圖書(shū)館機(jī)器視覺(jué)識(shí)別研究
文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論