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

?

手勢識別引導(dǎo)機(jī)械臂的零件智能裝配方法*

2022-10-26 07:03李迅波凡雷雷茹元博孫佳寧范俊飛
電子機(jī)械工程 2022年5期
關(guān)鍵詞:手勢卷積特征

李迅波,王 瑜,凡雷雷,茹元博,孫佳寧,高 翔,范俊飛

(1. 電子科技大學(xué)機(jī)械與電氣工程學(xué)院,四川成都 611731;2. 電子科技大學(xué)廣西智能制造產(chǎn)業(yè)技術(shù)研究院,廣西柳州 545003;3. 廣西津晶集團(tuán)有限責(zé)任公司,廣西柳州 545006)

引 言

智能工廠是生產(chǎn)制造領(lǐng)域的發(fā)展趨勢,為提高工廠的自動化與智能化水平,實(shí)現(xiàn)工人與機(jī)器的協(xié)同工作,相關(guān)領(lǐng)域的發(fā)展對人機(jī)協(xié)同項(xiàng)目的需求越來越大。在傳統(tǒng)裝配過程中,裝配體部件的撿取、識別、裝配等過程都是由工人手動完成的,在使用人機(jī)交互工具(鼠標(biāo)、鍵盤、觸摸屏等)時都有一定的限制,很難進(jìn)行高自由度輸入。新興的人機(jī)交互方式往往更為便利,在智能人機(jī)交互中,以交互人視角為第一視角的手勢表達(dá)發(fā)揮著重要作用,它將手勢識別引入了人機(jī)交互系統(tǒng),極大地方便了人們對智能設(shè)備的遠(yuǎn)距離控制[1]。

目前面向手勢識別的方法主要分成兩種:一是基于傳統(tǒng)機(jī)器學(xué)習(xí)和圖像處理的方法,它對復(fù)雜環(huán)境的特征提取和識別效果偏低;二是基于深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)的方法,如Faster R-CNN模型[2]、YOLO模型[3]、SSD模型[4]等,其中YOLOv3因具有較好的識別效果和較快的識別速度而備受青睞。

本文針對SSD模型提出了具有定位與分類正確率高、魯棒性強(qiáng)的智能機(jī)械臂抓取方法。將目標(biāo)檢測算法與區(qū)域分析結(jié)合起來,根據(jù)目標(biāo)檢測的結(jié)果縮小零件抓取分析范圍,結(jié)合傳統(tǒng)的圖像分析方法提出一個物體角度的抓取參考矩形框生成算法來縮短滑動窗口計算消耗的時間,提高了抓取的成功率和實(shí)時性。同時借助改進(jìn)的YOLOv3網(wǎng)絡(luò)融合姿態(tài)估計方法,對操作人員的手勢進(jìn)行實(shí)時有效的識別,以便將正確的操作指令傳達(dá)到機(jī)械臂,控制機(jī)械臂的后續(xù)檢測抓取動作。

1 基于SSD模型的零件抓取位置檢測算法

基于SSD模型的共享型卷積零件抓取位置檢測方法,建立一個具有雙網(wǎng)絡(luò)模型的目標(biāo)零件抓取位姿檢測算法。通過較少的候選框、避免過多的循環(huán)計算及利用目標(biāo)檢測模型來減小區(qū)域分析范圍從而提升整個網(wǎng)絡(luò)模型(圖1)的實(shí)時效率與準(zhǔn)確度。將包含所有信息的整張圖像分別作為兩個卷積神經(jīng)網(wǎng)絡(luò)的輸入向量,其中一個利用多目標(biāo)零件檢測網(wǎng)絡(luò)對圖像中的零件類別以及位置進(jìn)行初步的判定,從而縮小候選區(qū)域分析的范圍,另一個利用基于AlexNet的卷積神經(jīng)網(wǎng)絡(luò)對輸入向量進(jìn)行特征提取,獲取一個目標(biāo)零件的抓取位置向量。

圖1 雙網(wǎng)絡(luò)零件抓取檢測算法

訓(xùn)練數(shù)據(jù)采用康奈爾數(shù)據(jù)集[1],其中每張訓(xùn)練圖像具有不同的位置描述向量(x,y,w,h)。等待SSD算法選擇的目標(biāo)區(qū)域經(jīng)過滑動窗口生成抓取候選向量后,在AlexNet網(wǎng)絡(luò)中的卷積層進(jìn)行對應(yīng)的特征向量轉(zhuǎn)換,并利用空間金字塔池化(Spatial Pyramid Pooling, SPP)解決兩種模型大小不一致的問題。同時所有的候選矩形框全部通過AlexNet的同一卷積層計算,減少了卷積計算過程中大量的重復(fù)計算時間,訓(xùn)練過程如圖2所示。

