国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

物料搬運(yùn)機(jī)器人的快速視覺識(shí)別技術(shù)研究

2023-11-22 15:29:26朱志偉張淋毛翔舶侯群周俊
現(xiàn)代信息科技 2023年19期
關(guān)鍵詞:視覺識(shí)別圖像處理

朱志偉 張淋 毛翔舶 侯群 周俊

摘? 要:智能物料搬運(yùn)機(jī)器人在化工、醫(yī)藥、物流等行業(yè)中得到了廣泛的應(yīng)用。智能物料搬運(yùn)機(jī)器人可提供定位、移動(dòng)避障、路徑規(guī)劃、物料識(shí)別、二維碼識(shí)別、信息接收等重要功能。其中視覺識(shí)別是機(jī)器人運(yùn)轉(zhuǎn)中非常重要的一個(gè)環(huán)節(jié)。文章基于OpenMV模塊對(duì)物料顏色識(shí)別和二維碼識(shí)別進(jìn)行深入的研究,對(duì)識(shí)別技術(shù)方法進(jìn)行相應(yīng)的改進(jìn)和優(yōu)化。在相應(yīng)場(chǎng)景中拍照選取合適顏色閾值,對(duì)二維碼圖像進(jìn)行預(yù)處理后完成譯碼,提高機(jī)器人識(shí)別的速度和準(zhǔn)確率。

關(guān)鍵詞:視覺識(shí)別;OpenMV;物料搬運(yùn);圖像處理

中圖分類號(hào):TP391.4;TP242 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2023)19-0099-04

Research on Fast Visual Recognition Technology for Material Handling Robot

ZHU Zhiwei, ZHANG Lin, MAO Xiangbo, HOU Qun, ZHOU Jun

(School of Artificial Intelligence, Jianghan University, Wuhan? 430056, China)

Abstract: Intelligent material handling robots have been widely used in industries such as chemical industry, pharmaceutical industry, and logistics industry. Intelligent material handling robots can provide important functions such as positioning, mobile obstacle avoidance, path planning, material identification, QR code identification, and information reception. Visual recognition is a very important part of robot operation. This paper conducts in-depth research on material color identification and QR code identification based on the OpenMV module, and correspondingly improves and optimizes the recognition technology and methods. Select the appropriate color threshold for taking photos in the corresponding scene, preprocess the QR code image, and complete decoding to improve the speed and accuracy of robot recognition.

Keywords: visual recognition; OpenMV; material handling; image processing

0? 引? 言

近年來(lái),大學(xué)生工程訓(xùn)練競(jìng)賽非常熱門,其中便包含智能物流搬運(yùn)賽項(xiàng)。該賽項(xiàng)目的為設(shè)計(jì)物料搬運(yùn)機(jī)器人,其通過(guò)掃描二維碼或Wi-Fi網(wǎng)絡(luò)通信等方式領(lǐng)取搬運(yùn)任務(wù),在指定的工業(yè)場(chǎng)景內(nèi)行走與避障,并按任務(wù)要求將物料搬運(yùn)至指定地點(diǎn)并精準(zhǔn)擺放。物料搬運(yùn)機(jī)器人在生活中是十分常見的項(xiàng)目,運(yùn)用于各行各業(yè)。看似小巧簡(jiǎn)單,卻可以提高效率,節(jié)省人力成本,適應(yīng)對(duì)于人來(lái)說(shuō)的惡劣環(huán)境??梢姡锪蠙C(jī)器人的研究是具有重大意義的。其中,物料搬運(yùn)機(jī)器人在工作場(chǎng)景中獲取相關(guān)信息,抓取運(yùn)送物料都需要依賴于攝像頭的視覺識(shí)別技術(shù)。

本文主要基于大學(xué)生工程訓(xùn)練競(jìng)賽項(xiàng)目,使用低成本、適用性更高的OpenMV模塊,對(duì)于機(jī)器人工作過(guò)程中的物料識(shí)別和二維碼識(shí)別進(jìn)行深入研究。在物料的顏色識(shí)別中利用閾值色塊比對(duì)來(lái)識(shí)別目標(biāo)物料。利用OpenMV模塊內(nèi)置函數(shù)庫(kù)對(duì)二維碼灰度化、中值濾波、二值化、開運(yùn)算處理后進(jìn)行識(shí)別譯碼,提高視覺識(shí)別的準(zhǔn)確率。物料搬運(yùn)機(jī)器人系統(tǒng)組成如圖1所示。

1? 顏色識(shí)別

顏色識(shí)別部分主要是在物料機(jī)器人接受任務(wù)后,移動(dòng)至物料區(qū)進(jìn)行物料分辨抓取。該部分使用到OpenMV模塊。OpenMV是一款可編程攝像頭模塊,內(nèi)置了豐富的數(shù)字圖像處理算法庫(kù)函數(shù),使用單片機(jī)處理器與其接口可以非常容易調(diào)用內(nèi)部庫(kù)函數(shù)。

