期刊VIP學(xué)術(shù)指導(dǎo) 符合學(xué)術(shù)規(guī)范和道德
保障品質(zhì) 保證專業(yè),沒有后顧之憂
來源:期刊VIP網(wǎng)所屬分類:綜合論文時(shí)間:瀏覽:次
摘 要:針對機(jī)器人自動(dòng)整理圖書研究中的關(guān)鍵問題——利用機(jī)器視覺識(shí)別書脊問題展開研究。文章提出一種基于輪廓的書脊識(shí)別方法。利用Canny算子檢測書脊邊緣,根據(jù)書脊兩側(cè)輪廓為平行的線段特點(diǎn),利用概率霍夫變換提取書脊兩側(cè)的輪廓,通過線段位置關(guān)系得到書脊ROI區(qū)域;根據(jù)書脊上文字與書脊顏色,亮度相差較大的特點(diǎn),利用K-means對色調(diào)和亮度進(jìn)行聚類,并通過判斷形態(tài)特征得到文字區(qū)域,通過文字排列方式判斷是否為書脊。將文章方法應(yīng)用于實(shí)際檢測中,并與利用LSD識(shí)別書脊的方法進(jìn)行對比,實(shí)驗(yàn)結(jié)果表明文章方法識(shí)別正確率更高。
關(guān)鍵詞:機(jī)器視覺;書脊識(shí)別;概率霍夫變換;Canny算子
1 概述
隨著社會(huì)的發(fā)展,圖書館的使用頻率越來越高,造成了大量書籍的借閱與歸還。由于歸還量較大,工作人員無法在短時(shí)間內(nèi)將圖書整理完,這給其他讀者在查詢、借閱時(shí)帶來了巨大的不便。隨著人工智能、機(jī)器人等技術(shù)的發(fā)展,越來越多的學(xué)者提出了利用機(jī)器人自動(dòng)整理圖書的想法。成功識(shí)別圖書書脊是利用機(jī)器人自動(dòng)整理圖書的基礎(chǔ)。目前書脊識(shí)別主要分為兩種思路,一種思路是利用深度學(xué)習(xí)識(shí)別書脊上文字或索書號(hào),以此完成對書脊的識(shí)別[1,2],另一種思路是通過書脊輪廓和顏色等特征完成對書脊的分割與識(shí)別。后一種思路的難點(diǎn)在于:書脊圖像比較復(fù)雜,難以區(qū)分單本圖書與相鄰圖書的輪廓;書脊顏色多樣,難以用固定的閾值進(jìn)行篩選。方建軍[3]等人提出一種基于小波分析和概率Hough變換的書脊識(shí)別系統(tǒng),該算法可以很好解決因運(yùn)動(dòng)造成的圖像模糊導(dǎo)致識(shí)別率下降的問題,但是需要根據(jù)書脊的厚度設(shè)置不同的Hough參數(shù);孫繼周等人[4]提出利用顏色結(jié)合LSD檢測分割圖書,通過索書標(biāo)簽進(jìn)行圖書識(shí)別的算法,但該方法對閾值設(shè)置依賴較高;殷策[5]提出了基于LSD的書籍輪廓提取算法,該方法對擺放混亂的書脊識(shí)別效果較好,但是該方法耗時(shí)較長,無法滿足實(shí)時(shí)監(jiān)測的需求。N.Tabassum等人[6]提出一種針對多行圖書書脊的分割方法,但是該種方法目前只能檢測較厚的排列好的書籍,無法應(yīng)用于薄書籍和擺放較為混亂的書籍。曹海清等人[7]提出一種利用投影算子分割書脊,獲得索書號(hào),利用模板匹配識(shí)別文字與數(shù)字,該方法書脊分割效果較好,識(shí)別準(zhǔn)確率較高,但對光線條件要求較為嚴(yán)格。本文與實(shí)際項(xiàng)目結(jié)合,利用概率霍夫變換與K-means聚類方法,實(shí)現(xiàn)了一種基于輪廓的書脊識(shí)別的算法。該方法對光線條件要求較低,對閾值依賴程度較低,在與基于LSD的書籍識(shí)別方法對比中,本文方法取得了更優(yōu)異的識(shí)別效果。
2 算法流程
本文算法主要分為以下幾個(gè)步驟:
S1.圖像預(yù)處理:轉(zhuǎn)為灰度圖,利用濾波去除噪聲;
S2.利用Canny算子檢測書脊邊緣直線;
S3.利用概率霍夫變換(PPHT)提取書脊輪廓線段;
S4.對S3得到的符合條件的線段融合;
S5.進(jìn)行平行線檢測,將不符合條件的線段去除,符合條件的線段進(jìn)行配對,得到書脊ROI區(qū)域;
S6.將圖像轉(zhuǎn)換到HSV色彩空間,利用K-means對色彩和亮度聚類,結(jié)合形態(tài)學(xué)的篩選獲得文字輪廓,并計(jì)算文字的相對位置關(guān)系。將通過篩選的文字的所在書脊輸出,未通過的刪除。
3 邊緣檢測
本部分希望提取的輪廓符合以下要求:(1)輪廓完整;(2)不同書脊輪廓可以區(qū)分。根據(jù)經(jīng)驗(yàn)與各個(gè)算子的綜合表現(xiàn),本算法選取Canny算子作為輪廓提取算子。
Canny算子由John F.Canny于1986年提出[8],其主要流程如下[9,10]:
(1)對圖像進(jìn)行高斯濾波去除噪聲;
(2)計(jì)算梯度幅值M和梯度方向θ:
利用Sobel算子計(jì)算水平方向梯度Gx與豎直方向梯度Gy,梯度大小為M=,梯度方向?yàn)?theta;=arctan();
(3)非極大值抑制:
為精確確定邊緣,需將圖像細(xì)化到1個(gè)像素寬度。將梯度方向歸化到圖2所示的4個(gè)方向之一,將此方向作為梯度方向。使用3*3的模板作用于幅值圖像,用模板中心像素與梯度方向上的兩個(gè)像素比較,若模板中心點(diǎn)處的幅值M(i,j)比梯度方向上的兩個(gè)相鄰點(diǎn)幅值小,則M(i,j)賦值為零;
(4)閾值化和邊緣連接:
對經(jīng)過非極大值抑制的圖像Q(i,j)采用雙閾值處理,低閾值處理結(jié)果為A1,高閾值處理結(jié)果為A2。以A2為基礎(chǔ),用A1補(bǔ)充連接邊緣。
4 輪廓提取
經(jīng)典霍夫變換思想是利用點(diǎn)和線的對偶性,將圖像中的曲線轉(zhuǎn)換為極坐標(biāo)系的一點(diǎn)。在笛卡爾坐標(biāo)系中直線方程為:
霍夫變換利用在極坐標(biāo)系中的曲線交點(diǎn)檢測直線。在極坐標(biāo)系中越多的曲線交于一點(diǎn),代表著這個(gè)交點(diǎn)表示的直線由越多的點(diǎn)組成。當(dāng)交于一個(gè)點(diǎn)的曲線數(shù)量大于設(shè)定的閾值,即可認(rèn)為這個(gè)交點(diǎn)代表的參數(shù)在笛卡爾坐標(biāo)系中為一條直線。但是經(jīng)典霍夫變換計(jì)算量較大,不能夠保證實(shí)時(shí)性,本文采用概率霍夫變換(PPHT),對書脊輪廓的直線進(jìn)行檢測和提取。概率霍夫變換無需對邊緣所有像素點(diǎn)進(jìn)行檢測,僅是從邊緣點(diǎn)集中隨機(jī)選取點(diǎn)進(jìn)行計(jì)算。具體過程如下[11,12]:
(1)隨機(jī)選取前景點(diǎn),并在極坐標(biāo)系中繪制圖像;
(2)當(dāng)極坐標(biāo)系中存在交點(diǎn)達(dá)到閾值,將該點(diǎn)對應(yīng)的圖像在笛卡爾坐標(biāo)系中的直線L繪制出來;
(3)尋找前景點(diǎn),將在直線L上的點(diǎn)連成線段,記錄相應(yīng)參數(shù)(起始位置,終止位置,線段長度),然后將這些點(diǎn)刪除;
(4)重復(fù)前三步,直到前景點(diǎn)集為空。
通過以上4步,即可快速的提取到圖像中的直線。
5 ROI區(qū)域選取
5.1線段融合
經(jīng)過PPHT提取直線后,存在許多非書脊輪廓的線段,進(jìn)行線段融合,減少非目標(biāo)直線。利用直線的相對位置關(guān)系進(jìn)行篩選,首先通過直線方程y=kx+b或x=c描述線段。刪除長度小于30像素的線段(圖像大小640*480),刪除存在交點(diǎn)的線段。關(guān)注垂直方向的線段,忽略k∈(0,5)∪(-5,0)的線段;按照k值進(jìn)行分組,每組限差為±10。計(jì)算同一組內(nèi)線段之間的距離,依次在2條線段4個(gè)端點(diǎn)中選3個(gè),共構(gòu)成4個(gè)三角形,使用如下公式計(jì)算三角形的高:
(1)新的線段斜率取兩條線段斜率的平均值;
(2)用一條線段的上端點(diǎn)與下端點(diǎn)分別連接另一條線段的下端點(diǎn)與上端點(diǎn),連線交點(diǎn)作為新線段中心點(diǎn);
(3)將融合前較長線段的長度作為新線段的長度。
5.2 平行線判斷
按中心點(diǎn)橫坐標(biāo)從小到大的順序進(jìn)行平行線匹配。匹配規(guī)則如下:
(1)若第一條線段向第二條線段投影的長度大于第一條線段長度的30%,則認(rèn)為這兩條線段為一本書的書脊兩側(cè)直線,匹配成功;
(2)若投影長度小于第一條線段長度的15%~30%,認(rèn)為它們可能為一本書的輪廓,繼續(xù)向下尋找,若存在投影長度更高的則將那兩條線段匹配;若投影長度小于第一條線段長度的15%,則將該條線段刪除;
(3)規(guī)定進(jìn)行匹配的線段的中心點(diǎn)橫坐標(biāo)之間的距離應(yīng)小于第一條線段長度的40%,若在此范圍內(nèi)無法匹配成功,則將該線段刪除;
(4)匹配僅在同組直線內(nèi)進(jìn)行;
(5)若第一條線段與第二條線段匹配成功,則使用第二條線段繼續(xù)進(jìn)行匹配,直至所有直線都經(jīng)過匹配。
5.3 選取書脊ROI區(qū)域
取匹配成功的線段端點(diǎn)縱坐標(biāo)最大值與最小值的點(diǎn),分別過該點(diǎn)做與其所在線段的垂線,延長另外一條線段,使其與垂線相交,如圖3所示。構(gòu)成旋轉(zhuǎn)矩形區(qū)域,通過仿射變換得到書脊的ROI。
5.4 文字相對位置關(guān)系判斷
這部分對識(shí)別到的區(qū)域做進(jìn)一步篩選,同時(shí)解決因書脊邊緣處梯度變化較小,而無法提取其輪廓的問題。
根據(jù)對書脊觀察,總結(jié)出如下特征:多數(shù)書脊上存在文字,且文字的顏色,亮度與其他部分差距較大;文字的大小、排列方式有一定規(guī)律。根據(jù)這些特征,提出如下篩選方法及步驟:
(1)將ROI從RGB轉(zhuǎn)換為HSV色彩空間;
(2)對H和S分量利用K-means聚類,將ROI區(qū)域分成3類;
(3)用矩形框選每一類圖像,認(rèn)為存在文字的矩形長應(yīng)小于書脊長度的20%,且矩形長寬比應(yīng)在0.8至1.2之間;
(4)將矩形按中心點(diǎn)橫坐標(biāo)分組,每組內(nèi)橫坐標(biāo)差值不應(yīng)大于ROI寬度的20%。取ROI兩側(cè)線段斜率的平均值過每組內(nèi)y值最小的矩形中心點(diǎn)做直線,判斷穿過矩形的情況與數(shù)量。與矩形上下邊有交點(diǎn),則直線穿過該矩形。若穿過矩形的數(shù)量不小于3個(gè),則認(rèn)為矩形區(qū)域即為文字區(qū)域;
(5)若無文字區(qū)域,則該區(qū)域?yàn)榉菚箙^(qū)域,若有一組及以上的文字區(qū)域,則認(rèn)為該區(qū)域?yàn)闀箙^(qū)域。若僅有單組文字,則直接將該區(qū)域輸出,若有多組文字,則計(jì)算y值最大與最小的矩形中心點(diǎn)連線的斜率ki,并計(jì)算該組內(nèi)矩形中心點(diǎn)橫坐標(biāo)平均值xi。然后計(jì)算相鄰兩組之間平均橫坐標(biāo),計(jì)算平均斜率,找到ROI的中心點(diǎn),取其縱坐標(biāo)y,過(,y)以斜率做長度與ROI的高度相同的線段,將新的線段作為新添的書脊輪廓,與原有輪廓共同輸出。
推薦閱讀:上海市科技情報(bào)專業(yè)高級(jí)職稱評審條件