圖2 雙網(wǎng)絡(luò)零件抓取算法的訓(xùn)練過程

完成上述過程后,再將訓(xùn)練輸出結(jié)果作為輸入向量傳入訓(xùn)練好的支持向量機(jī)(Support Vector Machine, SVM)分類器中,給出模型當(dāng)前的目標(biāo)零件抓取位置判斷結(jié)果。通過康奈爾數(shù)據(jù)集中每張訓(xùn)練圖像所包含的正負(fù)兩種樣例若干個矩形框信息,生成不同的候選矩形特征向量,使得SVM分類器的性能在正反例樣本的訓(xùn)練下變得更加準(zhǔn)確可靠。

在雙卷積網(wǎng)絡(luò)的抓取檢測基礎(chǔ)框架中,實(shí)際計算過程會耗費(fèi)較長的運(yùn)行時間,通過以下2種方法對上述基礎(chǔ)框架進(jìn)行改進(jìn),以提高框架的計算效率。

1.1 共享卷積層

雙網(wǎng)絡(luò)是針對同一輸入圖像進(jìn)行相應(yīng)的特征提取,然而如果同時使用SSD網(wǎng)絡(luò)和AlexNet網(wǎng)絡(luò)進(jìn)行圖像特征訓(xùn)練就會消耗不必要的時間,因?yàn)樵诰矸e層上,同一圖像包含的特征應(yīng)該是相似的。借鑒共享卷積層的方法,將SSD網(wǎng)絡(luò)與AlexNet網(wǎng)絡(luò)結(jié)合起來,同時使用SSD基礎(chǔ)網(wǎng)絡(luò)模型中的卷積層Conv5作為特征提取的輸出,再根據(jù)滑動窗口所產(chǎn)生的目標(biāo)零件抓取候選矩形框的位置在SPP上進(jìn)行特征向量的提取,最終作為SVM分類器的輸入完成目標(biāo)零件抓取框可行性判定。更新后的模型如圖3所示。

圖3 共享網(wǎng)絡(luò)層改進(jìn)框架

在圖3中,SSD網(wǎng)絡(luò)負(fù)責(zé)識別對應(yīng)零件的特征,而AlexNet網(wǎng)絡(luò)則負(fù)責(zé)提取零件抓取位置。采用這種方法,一個卷積神經(jīng)網(wǎng)絡(luò)就可同時完成目標(biāo)識別與抓取位置檢測2種任務(wù),同時還極大地節(jié)省了計算時間,提升了框架的實(shí)時性能。

1.2 物體角度的參考矩形框篩選

在框架進(jìn)行測試過程中,首先通過SSD網(wǎng)絡(luò)模型檢測到所需的目標(biāo)零件以及對應(yīng)的區(qū)域范圍,然后通過滑動檢測窗口的方法生成一系列候選矩形框。雖然檢測區(qū)域已通過目標(biāo)檢測網(wǎng)絡(luò)進(jìn)行了裁剪,但候選矩形框生成的數(shù)量仍然過多,因此提出了一個通過傳統(tǒng)邊緣檢測的方式實(shí)現(xiàn)物體角度的參考矩形框生成算法,以此來減少因滑動窗口而產(chǎn)生的過多的抓取位置,從而提升檢測速度。更新后的最終模型如圖4所示。

圖4 基于SSD網(wǎng)絡(luò)的零件抓取位置檢測算法框架

2 基于YOLOv3網(wǎng)絡(luò)的復(fù)雜背景手勢定位算法

采用YOLOv3[5]網(wǎng)絡(luò)來完成手勢定位的任務(wù)。YOLOv3網(wǎng)絡(luò)可將手勢所在像素區(qū)域從原始圖像中提取出來,從而保留手勢特征,剔除背景特征。YOLOv3網(wǎng)絡(luò)是一種卷積神經(jīng)網(wǎng)絡(luò)[6],網(wǎng)絡(luò)輸入為包含復(fù)雜背景的手勢圖像,輸出為定位到的手勢在原始圖像中的位置。手勢位置可由一個矩形框分離出來,根據(jù)矩形框兩個對角點(diǎn)的坐標(biāo)可確定這一矩形框。手勢定位[7]去除了復(fù)雜背景的干擾,最終僅剩下手勢區(qū)域部分圖像,有助于提升整個手勢識別系統(tǒng)的精度。