在比賽中,用到的物料有紅、綠、藍(lán)三種顏色并且它們的形狀大小相同。因此在物料識(shí)別的過(guò)程中主要考慮區(qū)分顏色進(jìn)行識(shí)別物料。在顏色的識(shí)別過(guò)程中,通過(guò)閾值進(jìn)行二值化處理之后,形成簡(jiǎn)潔的二值圖像來(lái)分辨確認(rèn)識(shí)別顏色。

第一步要進(jìn)行的是顏色閾值的選取,需要利用到OpenMV IDE中的閾值編輯器。使用OpenMV攝像頭對(duì)物料進(jìn)行拍照,上傳至閾值編輯器中,得出相對(duì)應(yīng)顏色閾值結(jié)構(gòu)color =(MinL,MaxL,MinA,MaxA,MinB,MaxB),元組里面的數(shù)值分別是LAB的最大值和最小值。首先采集紅色物料的閾值范圍,拖動(dòng)編輯器中LAB值的滑動(dòng)選擇按鈕,使紅色物料在右側(cè)的二進(jìn)制圖像顯示成白色,得出紅色物料的LAB閾值為(44,75,8,77,-44,21)。使用同樣的方法得出綠色物料的LAB閾值為(50,60,-48,-30,15,38)、藍(lán)色物料的LAB閾值為(61,95,-23,-10,-30,-10)。然后利用OpenMV內(nèi)置函數(shù)庫(kù)中的image.find_blods()函數(shù)對(duì)色塊進(jìn)行查找,比對(duì)色塊和相應(yīng)閾值范圍來(lái)確認(rèn)物料顏色。識(shí)別到綠色物料的情況如圖2所示。部分實(shí)驗(yàn)代碼如下:

red_thredshold = (44, 75, 8, 77, -44, 21)

blue_thredshold = (61, 95, -23, -10, -30, -10)

green_thredshold =(50, 60, -48, -30, 15, 38)

img = sensor.snapshot()

color_blobs=img.find_blobs([red_thredshold,blue_thredshold,green_thredshold], x_stride=25, y_stride=50, area_threshold=1000)

#x_stride為查找色塊x方向上最小寬度像素。

#y_stride為查找色塊y方向上最小寬度像素。

#area_threshold為面積閾值,如果被框中面積小于此值,將會(huì)被過(guò)濾。

2? 二維碼識(shí)別

在比賽環(huán)節(jié)中,物料搬運(yùn)機(jī)器人通過(guò)掃描給定的二維碼來(lái)獲取搬運(yùn)任務(wù)的信息。二維碼以黑白相間的方格進(jìn)行存儲(chǔ)信息,可以儲(chǔ)存漢字、數(shù)字、照片等信息,信息儲(chǔ)存量大,保密性和可靠性也很高。為了提高二維碼在識(shí)別過(guò)程中的準(zhǔn)確性和快速性,先對(duì)二維碼進(jìn)行圖像預(yù)處理后再進(jìn)行后續(xù)譯碼步驟。二維碼圖像處理流程如圖3所示。

2.1? 圖像灰度化

普通圖像使用紅(R)、綠(G)、藍(lán)(B)三種基礎(chǔ)色進(jìn)行混合疊加形成各種顏色。該圖像中的每個(gè)像素點(diǎn)均會(huì)占到三個(gè)字節(jié)來(lái)表示顏色的RGB,占用的存儲(chǔ)空間更大。二維碼是由0、1編碼組成的黑白圖像,對(duì)其進(jìn)行灰度化處理后,可以大大減少計(jì)算機(jī)的運(yùn)算量從而提高運(yùn)算速度,并且在識(shí)別過(guò)程中不會(huì)產(chǎn)生任何影響。在OpenMV模塊中可以直接調(diào)用image.GRAYSCALE()函數(shù)拍攝灰度圖像。部分代碼如下:

sensor.reset()

sensor.set_pixformat(sensor.GRAYSCALE)#設(shè)置圖像灰度格式

2.2? 中值濾波

由于成像系統(tǒng)、傳輸介質(zhì)和記錄設(shè)備的不完善,圖像往往會(huì)受到各種噪聲的污染。一般噪聲通常表現(xiàn)為明顯孤立的像素點(diǎn)或像素塊。中值濾波器將處理像素鄰域中的像素使用中值來(lái)代替,使像素的灰度值與周圍鄰域像素比更加接近,從而消除孤立的噪聲點(diǎn),達(dá)到很好的濾波效果。具體方法是使用某種結(jié)構(gòu)的二維滑動(dòng)模板,將模板內(nèi)像素按照像素值的大小進(jìn)行排序,生成單調(diào)的二維數(shù)據(jù)序列。二維中值濾波輸出公式為:

