• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向無序抓取的DPC聚類多目標(biāo)檢測方法研究

      2023-12-11 07:11:30陳澤瑜李向國曹登鋒朱燈林
      計算機(jī)工程與應(yīng)用 2023年23期
      關(guān)鍵詞:聚類閾值數(shù)量

      陳澤瑜,李向國,曹登鋒,朱燈林

      河海大學(xué) 機(jī)電工程學(xué)院,江蘇 常州 213022

      無序抓取是機(jī)器人領(lǐng)域中的一個重要的研究方向,該技術(shù)通過相機(jī)采集場景信息,檢測目標(biāo)物體,并計算物體的位置、姿態(tài)等信息,再將信息傳輸給機(jī)械臂,機(jī)械臂根據(jù)得到的信息進(jìn)行抓取,構(gòu)成一個完整的閉環(huán)控制系統(tǒng)[1-2]。對于抓取任務(wù)來說,能夠在場景中正確檢測和識別目標(biāo)是實(shí)現(xiàn)抓取的前提條件。在無序抓取中,通常還需要對一些堆疊的工件進(jìn)行檢測與計算,得到最適合抓取目標(biāo)物體個數(shù)以及每個目標(biāo)的位姿,然后引導(dǎo)機(jī)械臂進(jìn)行抓取[3-4]。

      抓取的前提是識別和檢測。在以往的研究中,常用的目標(biāo)檢測方法包括閾值分割[5]、模板匹配以及基于深度學(xué)習(xí)[6]的方法?;陂撝捣指畹哪繕?biāo)檢測方法將圖像的前景和背景分割開,通過分析前景中物體的特征來進(jìn)行檢測,但是這種方法檢測效果不穩(wěn)定,一般較少使用。基于模板匹配的目標(biāo)檢測方法包括基于二維圖像的匹配以及基于三維點(diǎn)云的匹配。其中基于二維圖像的匹配包括基于灰度的模板匹配、基于形狀的模板匹配[7-8]以及基于特征點(diǎn)的模板匹配[9-10]。由于圖像的特征點(diǎn)具有旋轉(zhuǎn)以及尺度不變性,一般常使用特征點(diǎn)來進(jìn)行檢測。常用的特征點(diǎn)匹配算法包括尺度不變特征變換(scale invariant feature transform,SIFT)[11]、加速穩(wěn)健特征(speeded up robust features,SURF)[12]以及旋轉(zhuǎn)不變特征檢測(oriented FAST and rotated BRIEF,ORB)算法[13]。近年來,基于深度學(xué)習(xí)的目標(biāo)檢測方式成為該領(lǐng)域的研究熱點(diǎn),其不僅具有較高的檢測速度,并且能夠達(dá)到較高的準(zhǔn)確率[14]。但是該方式需要龐大的數(shù)據(jù)集進(jìn)行訓(xùn)練,數(shù)據(jù)集的獲取以及昂貴的標(biāo)注成本限制了其應(yīng)用,并且該方式不適用于抓取目標(biāo)經(jīng)常變換的場景。

      針對目標(biāo)檢測,許多研究者對傳統(tǒng)的模板匹配檢測方式進(jìn)行了改進(jìn)。惠記莊等人[15]在機(jī)械臂的抓取應(yīng)用中,將SURF和BRISK算法結(jié)合對圖像進(jìn)行特征提取并匹配,然后使用MSAC算法進(jìn)行二次匹配消除誤匹配點(diǎn)計算仿射變換參數(shù),從而實(shí)現(xiàn)場景中的目標(biāo)檢測。該方法在忽略特殊幾何畸變的條件下,對復(fù)雜環(huán)境具有很強(qiáng)的適應(yīng)能力。但是該算法最終得到的匹配點(diǎn)數(shù)量較少,不適用于對弱紋理目標(biāo)的檢測。Li 等人[16]通過提取場景圖片和模板圖片的ORB 特征點(diǎn),引入基于網(wǎng)格運(yùn)動靜力學(xué)(grid-based motion statics,GMS)的運(yùn)動平滑度對匹配點(diǎn)進(jìn)行評估以去除錯誤匹配,然后將圖像劃分為多個單元圖像,根據(jù)每個單元中特征點(diǎn)的數(shù)量計算網(wǎng)格中心權(quán)重,進(jìn)而計算檢測目標(biāo)的中心,生成檢測框。該算法具有較高的檢測速度和精度,但是當(dāng)從不同的角度拍攝圖片時,會出現(xiàn)檢測框發(fā)生偏移的情況,不適合應(yīng)用在無序抓取中。Wei等人[17]使用基于輪廓的模板匹配來進(jìn)行目標(biāo)識別,首先提取模板圖像和待檢測圖像輪廓,并使用對于平移、旋轉(zhuǎn)、縮放和變形具有魯棒性的MTCD描述子對輪廓進(jìn)行描述,通過計算描述符之間的差異來識別目標(biāo)。該算法為了消除圖像中的冗余信息,使用超像素分割結(jié)合啟發(fā)式搜索的方式進(jìn)行匹配,并且圖像描述符的計算復(fù)雜,檢測速度較慢。陶杰等人[18]通過深度相機(jī)采集目標(biāo)的點(diǎn)云信息,并使用點(diǎn)對特征法(point-pair-feature,PPF)描述模型點(diǎn)云和目標(biāo)點(diǎn)云的特征,最后使用投票方案返回場景中與模型最佳匹配的目標(biāo)。該方法使用深度相機(jī)進(jìn)行點(diǎn)云采集,相較于普通相機(jī)成本較高,并且在檢測出的結(jié)果中未定義抓取優(yōu)先級,無法保證機(jī)械臂每次都進(jìn)行最優(yōu)抓取。Zhao等人[19]在機(jī)械臂的無序抓取應(yīng)用中使用一種名為MSG_SHOT的描述符對模型點(diǎn)云和場景點(diǎn)云進(jìn)行描述,并根據(jù)描述符對點(diǎn)云進(jìn)行匹配,大大提高了系統(tǒng)在有雜波干擾和遮擋場景目標(biāo)識別精度,并將應(yīng)用場景從3D 點(diǎn)云擴(kuò)展到2.5D 深度信息,但是該算法使用的是局部特征描述子,計算復(fù)雜度高,實(shí)時性較差。

      在無序抓取過程中,相機(jī)視野內(nèi)可能存在多個相同的目標(biāo),為了盡可能多且準(zhǔn)確地檢測出可抓取目標(biāo),提出一種基于密度峰值聚類(density peaks clustering,DPC)的多目標(biāo)檢測算法,該算法可以同時檢測出相機(jī)視野內(nèi)的多個相同目標(biāo),并按照設(shè)定的規(guī)則進(jìn)行優(yōu)先級排序,從而提高無序抓取的成功率。并且該算法僅使用普通相機(jī)即可實(shí)現(xiàn),與深度相機(jī)的點(diǎn)云匹配方法以及基于深度學(xué)習(xí)的多目標(biāo)檢測算法相比,該算法的實(shí)現(xiàn)成本較低,適用性好,有利于部署到無序抓取應(yīng)用中。

      1 多目標(biāo)檢測算法設(shè)計

      1.1 特征點(diǎn)的DPC聚類

      常用的特征點(diǎn)檢測方法有SIFT、SURF 以及ORB。其中SIFT 算法是經(jīng)典的特征點(diǎn)檢測算法之一,相較于SURF 以及ORB,其檢測精度較高,具有較好的旋轉(zhuǎn)及尺度不變性。為了保證目標(biāo)檢測的準(zhǔn)確率,使用基于SIFT特征點(diǎn)的模板匹配方式進(jìn)行檢測。

      分別提取模板圖像和待檢測圖像中的SIFT特征點(diǎn)進(jìn)行匹配。然而,當(dāng)待檢測圖像中存在多個相同的目標(biāo)物體時,圖像中往往會出現(xiàn)大量相同的特征點(diǎn)。如果直接進(jìn)行匹配,就會有很多相同的特征點(diǎn)與模板圖像的同一個特征點(diǎn)匹配成功,這會使模板不確定與哪一個目標(biāo)進(jìn)行匹配,從而導(dǎo)致檢測失敗。這是由于傳統(tǒng)的模板匹配方法是將待檢測圖像中的特征點(diǎn)看作是一個集合,用模板圖像中的特征點(diǎn)和該集合中的特征點(diǎn)進(jìn)行匹配,所以每次只能檢測出一個目標(biāo)。采用聚類算法能夠?qū)⒋龣z測圖像的特征點(diǎn)分為屬于不同目標(biāo)的特征點(diǎn)集合,將模板圖像中的特征點(diǎn)與不同目標(biāo)的特征點(diǎn)集合分別進(jìn)行匹配,從而實(shí)現(xiàn)一次檢測多個目標(biāo)。

      在現(xiàn)有的多目標(biāo)檢測算法中,常使用K-means算法對目標(biāo)特征進(jìn)行聚類[20],但是該算法需要預(yù)先輸入聚類中心個數(shù),并且聚類結(jié)果嚴(yán)重依賴于初始聚類中心的選取。而聚類中心的個數(shù)在實(shí)際的應(yīng)用場景中很難事先確定。為了提高無序抓取系統(tǒng)的自動化程度,提出使用DPC算法對特征點(diǎn)進(jìn)行聚類,該算法可以在不預(yù)先確定聚類中心數(shù)量的情況下根據(jù)圖像中的特征點(diǎn)分布自動完成聚類。DPC 算法基于兩個基本假設(shè):(1)聚類中心(密度峰值點(diǎn))的局部密度大于圍繞它的其他點(diǎn)的密度;(2)不同聚類中心的距離相對較遠(yuǎn)。

      首先使用SIFT 算法提取待檢測圖像的特征點(diǎn),并存儲在集合表示該集合中特征點(diǎn)的索引值,采用dij=dist{(xi,yi),(xj,yj)} 表示兩個特征點(diǎn)之間的歐氏距離。然后,對于集合S中的任何一個特征點(diǎn),計算其局部密度ρi和相對距離δi兩個指標(biāo),其中:

      式中,ρi為第i個特征點(diǎn)的局部密度,dij為第i個和第j個特征點(diǎn)之間的距離,dc為截斷距離。

      由上式可知,γi越大,點(diǎn)(xi,yi)為聚類中心的可能性越大。得到特征點(diǎn)集中每個點(diǎn)的γ值后,對γ進(jìn)行排序,選擇γ較大的點(diǎn)作為聚類中心。計算特征點(diǎn)集中每個數(shù)據(jù)點(diǎn)與所有聚類中心點(diǎn)之間的距離,并將其劃分到距離該點(diǎn)最近且密度比該點(diǎn)密度大的聚類中心完成聚類,最終將特征點(diǎn)劃分為屬于不同聚類中心地特征點(diǎn)子集mi。目標(biāo)不同放置情況下的特征點(diǎn)聚類結(jié)果如圖1所示,圖像中不同顏色的點(diǎn)分別代表屬于不同聚類中心的特征點(diǎn)。

      圖1 目標(biāo)特征點(diǎn)聚類分析Fig.1 Target feature point clustering analysis

      1.2 多目標(biāo)檢測

      待檢測圖像的特征點(diǎn)經(jīng)過DPC 算法聚類之后,得到聚類結(jié)果M(m1,m2,…,mi,…,mn),其中mi={(xi1,yi1),(xi2,yi2),…,(xij,yij)}表示屬于第i個聚類中心的特征點(diǎn)集合。將屬于不同聚類中心的特征點(diǎn)分別與模板圖像中的特征點(diǎn)進(jìn)行匹配,得到每個目標(biāo)的匹配點(diǎn)對集合,匹配點(diǎn)對中不可避免地會出現(xiàn)錯誤,需要進(jìn)行提純。

      在所有特征點(diǎn)提純算法中,RANSAC 算法實(shí)現(xiàn)起來相對簡單,并且該算法對于噪聲以及異常值具有魯棒性,適用于無序抓取中場景存在噪點(diǎn)的情況。此外,OpenCV還對該算法進(jìn)行了優(yōu)化,使運(yùn)算速度進(jìn)一步提高。因此,使用RANSAC算法去除誤匹配點(diǎn)。

      根據(jù)去除誤匹配后的匹配點(diǎn)計算模板圖像和待檢測圖像中目標(biāo)的單應(yīng)矩陣,將模板圖像映射到待檢測圖像上,實(shí)現(xiàn)目標(biāo)檢測。轉(zhuǎn)換關(guān)系如公式(6)所示:

      式中,(x′,y′)表示模板圖像中的特征點(diǎn),(x,y)表示待檢測圖像中的特征點(diǎn),s為尺度參數(shù),H為單應(yīng)矩陣。

      RANSAC 算法計算目標(biāo)單應(yīng)矩陣的流程如圖2 所示。首先從聚類結(jié)果M(m1,m2,…,mi,…,mn)中選取某個目標(biāo)的點(diǎn)集mk,再從該點(diǎn)集中抽取子集,計算初始單應(yīng)矩陣。然后根據(jù)初始單應(yīng)矩陣計算其余點(diǎn)的實(shí)際坐標(biāo)和計算坐標(biāo)之間的差值,統(tǒng)計每次迭代的內(nèi)點(diǎn)數(shù)量并與當(dāng)前最大內(nèi)點(diǎn)數(shù)量Nmax進(jìn)行比較,判斷是否需要更新Nmax。最后,將內(nèi)點(diǎn)數(shù)量最多的單應(yīng)矩陣作為該目標(biāo)正確的單應(yīng)矩陣。

      圖2 RANSAC算法流程圖Fig.2 RANSAC algorithm flow chart

      經(jīng)過迭代計算的單應(yīng)矩陣中,有一部分是根據(jù)較少的匹配點(diǎn)得到的。而從理論上說,如果要實(shí)現(xiàn)一個目標(biāo)的正確檢測,需要有足夠多匹配點(diǎn)為支撐。當(dāng)一個目標(biāo)的匹配點(diǎn)數(shù)量較少的時候,該目標(biāo)為錯誤檢測結(jié)果的概率較大。因此,設(shè)置一個最少匹配點(diǎn)數(shù)量Th作為閾值,只有當(dāng)目標(biāo)與模板的正確匹配點(diǎn)個數(shù)大于此閾值的時候,才能認(rèn)為該目標(biāo)是一個正確的檢測結(jié)果;反之,認(rèn)為該目標(biāo)檢測錯誤,并將其舍棄。為了能夠適應(yīng)不同的場景,提出一種自適應(yīng)閾值選取方式。經(jīng)研究發(fā)現(xiàn),在不同的場景中,目標(biāo)的匹配點(diǎn)數(shù)量小于場景中最多匹配點(diǎn)數(shù)量的50%時,該目標(biāo)較大概率為錯誤檢測結(jié)果。因此,將閾值Th設(shè)為最多匹配點(diǎn)數(shù)量的50%。該方法實(shí)現(xiàn)簡單,能夠以極低的代價去除錯誤檢測結(jié)果。

      上述步驟的檢測結(jié)果中包括一些被遮擋的目標(biāo),為了實(shí)現(xiàn)抓取,還需要找到可抓取目標(biāo)。首先,將上述檢測到的目標(biāo)按照內(nèi)點(diǎn)數(shù)量進(jìn)行降序排列,其中內(nèi)點(diǎn)數(shù)量最多的目標(biāo)一定是可抓取目標(biāo)。設(shè)置閾值λ,將內(nèi)點(diǎn)數(shù)量與最多匹配點(diǎn)數(shù)量的差小于閾值λ的目標(biāo)當(dāng)作可抓取目標(biāo),放入可抓取目標(biāo)集合O中,其余目標(biāo)進(jìn)行舍棄。然后,在可抓取目標(biāo)集合O中,根據(jù)每個目標(biāo)的質(zhì)心到圖像中心的距離進(jìn)行抓取優(yōu)先級排序。

      為了使機(jī)械臂能夠準(zhǔn)確地抓取物體,還需要使用ad-census立體匹配算法[21]計算場景視差圖,根據(jù)雙目成像原理計算可抓取目標(biāo)上某些特征點(diǎn)的三維坐標(biāo)。然后,將世界坐標(biāo)系下的三維坐標(biāo)與圖像坐標(biāo)系下的二維坐標(biāo)進(jìn)行一一對應(yīng),使用投影尋蹤算法(perspective-npoint algorithm,PNP)計算目標(biāo)物體在世界坐標(biāo)系下的位姿。將計算的目標(biāo)物體的三維信息傳輸給機(jī)械臂,機(jī)械臂根據(jù)目標(biāo)的位置、姿態(tài)以及優(yōu)先級進(jìn)行抓取。圖3展示了完整的面向無序抓取的多目標(biāo)檢測流程。

      圖3 DPC多目標(biāo)檢測流程Fig.3 DPC multi-target detection process

      2 多目標(biāo)檢測實(shí)驗(yàn)驗(yàn)證與分析

      2.1 目標(biāo)檢測實(shí)驗(yàn)

      實(shí)驗(yàn)使用的硬件平臺為Intel Core i5-7300HQ,CPU 主頻為2.5 GHz,內(nèi)存容量為8 GB,操作系統(tǒng)為Windows 10 x64。使用C++語言結(jié)合OpenCV視覺庫,在Visio Studio 2019 中進(jìn)行開發(fā)。實(shí)驗(yàn)中的參數(shù)設(shè)置如表1所示。

      表1 實(shí)驗(yàn)參數(shù)表Table 1 Experimental parameters table

      首先在Visio studio 2019 中使用C++語言調(diào)用OpenCV視覺庫,直接調(diào)用OpenCV中SIFT算法,提取模板圖像和待檢測圖像的特征點(diǎn),并生成SIFT 特征描述子進(jìn)行存儲。模板和待檢測圖像的特征點(diǎn)如圖4所示。

      圖4 模板圖像和待檢測圖像的SIFT特征點(diǎn)Fig.4 SIFT feature points of template image and image to be detected

      然后使用DPC算法對待檢測圖像中的特征點(diǎn)進(jìn)行聚類,得到的聚類中心如圖5 所示,其中不同顏色的點(diǎn)代表不同的聚類中心,每個聚類中心的坐標(biāo)以及屬于每個聚類中心的特征點(diǎn)個數(shù)如表2所示。

      表2 聚類中心坐標(biāo)及特征點(diǎn)個數(shù)Table 2 Clustering center coordinates and number of feature points

      圖5 DPC聚類得到的聚類中心Fig.5 Clustering centers obtained by DPC clustering

      從圖5 和表2 中可以看出,在待檢測圖像中有6 個目標(biāo)的情況下,DPC算法得到的6個聚類中心中有兩個(藍(lán)、灰)位于同一目標(biāo)上,這會導(dǎo)致最終的檢測結(jié)果出現(xiàn)錯誤。原因在于待檢測圖像中特征點(diǎn)之間相互連接,分布不均勻,在聚類過程中較為稀疏的特征點(diǎn)區(qū)域中的密度峰值點(diǎn)可能會被誤認(rèn)為是噪聲點(diǎn),從而導(dǎo)致聚類錯誤。并且在待檢測圖像中不僅包括目標(biāo)物體的特征點(diǎn),還不可避免地存在一些背景特征點(diǎn)以及噪聲點(diǎn),這些除目標(biāo)特征點(diǎn)之外的干擾點(diǎn)也會對聚類結(jié)果產(chǎn)生影響。因此,僅僅依靠DPC 聚類無法正確檢測圖像中的多個目標(biāo)物體,還需要對聚類結(jié)果進(jìn)行篩選,以確保多目標(biāo)檢測的準(zhǔn)確性和穩(wěn)定性。

      將聚類之后的特征點(diǎn)集分別與模板圖像進(jìn)行匹配,并使用RANSAC 算法去除誤匹配點(diǎn),計算每個目標(biāo)的單應(yīng)矩陣,并將模板圖像的四個邊緣點(diǎn)映射到待檢測圖像上,生成檢測框。圖6展示了RANSAC算法處理的結(jié)果,每個聚類目標(biāo)的內(nèi)點(diǎn)數(shù)量如表3所示。

      表3 每個目標(biāo)匹配點(diǎn)數(shù)量Table 3 Number of matching points per target

      圖6 RANSAC處理前后的匹配點(diǎn)Fig.6 Matching points before and after RANSAC processing

      為了去除由于匹配點(diǎn)數(shù)量少導(dǎo)致的錯誤檢測結(jié)果,設(shè)置最少匹配點(diǎn)數(shù)量閾值Th對檢測結(jié)果進(jìn)行過濾。在圖5的場景下,所有的檢測結(jié)果中目標(biāo)所具有的最多匹配點(diǎn)數(shù)量為65,將最多匹配點(diǎn)數(shù)量的50%即32設(shè)置為閾值,匹配點(diǎn)數(shù)量小于該閾值的目標(biāo)被舍棄。由表3 可知,經(jīng)過閾值篩選之后,圖像中能夠正確檢測出5 個目標(biāo),檢測結(jié)果如圖7 所示。圖7 中紅色邊框標(biāo)記的為檢測出的目標(biāo)物體。證明了所提多目標(biāo)檢測算法的有效性。

      圖7 篩選前后檢測結(jié)果比較Fig.7 Comparison of test results before and after screening

      而在實(shí)際的無序抓取應(yīng)用中,不需要一次將場景中的所有目標(biāo)都檢測出來,只需要保證不出現(xiàn)檢測錯誤即可。因此,實(shí)際應(yīng)用場景中的閾值選取可以適當(dāng)偏大。

      2.2 對比實(shí)驗(yàn)及理論分析

      從圖7可以看出,使用DPC聚類多目標(biāo)檢測算法能夠正確檢測出場景中的目標(biāo)物體。但是實(shí)際上,算法的檢測結(jié)果不僅與閾值的選取有關(guān),還與截斷距離以及聚類中心個數(shù)有關(guān)。為了確定不同聚類中心個數(shù)對目標(biāo)檢測結(jié)果的影響,選用不同的截斷距離進(jìn)行多目標(biāo)檢測實(shí)驗(yàn)。圖8 顯示了使用不同截斷距離所獲得的聚類中心個數(shù)以及最終的檢測結(jié)果。實(shí)驗(yàn)發(fā)現(xiàn),隨著截斷距離的增大或減小,聚類中心的數(shù)量總體上也是隨之減少和增多的。經(jīng)分析發(fā)現(xiàn),截斷距離增大,相當(dāng)于每個特征點(diǎn)的搜索鄰域增大,會將更大范圍的特征點(diǎn)聚類在一起,因此聚類中心的數(shù)量減少,而最終能夠檢測到的目標(biāo)數(shù)量也會減少;反之,截斷距離減小,聚類中心的數(shù)量增多,能夠檢測到的目標(biāo)數(shù)量也增多。但是當(dāng)截斷距離小于一定范圍,聚類中心個數(shù)超過一定數(shù)值之后,圖像中的特征點(diǎn)總數(shù)不變,屬于每個聚類中心的特征點(diǎn)數(shù)量變少,在與模板圖像進(jìn)行匹配時得到的正確匹配點(diǎn)數(shù)量也變少,達(dá)不到正確檢測所需要的最小匹配點(diǎn)數(shù)量,因此會出現(xiàn)較多的錯誤檢測結(jié)果,如圖8(f)所示。所以,在實(shí)際的應(yīng)用場景中,截斷距離的選取既不能過大,也不能過小。

      圖8 不同聚類中心個數(shù)的檢測結(jié)果Fig.8 Detection results of number of different clustering centers

      在如圖4的場景中,選取截斷距離dc=37 結(jié)合最少匹配點(diǎn)數(shù)量閾值能夠?qū)⒛繕?biāo)全部正確地檢測出來。但是在實(shí)際的無序抓取應(yīng)用中,不需要一次將視場中的目標(biāo)全部檢測出來,所以對截斷距離的選取不需要十分嚴(yán)格。在實(shí)際應(yīng)用中可以通過實(shí)驗(yàn)選取不同的截斷距離,從而得到不同的聚類中心個數(shù),選擇檢測效果較好的作為最終的截斷距離。

      為了驗(yàn)證使用SIFT算法的必要性,設(shè)置對比實(shí)驗(yàn),將使用SURF、ORB算法的檢測結(jié)果和使用SIFT算法的檢測結(jié)果進(jìn)行比較,兩種算法的檢測結(jié)果如圖9所示。

      與使用SIFT特征點(diǎn)的算法相比,使用SURF特征點(diǎn)的多目標(biāo)檢測算法能夠檢測出場景中的多個目標(biāo)物體。然而,該算法的個別目標(biāo)檢測結(jié)果會出現(xiàn)較大的偏差,如圖9(a)所示。相比之下,使用ORB特征點(diǎn)進(jìn)行多目標(biāo)檢測則無法正確檢測出目標(biāo)物體,如圖9(b)所示。分析結(jié)果表明,這是由于SURF算法在特征點(diǎn)檢測和描述符生成過程中采用了一些優(yōu)化算法以降低計算復(fù)雜度,從而導(dǎo)致描述符的精確度降低,進(jìn)而在匹配過程中出現(xiàn)錯誤,影響檢測的準(zhǔn)確性。而ORB 算法提取出的特征點(diǎn)數(shù)量相對于SIFT 算法較少,且這些特征點(diǎn)聚集在“純牛奶”三個字附近,容易在聚類過程中出現(xiàn)錯誤。此外,ORB 特征點(diǎn)采用二進(jìn)制描述子并使用一些近似的方式計算描述符方向,降低了描述符的精度及圖像對旋轉(zhuǎn)和尺度變化的魯棒性,從而導(dǎo)致特征點(diǎn)匹配的過程中出現(xiàn)了大量的錯誤匹配。即使經(jīng)過RANSAC算法篩選,這些誤匹配也無法完全消除,因此無法正確檢測出目標(biāo)。

      2.3 可抓取目標(biāo)檢測

      為了使機(jī)械臂能夠進(jìn)行正確的抓取,需要在檢測結(jié)果中找到可抓取目標(biāo)。在所有檢測的結(jié)果中,匹配點(diǎn)數(shù)量最多的目標(biāo)一定是沒有被遮擋的可抓取目標(biāo),其抓取優(yōu)先級相對較高。當(dāng)圖像中存在多個可抓取目標(biāo)的時候,通過計算目標(biāo)匹配點(diǎn)數(shù)量與最多匹配點(diǎn)數(shù)量的差值來進(jìn)行判斷。根據(jù)實(shí)驗(yàn)發(fā)現(xiàn),如果目標(biāo)的匹配點(diǎn)數(shù)量與最多匹配數(shù)量相差超過10%,則該目標(biāo)較大概率為被遮擋目標(biāo)。因此,在如圖10的實(shí)驗(yàn)場景下,設(shè)置閾值λ為7。當(dāng)差值小于閾值則認(rèn)為目標(biāo)未被遮擋,為可抓取目標(biāo),并放入可抓取目標(biāo)集合,最終將可抓取目標(biāo)信息傳輸給機(jī)械臂進(jìn)行抓取??勺ト∧繕?biāo)的篩選結(jié)果如圖10所示,其中綠色邊框?yàn)樽R別的可抓取目標(biāo)。

      圖10 目標(biāo)中的可抓取目標(biāo)Fig.10 Capturable targets in target

      對于如圖10(a)所示堆疊目標(biāo)圖像,最終如圖10(a)中綠框所示檢測到一個可抓取目標(biāo)。對于如圖10(b)所示平鋪目標(biāo),選取截斷距離以及篩選閾值,最終可以檢測到3個可抓取目標(biāo)。為了便于抓取,根據(jù)每個目標(biāo)形心坐標(biāo)到圖像中心的距離進(jìn)行抓取優(yōu)先級排序,排序結(jié)果列于表4。

      表4 圖10(b)中目標(biāo)優(yōu)先級排序Table 4 Target prioritization in Figure 10(b)

      檢測出可抓取目標(biāo)之后,使用ad-census 立體匹配算法計算場景的視差圖,并根據(jù)標(biāo)定得到的相機(jī)內(nèi)外參數(shù)重建牛奶盒左上、右上、左下、右下四個特征角點(diǎn)的三維坐標(biāo)。根據(jù)目標(biāo)檢測結(jié)果將角點(diǎn)在圖像上的二維坐標(biāo)和三維坐標(biāo)進(jìn)行一一對應(yīng),最后使用PNP算法計算目標(biāo)的位姿,用齊次變換矩陣表示。結(jié)果列于表5。

      表5 圖10(b)中可抓取目標(biāo)位姿Table 5 Graspable target pose in Figure 10(b)

      計算出位姿信息之后,將每個目標(biāo)的位姿信息發(fā)送給機(jī)械臂。機(jī)械臂根據(jù)目標(biāo)的抓取優(yōu)先級、位姿信息進(jìn)行抓取。

      3 結(jié)束語

      在無序抓取應(yīng)用中,目標(biāo)檢測的準(zhǔn)確性是實(shí)現(xiàn)成功抓取的前提。然而,當(dāng)圖像中存在多個相同目標(biāo)時,容易導(dǎo)致目標(biāo)檢測失敗。為了盡可能多地從場景中正確檢測出目標(biāo),提出使用DPC聚類算法進(jìn)行多目標(biāo)檢測。首先提取模板圖像和待檢測圖像的SIFT 特征點(diǎn),使用DPC算法對特征點(diǎn)進(jìn)行聚類,將聚類后的特征點(diǎn)分別與模板圖像中的特征點(diǎn)進(jìn)行匹配,并使用RANSAC 算法去除誤匹配點(diǎn)。然后,根據(jù)每個目標(biāo)匹配點(diǎn)的數(shù)量來篩選正確的檢測目標(biāo),并根據(jù)目標(biāo)匹配點(diǎn)數(shù)量與最多匹配點(diǎn)數(shù)量的差值來篩選圖像中的可抓取目標(biāo)?;诿總€目標(biāo)的形心坐標(biāo)到圖像中心的距離來設(shè)置可抓取目標(biāo)的優(yōu)先級。最后使用立體匹配算法得到場景視差圖,計算目標(biāo)特征點(diǎn)的三維坐標(biāo),并根據(jù)三維坐標(biāo)和二維坐標(biāo)的對應(yīng)關(guān)系使用PNP 算法計算目標(biāo)的位姿信息。實(shí)驗(yàn)表明,基于DPC 聚類的特征點(diǎn)模板匹配方式能夠檢測出圖像中的多個目標(biāo),包括圖像中的被遮擋目標(biāo),并且能夠根據(jù)閾值篩選出多個目標(biāo)中的可抓取目標(biāo)。此外使用立體匹配算法結(jié)合PNP 算法能夠準(zhǔn)確地計算出目標(biāo)的位姿信息。將目標(biāo)的優(yōu)先級、位姿等信息傳輸給機(jī)械臂,可以實(shí)現(xiàn)工件的無序抓取。

      猜你喜歡
      聚類閾值數(shù)量
      小波閾值去噪在深小孔鉆削聲發(fā)射信號處理中的應(yīng)用
      統(tǒng)一數(shù)量再比較
      基于自適應(yīng)閾值和連通域的隧道裂縫提取
      基于DBSACN聚類算法的XML文檔聚類
      電子測試(2017年15期)2017-12-18 07:19:27
      比值遙感蝕變信息提取及閾值確定(插圖)
      河北遙感(2017年2期)2017-08-07 14:49:00
      室內(nèi)表面平均氡析出率閾值探討
      頭發(fā)的數(shù)量
      基于改進(jìn)的遺傳算法的模糊聚類算法
      我國博物館數(shù)量達(dá)4510家
      一種層次初始的聚類個數(shù)自適應(yīng)的聚類方法研究
      灵武市| 马尔康县| 陵川县| 安顺市| 全椒县| 深水埗区| 松溪县| 娄底市| 双鸭山市| 渑池县| 浦北县| 保山市| 隆子县| 玛曲县| 天气| 莫力| 温泉县| 曲周县| 融水| 阿瓦提县| 麻阳| 泾川县| 天峨县| 常德市| 鄱阳县| 乌兰浩特市| 保德县| 玉树县| 江安县| 南漳县| 庆安县| 八宿县| 利川市| 张北县| 铜梁县| 四川省| 自贡市| 乌兰察布市| 霍邱县| 巧家县| 黑河市|