2.1 改進(jìn)的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)

YOLOv3網(wǎng)絡(luò)共由53個卷積層組成,網(wǎng)絡(luò)輸入為RGB圖像,經(jīng)過不同深度的卷積操作后,得到3個輸出層。輸入大小為416×416×3的圖像,得到如圖5所示的單輸入、三輸出結(jié)構(gòu)圖。從圖5可以看出,YOLOv3網(wǎng)絡(luò)輸入為一張RGB圖像,圖像大小為416×416×3,經(jīng)過了多層卷積操作后分別在3個不同的網(wǎng)絡(luò)深度上得到網(wǎng)絡(luò)輸出,輸出圖像大小分別為13×13×18,26×26×18,52×52×18。其中13×13×18相當(dāng)于將輸入的原始圖像劃分為了13×13個小網(wǎng)格,分別檢測每個小網(wǎng)格附近是否包含有手勢目標(biāo),并用長度為18的向量來表示目標(biāo)位置信息,其他大小圖像的輸出同理。

圖5 YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)圖

YOLOv3網(wǎng)絡(luò)利用多尺度特征進(jìn)行目標(biāo)定位,有助于提高定位精度。深層網(wǎng)絡(luò)輸出的特征圖經(jīng)過上采樣之后變大,然后與淺層網(wǎng)絡(luò)輸出的特征圖進(jìn)行特征融合拼接。由于卷積神經(jīng)網(wǎng)絡(luò)在不同的卷積深度上提取到的特征語義不同,因此這一操作可充分利用網(wǎng)絡(luò)提取到的淺層信息與深層信息進(jìn)行目標(biāo)定位,有助于定位精度的提高。

YOLOv3網(wǎng)絡(luò)采用全卷積結(jié)構(gòu),引入了殘差模塊。YOLOv3網(wǎng)絡(luò)棄用了經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)中常見的池化層和全連接層,采用了全卷積結(jié)構(gòu)。經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)中池化操作常用于特征壓縮,以減小后續(xù)模型的計算量,其缺點(diǎn)在于池化操作會造成信息丟失。YOLOv3網(wǎng)絡(luò)以卷積層代替了池化層,通過設(shè)定大于1的卷積步長來進(jìn)行特征壓縮,不會造成特征信息的直接丟失。卷積層實(shí)際上是一種稀疏連接的全連接層,YOLOv3網(wǎng)絡(luò)可以直接通過卷積操作進(jìn)行邊界框位置信息的回歸。引入經(jīng)典的殘差結(jié)構(gòu),可有效減少網(wǎng)絡(luò)退化,從而允許加深網(wǎng)絡(luò)深度,提高網(wǎng)絡(luò)的泛化能力。

2.2 基于YOLOv3網(wǎng)絡(luò)的識別流程

YOLOv3網(wǎng)絡(luò)的算法流程如圖6所示。圖中灰色立方塊表示網(wǎng)絡(luò)各層輸出的特征圖,除了圖中展示的兩處上采樣之外,YOLOv3網(wǎng)絡(luò)全部由卷積層組成。網(wǎng)絡(luò)輸入為包含復(fù)雜背景的單張RGB手勢圖像,網(wǎng)絡(luò)有3個輸出層。這3個輸出層分布在YOLOv3網(wǎng)絡(luò)的不同深度處,它們分別結(jié)合網(wǎng)絡(luò)在不同深度的圖像特征來輸出定位到的目標(biāo),最終網(wǎng)絡(luò)需要通過最大抑制算法來完成3個輸出層的輸出篩選工作,從而找出網(wǎng)絡(luò)所有輸出中的最優(yōu)結(jié)果。

圖6 YOLOv3網(wǎng)絡(luò)算法流程

YOLOv3網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò),輸入圖像的大小可以不受限制。圖6展示了輸入大小為416×416×3的圖像所得的網(wǎng)絡(luò)輸出結(jié)果。網(wǎng)絡(luò)的三類輸出圖像大小分別為13×13×18,26×26×18和52×52×18。YOLOv3網(wǎng)絡(luò)采用三輸出的結(jié)構(gòu)來提升網(wǎng)絡(luò)對圖像中各種大小目標(biāo)的定位能力,并在網(wǎng)絡(luò)中引入跳轉(zhuǎn)結(jié)構(gòu)來對不同深度的特征圖進(jìn)行特征拼接,使網(wǎng)絡(luò)能夠融合多種特征來進(jìn)行目標(biāo)定位,從而提高目標(biāo)定位精度。