g (x,y) = med{ f (x - i,y - i)},(i,j) ∈ S

其中,f (x,y)、g (x,y)分別表示原始圖像和處理后圖像。S表示模板窗口,通常為3×3,5×5區(qū)域,也可以是不容的形狀,如線狀、圓形、十字形、圓環(huán)形等。

在OpenMV中,通常調(diào)用img.median()函數(shù)運(yùn)行中值濾波。部分代碼如下:

while(True):

clock.tick()

img = sensor.snapshot()

img.median(1, percentile=0.5)

#第一個(gè)參數(shù)“1”為內(nèi)核大小。N對(duì)應(yīng)于((N×2) + 1)2的內(nèi)核大小。

#percentile控制內(nèi)核使用值的百分位數(shù),從N×N鄰域中選擇。

#默認(rèn)情況下使用各像素相鄰的中心替換,即0.5。

2.3? 二值化

二值化處理是指把原本彩色圖像矩陣中的像素點(diǎn)RGB值變成黑色或白色。二值化處理后使原本的顏色范圍從256種精簡(jiǎn)到2種,提高計(jì)算速度。在二值化處理過(guò)程用,使用到大律法,其處理速度更快,能夠較好地保留目標(biāo)物體的形狀,輪廓清晰、容易辨認(rèn)。

在OpenMV的代碼編寫中用到img.binary(thresholds, invert=False)函數(shù),它通過(guò)遍歷灰度圖像中的像素點(diǎn),判斷像素是否位于閾值列表thresholds的范圍內(nèi),將圖像中的所有像素設(shè)置為黑色或白色。thresholds必須為元組列表。對(duì)于灰度圖像,每個(gè)元組中需要設(shè)置最小灰度值、最大灰度值,只考慮落在這些閾值范圍內(nèi)的像素區(qū)域。處理完成后的二值化圖像如圖4所示。

2.4? 形態(tài)學(xué)處理

形態(tài)學(xué)圖像處理的基本操作包括膨脹、腐蝕、開閉操作、TOP-HAT變換、黑帽變換等。主要應(yīng)用于噪聲消除、邊界提取、區(qū)域填充、細(xì)化、粗化等。最常用到的是膨脹和腐蝕。而膨脹和腐蝕的組合便形成了開運(yùn)算和閉運(yùn)算。

本文使用到開運(yùn)算(先腐蝕后膨脹)處理,用于消除圖像中的小物體,在細(xì)長(zhǎng)的點(diǎn)上分離物體,并平滑較大物體的邊界,而不會(huì)顯著改變它們的面積和形狀。

本文實(shí)驗(yàn)代碼利用img.erode(size, threshold=Auto)函數(shù)對(duì)圖像邊緣進(jìn)行侵蝕,從分割區(qū)域的邊緣刪除像素,去除邊緣相鄰處多余的點(diǎn)。其通過(guò)卷積圖像上((size×2) + 1)2像素核來(lái)實(shí)現(xiàn),如相鄰的像素集的總和小于threshold,則對(duì)內(nèi)核中心像素進(jìn)行歸零。size為內(nèi)核的大小。threshold用來(lái)設(shè)置去除相鄰點(diǎn)的個(gè)數(shù),threshold數(shù)值越大,被侵蝕掉的邊緣點(diǎn)越多,邊緣旁邊白色雜點(diǎn)少;數(shù)值越小,被侵蝕掉的邊緣點(diǎn)越少,邊緣旁邊的白色雜點(diǎn)越多。腐蝕處理完后圖像如圖5所示。

利用img.dilate(size, threshold=Auto)函數(shù)對(duì)圖像邊緣進(jìn)行膨脹。threshold用來(lái)設(shè)置去除相鄰點(diǎn)的個(gè)數(shù),threshold數(shù)值越大,邊緣越膨脹;數(shù)值越小,邊緣膨脹的小。通過(guò)開運(yùn)算處理后,圖像更加清晰,更容易識(shí)別。膨脹處理完后圖像如圖6所示。

2.5? 譯碼

在二維碼的譯碼工作中,首先尋找二維碼三個(gè)角的正方形開始定位,定位后獲取符號(hào)圖像。深色于淺色分別為“0”和“1”。然后讀取格式版本信息,根據(jù)模塊的排列規(guī)則讀取符號(hào)字符,恢復(fù)信息的數(shù)據(jù)和糾錯(cuò)碼字。利用糾錯(cuò)碼字檢測(cè)對(duì)應(yīng)的信息,發(fā)現(xiàn)并更改錯(cuò)誤。最后按照模式指示符和字符計(jì)數(shù)指示符劃分?jǐn)?shù)據(jù)碼字,按照模式譯碼翻譯出數(shù)據(jù)字符并輸出結(jié)果。最終二維碼識(shí)別輸出結(jié)果如圖7所示。