2.3 手勢姿態(tài)估計模型

準(zhǔn)確定義一個手勢的姿態(tài),需要引入一種手勢姿態(tài)的表示方法。圖7展示了手勢姿態(tài)的一種表示方法。它采用21個手勢關(guān)節(jié)點(diǎn)位置來表示手勢的姿態(tài),只要能從原始圖像中獲取這21個關(guān)節(jié)點(diǎn)的具體坐標(biāo)位置,就能唯一確定這個手勢的具體姿態(tài)。

圖7 手勢姿態(tài)的表示

卷積姿態(tài)機(jī)(Convolutional Pose Machine, CPM)是一種僅由卷積層和池化層組成的卷積神經(jīng)網(wǎng)絡(luò)[8]。它通過輸入手勢圖像的特征學(xué)習(xí)到人手的隱式空間模型,由于不需要進(jìn)行特征分類,因此卷積姿態(tài)機(jī)網(wǎng)絡(luò)內(nèi)并不包含全連接層,僅采用卷積層輸出的特征圖來直接確定手勢關(guān)節(jié)點(diǎn)的位置[9]。本文利用CPM來構(gòu)建一個手勢姿態(tài)估計模型的算法流程(圖8),其關(guān)鍵步驟是根據(jù)每張置信圖的最大灰度值的坐標(biāo)來定位關(guān)節(jié)點(diǎn)。

圖8 卷積姿態(tài)機(jī)進(jìn)行姿態(tài)估計算法流程

將構(gòu)建后的CPM模型融入到Resnet-50手勢分類模型中,如圖9所示。模型輸入為無復(fù)雜背景的手勢圖像,通過YOLOv3網(wǎng)絡(luò)進(jìn)行手勢定位。由于CPM姿態(tài)估計網(wǎng)絡(luò)與Resnet-50網(wǎng)絡(luò)的輸入圖像大小不同,CPM手勢姿態(tài)估計網(wǎng)絡(luò)輸入圖像大小要求為256×256×3,Resnet-50網(wǎng)絡(luò)輸入圖像大小要求為224×224×3,因此需要對圖像進(jìn)行縮放以獲得相應(yīng)大小的圖像。為保證縮放時圖像中手勢不會因拉伸而變形,本文采樣黑色填充的方法填充縮放前圖像的邊界使其成為正方形。

圖9 融合姿態(tài)估計的手勢分類模型構(gòu)成

3 實(shí)驗(yàn)結(jié)果與分析

手勢識別流程見圖10。首先采用基于YOLOv3網(wǎng)絡(luò)的手勢定位模型進(jìn)行復(fù)雜背景圖像的手勢定位,得到手勢特征;然后基于Resnet-50網(wǎng)絡(luò)對手勢特征進(jìn)行手勢分類識別;接著將識別結(jié)果發(fā)送至LabView中,得到相應(yīng)的指令;最后將指令打包發(fā)送到機(jī)械臂,控制機(jī)械臂運(yùn)動,機(jī)械臂對目標(biāo)進(jìn)行位置檢測,再進(jìn)行相應(yīng)的抓取動作。

圖10 手勢識別零件抓取流程圖

人機(jī)交互流程:Dobot M1機(jī)械臂支持網(wǎng)線連接,故用網(wǎng)線連接主機(jī)與機(jī)械臂后,再配置機(jī)械臂的具體參數(shù)。獲取主機(jī)及機(jī)械臂的IP地址,將其作為Lab-View中上下位機(jī)的通信地址,準(zhǔn)備接收來自PC端的識別手勢后的指令。

主函數(shù)由一個內(nèi)含條件結(jié)構(gòu)的while循環(huán)結(jié)構(gòu)組成,攝像頭對指定區(qū)域內(nèi)的手勢動作不斷進(jìn)行識別,將識別結(jié)果通過端口發(fā)送到LabView中。LabView得到轉(zhuǎn)化為字符串的語音信號中的有效指令,之后再發(fā)送數(shù)據(jù)包到機(jī)械臂,控制機(jī)械臂運(yùn)動。主函數(shù)中的條件結(jié)構(gòu)分為4個分支:

1)“開始”分支。主函數(shù)識別手勢動作并接收到“start”指令,主機(jī)通過UDP接口將IP地址發(fā)送至機(jī)械臂,機(jī)械臂開始工作,并通過UDP向機(jī)械臂發(fā)送初始位置坐標(biāo)字符串,操縱機(jī)械臂運(yùn)行到事先設(shè)置好的初始位置。播放相應(yīng)零件裝配的教學(xué)視頻。