在OpenMV中可以直接調(diào)用img.find_qrcodes()函數(shù)進(jìn)行譯碼。部分實(shí)驗(yàn)代碼如下:

while(True):

img=sensor.snapshot()

img.lens_corr(1.8)

for code in img.find_qrcodes():

output_str="%s" % code.payload()

#output_str為二維碼內(nèi)容

3? 結(jié)? 論

本文針對(duì)大學(xué)生工程訓(xùn)練大賽中物料搬運(yùn)項(xiàng)目視覺識(shí)別部分問(wèn)題,對(duì)物料的顏色識(shí)別、二維碼識(shí)別進(jìn)行優(yōu)化改進(jìn)。在顏色識(shí)別的部分,通過(guò)對(duì)圖像處理、拍攝對(duì)應(yīng)環(huán)境下的物料圖像,選取合適的顏色閾值,使識(shí)別更加精準(zhǔn)。在二維碼識(shí)別部分,探討圖像處理過(guò)程和二維碼譯碼步驟,優(yōu)化圖像處理方法完成二維碼快速識(shí)別。提高視覺識(shí)別的準(zhǔn)確率和識(shí)別速度,有利于完成比賽任務(wù),提高比賽成績(jī)。

參考文獻(xiàn):

[1] 夏勝杰,楊昊,艾偉清.基于Arduino單片機(jī)和OpenMV的顏色目標(biāo)定位與跟蹤小車的設(shè)計(jì)與實(shí)現(xiàn) [J].常熟理工學(xué)院學(xué)報(bào),2021,35(5):59-64.

[2] 耿浩楠,周磊,劉新成,等.基于OpenMV的二維碼檢測(cè)技術(shù)在自動(dòng)分揀系統(tǒng)中的應(yīng)用 [J].工業(yè)控制計(jì)算機(jī),2022,35(12):11-13.

[3] 彭洋洋,周苗,陳航.二維碼識(shí)別技術(shù)在快遞簽收中的應(yīng)用 [J].軟件,2019,40(8):49-51.

[4] 胡鈴樟.基于手機(jī)二維碼的倉(cāng)庫(kù)管理系統(tǒng)研究 [J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(3):13+16.

[5] 曾一凡,楊振南,王亞勇.基于STM32的智能物料搬運(yùn)機(jī)器人的設(shè)計(jì) [J].儀器儀表用戶,2023,30(1):9-12.

[6] 張佳路,任彬,趙增旭.基于顏色識(shí)別的智能物料搬運(yùn)機(jī)器人 [J].自動(dòng)化應(yīng)用,2020(1):59-61.

作者簡(jiǎn)介:朱志偉(2001—),男,漢族,湖北孝感人,本科在讀,研究方向:人工智能。

收稿日期:2023-04-07

基金項(xiàng)目:湖北省大學(xué)生創(chuàng)新創(chuàng)業(yè)計(jì)劃項(xiàng)目(S202211072068)

猜你喜歡
視覺識(shí)別圖像處理
基于圖像處理的機(jī)器人精確抓取的設(shè)計(jì)與實(shí)現(xiàn)
機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:20
模糊圖像處理,刑事偵查利器
圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
傳統(tǒng)春節(jié)視覺意象設(shè)計(jì)理論問(wèn)題思考
試論品牌經(jīng)濟(jì)時(shí)代的城市形象設(shè)計(jì)要點(diǎn)
科技視界(2016年26期)2016-12-17 20:47:02
高校文化建設(shè)中視覺識(shí)別系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)
宜賓旅游形象識(shí)別系統(tǒng)研究
基于視覺識(shí)別時(shí)代的學(xué)校美術(shù)課程
今傳媒(2016年9期)2016-10-15 23:19:42
基于圖像處理的定位器坡度計(jì)算
電氣化鐵道(2016年4期)2016-04-16 05:59:46
瑞金市| 互助| 淮南市| 龙口市| 阳城县| 武功县| 漳浦县| 甘洛县| 聊城市| 共和县| 镇江市| 遵义市| 石景山区| 石狮市| 南召县| 普宁市| 陇西县| 本溪| 恭城| 通江县| 清镇市| 宝丰县| 衡水市| 岳池县| 休宁县| 石嘴山市| 临湘市| 梨树县| 柳林县| 桃江县| 偏关县| 广州市| 囊谦县| 交城县| 武汉市| 稷山县| 崇义县| 阳朔县| 嘉禾县| 莆田市| 兴城市|