2)“抓取”分支。主函數(shù)識別手勢動作并接收到“get”指令,主機(jī)向機(jī)械臂發(fā)送指令,將機(jī)械臂運(yùn)行到假定零件的初始位置,執(zhí)行抓取動作,然后移動至假定零件的目標(biāo)位置,并執(zhí)行放置零件動作。

3)“結(jié)束”分支。主函數(shù)識別手勢動作并接收到“finish”指令,主機(jī)將教學(xué)視頻路徑和“抓取”坐標(biāo)初始化,并回到“開始”分支的初始位置。

4)“錯誤”分支。主函數(shù)識別手勢動作并接收到“silence”或“unknown”指令,機(jī)械臂不執(zhí)行任何操。

對零件智能系統(tǒng)中的抓取控制部分進(jìn)行性能測評,主要測評抓取成功率與分揀識別成功率。分揀識別表示系統(tǒng)在順序識別零件上是否具有穩(wěn)定的性能,抓取成功率則表示抓取位置檢測算法的實(shí)際零件抓取邊框的精確度。實(shí)驗(yàn)按照裝配順序?qū)?種零件進(jìn)行了20次實(shí)驗(yàn),每次更換零件的位姿與位置,所得實(shí)驗(yàn)數(shù)據(jù)見表1。從表1可知,通用零件的總體識別率達(dá)到了94.1%,而機(jī)械臂的抓取成功率達(dá)到94%,證明將YOLOv3網(wǎng)絡(luò)復(fù)雜背景手勢定位算法應(yīng)用到零件抓取任務(wù)中是可行的,基本可以應(yīng)用于工業(yè)實(shí)際零件抓取。

表1 六種零件實(shí)驗(yàn)數(shù)據(jù)記錄

4 結(jié)束語

本文以SSD模型為基礎(chǔ),結(jié)合該模型在多目標(biāo)零件檢測實(shí)驗(yàn)中的結(jié)果,提出了一個基于SSD模型的零件抓取位置檢測算法。首先通過目標(biāo)檢測模型給出當(dāng)前圖像中零件種類與對應(yīng)位置,通過共享型卷積的思想將SSD卷積層輸出作為抓取框特征提取網(wǎng)絡(luò)的輸出,以縮短重復(fù)的卷積操作時間;然后通過空間金字塔池化將數(shù)據(jù)集中的矩形框正負(fù)樣例集轉(zhuǎn)化為特征向量,作為支持向量機(jī)的輸入樣例進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果作為最終選擇抓取位置的判定條件。

基于YOLOv3網(wǎng)絡(luò)的手勢定位模型進(jìn)行復(fù)雜背景圖像的手勢定位,得到手勢特征;然后基于Resnet-50網(wǎng)絡(luò)對手勢特征進(jìn)行手勢分類識別,機(jī)械臂將識別結(jié)果轉(zhuǎn)化為相應(yīng)的動作指令,對目標(biāo)位置進(jìn)行檢測,執(zhí)行抓取動作,供操作人員完成裝配。實(shí)驗(yàn)證明,該算法能夠?qū)崟r檢測手勢,并且按照手勢對應(yīng)的指令順序完成對應(yīng)零件的抓取。算法的設(shè)計保證了高準(zhǔn)確率和實(shí)時性,能夠滿足零件柔性裝配[10]的需求。

猜你喜歡
手勢卷積特征
根據(jù)方程特征選解法
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實(shí)現(xiàn)
卷積神經(jīng)網(wǎng)絡(luò)的分析與設(shè)計
挑戰(zhàn)!神秘手勢
從濾波器理解卷積
不忠誠的四個特征
V字手勢的由來
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
抓住特征巧觀察
勝利的手勢
通渭县| 赣州市| 罗定市| 昂仁县| 肇东市| 镇坪县| 泗阳县| 九龙城区| 商洛市| 枣强县| 上饶县| 海丰县| 南宁市| 黎平县| 自治县| 龙川县| 革吉县| 元谋县| 鄢陵县| 新泰市| 桂林市| 鹿邑县| 乌兰浩特市| 新龙县| 溧阳市| 岑巩县| 方正县| 古交市| 湟中县| 莲花县| 六盘水市| 汪清县| 云安县| 锡林浩特市| 阿瓦提县| 平潭县| 那坡县| 勐海县| 石屏县| 合水县| 开阳县|