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

?

基于機械臂的化學(xué)物品定位與分類

2021-10-18 09:56馬興錄張興強
計算機與現(xiàn)代化 2021年10期
關(guān)鍵詞:試管標(biāo)簽文字

馬興錄,張興強,王 濤

(青島科技大學(xué)信息科學(xué)技術(shù)學(xué)院,山東 青島 266061)

0 引 言

機械臂技術(shù)經(jīng)過近幾年的快速發(fā)展,已經(jīng)成為一種融合多學(xué)科的現(xiàn)代化工業(yè)技術(shù)。機械臂的抓取能力是機械臂的一項基本能力。在機械臂的視覺抓取研究中,物體目標(biāo)檢測識別技術(shù)是機械臂視覺抓取的關(guān)鍵。但是對于化學(xué)試管、燒杯、玻璃瓶等透明物體,由于其具有折射性與高光性,不符合經(jīng)典視覺算法中的幾何光路假設(shè),這使得深度相機很難對透明物體進行精確的深度估算,從而難以獲知其三維空間中的坐標(biāo)[1]。對于透明物體的識別定位,Chen等人[2]提出了使用SIFT特征從提取的RGB圖像與IR圖像中識別透明物體的候選分類算法。Seib等人[3]提出了一種利用深度圖像中的傳感器故障用CNN進行透明物體定位的方法。Sajjan等人[4]提出了通過建立大規(guī)模合成的RGB-D數(shù)據(jù)集使用Clear Grasp算法推斷透明物體表面法線、透明表面的掩模和邊界的方法。雖然現(xiàn)階段有研究致力于使用3D數(shù)據(jù)識別透明物體,但這些算法不能立即應(yīng)用于透明物體上。針對化學(xué)實驗場景下化學(xué)試管等透明玻璃儀器貼有標(biāo)簽的現(xiàn)狀,本文提出先通過YOLOv3算法識別深度相機拍的RGB圖像上的化學(xué)試管上貼紙標(biāo)簽,獲取其在圖像坐標(biāo)系的二維坐標(biāo)(u,v),與此同時獲取其在深度圖像中貼紙標(biāo)簽的深度值(即相機與試管之間的距離值),然后通過相機成像原理公式完成坐標(biāo)轉(zhuǎn)換,即可得到化學(xué)試管在空間中的三維坐標(biāo),機械臂抓手即可運動至化學(xué)試管處。針對化學(xué)試管內(nèi)裝有不同的化學(xué)試劑,本文通過CTPN+BLSTM+CTC Loss算法對試管標(biāo)簽上的文字進行文字識別從而完成對試管的分類。

1 系統(tǒng)整體設(shè)計

1.1 系統(tǒng)運作流程

系統(tǒng)的主要運作流程如下:首先深度相機的RGB圖像識別實驗桌上的化學(xué)試管上的貼紙標(biāo)簽,確定其二維坐標(biāo),然后通過深度相機的深度圖獲取其深度值,之后通過相機成像公式完成坐標(biāo)轉(zhuǎn)換從而得到各個化學(xué)儀器在世界坐標(biāo)系下的三維坐標(biāo)。由于深度相機與標(biāo)簽距離較遠且標(biāo)簽上的化學(xué)物質(zhì)名文字較小,難以通過深度相機上的RGB圖像進行文字識別,所以本文在機械臂末端抓手處放置一個單目高清相機。末端抓手運動至化學(xué)試管水平方向處拍攝高清圖像用以識別貼紙上的手寫化學(xué)物質(zhì)名從而獲取化學(xué)試管內(nèi)的試劑類別。最后機械臂對指定類別的化學(xué)試劑進行抓取。抓取過程如圖1所示。

圖1 系統(tǒng)抓取方案圖

1.2 系統(tǒng)總體架構(gòu)

系統(tǒng)總體架構(gòu)如圖2所示。

圖2 系統(tǒng)總體架構(gòu)

1.2.1 硬件層

1)深度相機。采用奧比中光的Astra深度相機。深度圖像與RGB圖像分辨率均為640×480,30 fps,探測距離在0.4 m~8 m。單目高清相機分辨率為1280×720,用于手寫文字識別。

2)服務(wù)器端。采用Nvidia Titan XP顯卡,用于獲取目標(biāo)檢測算法的位置信息與手寫文字識別的計算。

3)搭載ROS(Robot Operating System)的六軸機械臂,控制板為樹莓派3B+,ROS系統(tǒng)集成各種機器人開發(fā)工具包,方便機械臂視覺抓取開發(fā)。

1.2.2 驅(qū)動層

驅(qū)動層包括深度相機驅(qū)動、高清相機驅(qū)動、電機驅(qū)動以及可編程邏輯。

1.2.3 操作系統(tǒng)層

ROS機器人操作系統(tǒng)主要用于功能實現(xiàn)與數(shù)據(jù)采集。功能實現(xiàn)主要是目標(biāo)檢測算法與文字檢測識別算法的實現(xiàn)。

2 算法研究與設(shè)計

實現(xiàn)視覺抓取的關(guān)鍵是獲取被抓物體的位置信息與類別信息。對于透明物體而言,由于其具有折射性與透光性以及儀器內(nèi)的部分化學(xué)溶液試劑無色透明,從而導(dǎo)致其難以被深度相機獲取深度信息。如圖3所示,黑色部分無法獲取深度信息,白色部分可以獲取深度信息。

(a) 無標(biāo)簽的試管

(b) 有標(biāo)簽的化學(xué)試管

在化學(xué)實驗場景下,燒杯、試管、溶液瓶等儀器上都貼有標(biāo)簽以區(qū)分不同溶液,故本文用基于深度學(xué)習(xí)YOLOv3 Tiny算法訓(xùn)練一個化學(xué)標(biāo)簽?zāi)繕?biāo)檢測模型以獲取其在RGB圖像下的位置信息,從而獲得其在深度圖像下的深度信息。

2.1 化學(xué)標(biāo)簽貼紙目標(biāo)檢測算法

化學(xué)標(biāo)簽的檢測識別采用YOLOv3 Tiny[5]算法。對于傳統(tǒng)的目標(biāo)檢測算法,一般需要首先在給定的圖像上進行區(qū)域選擇,然后再利用SIFT或ORB等特征描述子對這些區(qū)域進行特征提取,最后使用訓(xùn)練好的分類器進行分類,這種方法一般過程繁瑣,識別效果也不好,魯棒性較差[6]。常見的基于深度學(xué)習(xí)的目標(biāo)檢測算法有2類:一類是兩階段(two stage)的目標(biāo)檢測算法,主要代表有R-CNN、Fast R-CNN、Mask R-CNN等;另一類是端到端(one stage)的目標(biāo)檢測算法,主要代表有SSD、YOLO系列等[7]。

YOLO[8]是基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測算法,YOLOv3[9]將單個CNN用于整張圖像,利用圖像全局信息進行評估,并通過多級預(yù)測,解決原始YOLO算法中檢測小型目標(biāo)不佳的問題,對于本文要解決的化學(xué)標(biāo)簽這種小目標(biāo)具有良好的適用性。與此同時YOLO的檢測速度相較于Faster R-CNN、SSD等也更快[10]。

YOLOv3 Tiny相比YOLOv3雖然檢測精度下降,但是運行速度大幅提高。本文在YOLOv3 Tiny目標(biāo)檢測算法的基礎(chǔ)上進行改進,從而提高對化學(xué)標(biāo)簽貼紙的檢測精度。

2.1.1 算法改進

本文算法具體改進過程如下:

1)本文主要使用目標(biāo)檢測算法檢測化學(xué)標(biāo)簽貼紙,考慮到化學(xué)標(biāo)簽貼紙在圖像中的尺寸較小,所以需要提高對標(biāo)簽貼紙這樣的小目標(biāo)的檢測準(zhǔn)確率。本文對網(wǎng)絡(luò)淺層的特征提取階段進行改進,提高對淺層特征圖的特征提取能力。前幾層的卷積的特征圖相比后邊幾層卷積后的特征圖包含更多的小目標(biāo)的邊界以及紋理特征,更適合對小目標(biāo)進行特征提取。去掉原有網(wǎng)絡(luò)中的第二個最大池化層。在第三層卷積之后增加一個卷積層,作為第四層卷積,卷積核尺寸為3×3,步長為1,保持特征通道維度。

2)增加殘差單元模塊。為了能夠提高目標(biāo)檢測的精度,同時減少卷積層的計算量,對原有的網(wǎng)絡(luò)結(jié)構(gòu)增加殘差單元,本殘差單元由3個CBM(Conv+BN+Mish)結(jié)構(gòu)組成,即卷積層、批量歸一化、激活函數(shù),如圖4所示。改進的網(wǎng)絡(luò)增加了網(wǎng)絡(luò)的深度,提高了檢測的精度,網(wǎng)絡(luò)的輕量化也得以保持。

圖4 殘差單元結(jié)構(gòu)

3)激活函數(shù)更換為Mish[11]。Mish函數(shù)是非單調(diào)函數(shù),這可以使得輸出保持小的負值,進而穩(wěn)定網(wǎng)絡(luò)的梯度流,使神經(jīng)元得到有效更新。

改進后的網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。

圖5 改進后的YOLOv3 Tiny網(wǎng)絡(luò)結(jié)構(gòu)圖

2.1.2 數(shù)據(jù)集采集與制作

由于未發(fā)現(xiàn)公開的帶有化學(xué)標(biāo)簽的化學(xué)儀器的數(shù)據(jù)集,所以需要自建數(shù)據(jù)集。數(shù)據(jù)來源分2類,一類是在化學(xué)實驗室場景用相機拍攝的化學(xué)標(biāo)簽的圖片,另一類是人工自建的化學(xué)標(biāo)簽數(shù)據(jù)集。為提高實驗準(zhǔn)確率,需要在不同的顏色背景、不同的光照強度、不同數(shù)量的化學(xué)標(biāo)簽等自然場景條件下進行拍攝。數(shù)據(jù)采集完成后用LabelImg軟件進行標(biāo)注,軟件輸出為Pascal VOC格式的XML標(biāo)注數(shù)據(jù)文件。XML文件都放置到VOC數(shù)據(jù)集里面的Annotations文件夾中,最后轉(zhuǎn)換為YOLO格式的txt文件。

2.1.3 模型訓(xùn)練

本次實驗在TensorFlow框架進行,機器的配置如下:Ubuntu 16.04、Nvidia Titan XP 8 GB內(nèi)存顯存。訓(xùn)練流程如下:訓(xùn)練采用遷移學(xué)習(xí)的思想,實驗在VOC2007數(shù)據(jù)集上訓(xùn)練好的預(yù)訓(xùn)練模型上進行初始化訓(xùn)練,采用Adam優(yōu)化器優(yōu)化參數(shù),初始學(xué)習(xí)率為1e-4,根據(jù)計算機GPU和內(nèi)存的使用設(shè)置batch_size為16。學(xué)習(xí)率隨著每次迭代更新而下降。實驗訓(xùn)練1600步取得較好效果,total loss降低為0.3165,GIoU loss降低為0.5421。最終訓(xùn)練平均準(zhǔn)確率為90.87%。訓(xùn)練損失函數(shù)曲線如圖6所示,隨著實驗迭代次數(shù)增加,損失值最終趨于平穩(wěn)。

圖6 損失函數(shù)曲線

由于光照對于物體識別的影響較大,所以在測試時需要先對圖片進行處理。本文采用伽馬校正對光照明亮與黑暗場景的圖片進行處理。伽馬校正用來對照相機等電子設(shè)備傳感器的非線性光電轉(zhuǎn)換特性進行校正。如果圖像原樣顯示在顯示器等設(shè)備上,畫面就會顯得很暗。伽馬校正通過預(yù)先增大RGB的值來排除影響,達到對圖像校正的目的。伽馬校正公式為:

(1)

其中,c為常數(shù),一般設(shè)為1。修改參數(shù)g,g>1時,圖像相比原圖就會顯得越亮,g<1時,圖像相比原圖表現(xiàn)得越暗。經(jīng)過伽馬校正的圖像檢測模型AP提升到了91.58%,目標(biāo)檢測效果如圖7所示。

圖7 目標(biāo)檢測效果圖

通過與深度圖像結(jié)合可檢測出化學(xué)標(biāo)簽在深度圖像下的深度值,完成相機的內(nèi)參標(biāo)定以及機械臂的手眼標(biāo)定。通過相機成像原理公式可求得化學(xué)標(biāo)簽在機械臂世界坐標(biāo)系下的三維坐標(biāo)。至此機械臂可運動到化學(xué)標(biāo)簽處。

2.2 手寫文字檢測與識別

上一節(jié)實現(xiàn)了化學(xué)標(biāo)簽的識別、定位,但是不能區(qū)分不同的化學(xué)試劑。由于部分溶液的顏色特性會相同,比如水與硫酸都表現(xiàn)為無色透明,但是硫酸具有腐蝕性,屬于危險物品。在化學(xué)實驗室試劑瓶一般都貼有標(biāo)簽以區(qū)分不同溶液,所以為了區(qū)分化學(xué)溶液以獲取其類別信息,本文利用深度學(xué)習(xí)算法CTPN+CRNN+CTC Loss框架訓(xùn)練自然場景下中文手寫文字識別模型,通過識別標(biāo)簽上的化學(xué)名稱以區(qū)分不同化學(xué)溶液。

對于自然場景下的文字識別一般分為2步:1)文字檢測,就是先定位文字的位置、文字的范圍;2)文字識別,對定位的文字進行識別,將圖像信息轉(zhuǎn)化為字符信息。

2.2.1 文字檢測

常見的物體檢測算法直接應(yīng)用于文本檢測效果不明顯,主要原因有文本行有方向性,常規(guī)物體的BBox的四元組描述方法信息量不足,另外相較于常規(guī)的物體,文字行長度、長寬比例變化范圍很大。針對以上問題,現(xiàn)在比較流行的文本檢測模型有CTPN、DMPNet[12]、Seglink[13]、FTSN[14]、WordSup[15]等方案。以上方案在文本檢測上都有較高的準(zhǔn)確率。CTPN對于自然場景下水平文字的檢測效果不錯,能夠檢測水平或者稍微傾斜的文本行。CTPN[16]模型選擇VGG-16[17]作為基礎(chǔ)網(wǎng)絡(luò)提取各字符的局部圖像特征,最后經(jīng)過Faster R-CNN的RPN網(wǎng)絡(luò),獲取text proposals。

1)數(shù)據(jù)集。

數(shù)據(jù)集采用Reading Chinese Text in the Wild (RCTW-17)。RCTW-17[18]數(shù)據(jù)集用于ICDAR2017閱讀中文競賽,包含8000張訓(xùn)練圖像,4000多張測試圖片,其中中文數(shù)據(jù)占大部分。

2)模型訓(xùn)練。

由于已有的基于CTPN訓(xùn)練模型的文字檢測準(zhǔn)確度很高,對于手寫化學(xué)物質(zhì)名稱的文本檢測能力也有一定的準(zhǔn)確度,所以本文在其預(yù)訓(xùn)練權(quán)重基礎(chǔ)上進行訓(xùn)練。試驗在Keras框架進行。實驗訓(xùn)練進行10000次,實驗準(zhǔn)確率為97.12%,實驗測試效果如圖8所示。

圖8 化學(xué)物質(zhì)名文字檢測效果

2.2.2 文字識別

對于文字識別階段,由于化學(xué)物質(zhì)名稱長度不定,即不定長,故本文采用CNN+BLSTM+CTC Loss的方法進行識別。CNN使用卷積與池化層堆疊得到特征圖之后將提取的特征送進BLSTM得到文字的序列特征。最后利用CTC Loss轉(zhuǎn)錄得到字符。整個系統(tǒng)采用隨機梯度下降進行端到端訓(xùn)練,文字檢測識別基礎(chǔ)框架如圖9所示。

圖9 化學(xué)物質(zhì)名文字檢測識別基礎(chǔ)框架

LSTM[19](Long Short-Term Memory)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò),能夠有效解決RNN的長期依賴問題。針對普通RNN易出現(xiàn)的“梯度消失”或“梯度爆炸”問題,LSTM可有效解決。對于文本識別,前后文的序列信息對于文字預(yù)測有重要作用,所以采用雙向LSTM(Bidirectional LSTM, BLSTM)[20]網(wǎng)絡(luò)。

CTC[21](Connectionist Temporal Classification) Loss函數(shù)主要解決的是輸入的特征與輸出的標(biāo)簽的對齊問題,由于不能保證每處手寫文字都無空白且連續(xù),故相鄰文字之間可能存在間隔以及變形,這就會導(dǎo)致相同的文字有不同的表現(xiàn)形式,但本質(zhì)是同一個字符,引入空格字符解決空白位置的問題。

1)數(shù)據(jù)集。

手寫字體識別數(shù)據(jù)集采用的數(shù)據(jù)是由中國國家科學(xué)研究院國家模式識別實驗室采集的手寫數(shù)據(jù)集HWDB1.0、HWDB1.2[22]。HWDB1.0中有420位書寫者,每個書寫者的書寫內(nèi)容為3866個不重復(fù)的漢字字符以及171個字母及符號,HWDB1.2包括3319個中文字符以及171個字母及符號。2個數(shù)據(jù)集的漢字字符集是不重合的。2個數(shù)據(jù)集一共包括7185類中文字符,已包括了GB2312字符集中的全部中文字符。

2)模型訓(xùn)練。

本文在Keras深度學(xué)習(xí)計算平臺進行搭建,使用隨機梯度下降進行算法優(yōu)化,設(shè)置動量參數(shù)w為0.9,權(quán)值衰減設(shè)置為1e-4,訓(xùn)練batch size大小設(shè)置為10,初始學(xué)習(xí)率設(shè)置為1e-1,訓(xùn)練第一階段迭代10000步后學(xué)習(xí)率設(shè)置為1e-2,第二階段迭代5000步后學(xué)習(xí)率下降為1e-3。最后再經(jīng)過5000步迭代停止訓(xùn)練,得到模型最后識別準(zhǔn)確率為90.4%。

3 實驗結(jié)果

3.1 目標(biāo)檢測算法對比

本文選取YOLOv3、YOLOv3 Tiny以及本文改進的YOLOv3 Tiny目標(biāo)檢測算法在本文自建的帶有標(biāo)簽的化學(xué)容器的圖片數(shù)據(jù)集上進行目標(biāo)檢測任務(wù)的訓(xùn)練與測試,選取平均精度與檢測速度2項指標(biāo)進行對比分析評價,速度測試在GTX960顯卡的計算機上進行。表1展示了不同目標(biāo)檢測算法的對比實驗結(jié)果。

表1 不同目標(biāo)檢測算法結(jié)果對比

通過表1對比可以發(fā)現(xiàn)在檢測精度方面YOLOv3在本文數(shù)據(jù)集下與其他算法相比精度最高,但是在檢測速度方面卻不如YOLOv3 Tiny以及本文改進算法。考慮到若將模型部署到嵌入式設(shè)備硬件設(shè)備,對算力有要求,所以更輕量化的本文改進的YOLOv3 Tiny具有更好的實用性。本文改進的算法相比原算法雖然速度有下降但是在精度方面有了較大提升,可以保證其檢測準(zhǔn)確性。綜合考慮,本文改進的算法在速度與精度方面取得一定平衡,為今后部署到嵌入式設(shè)備打下了基礎(chǔ)。

3.2 文字識別算法對比

本文通過將文本檢測算法與文本識別算法結(jié)合進行對比測試,選取4種不同組合方案的文本檢測識別算法進行訓(xùn)練與測試。主要有CTPN+CNN+RNN+CTC、CTPN+CNN+LSTM+CTC、CTPN+CNN+GRU+CTC、CTPN+CNN+BLSTM+CTC。本文的測試數(shù)據(jù)選擇中學(xué)常見的化學(xué)物質(zhì)的手寫漢字,包含17人手寫的14類常見物質(zhì)。實驗結(jié)果選擇平均精度與識別速度2項作為主要評價指標(biāo)。實驗測得各類文字識別準(zhǔn)確率如表2所示。

表2 不同手寫文字檢測識別方案對比

通過表2在不同算法之間的文字識別準(zhǔn)確率對比可以看出,在自建數(shù)據(jù)集上的測試結(jié)果表明本文所用方法識別精度最高,識別速度也相對較快。

3.3 抓取實驗測試

本測試硬件設(shè)備如第2章所述,包括六軸機械臂、深度相機、機械抓手處的單目相機、貼有化學(xué)標(biāo)簽的化學(xué)試管。實驗開始前已完成相機的內(nèi)外參數(shù)標(biāo)定,機械臂的D-H參數(shù)已集成至機械臂ROS系統(tǒng)的urdf文件中,可通過正逆運動學(xué)運算得坐標(biāo)轉(zhuǎn)換關(guān)系[23]?;瘜W(xué)實驗場景機械臂抓取如圖10所示。

圖10 實驗測試平臺

實驗測試選取14類貼有不同名稱的標(biāo)簽的試管進行抓取實驗以驗證機械臂定位準(zhǔn)確度以及文字識別準(zhǔn)確度。抓取實驗結(jié)果準(zhǔn)確率如表3所示。

表3 抓取實驗測試

實驗結(jié)果表明深度相機能通過識別化學(xué)標(biāo)簽以獲取其深度值,進而獲取試管在世界坐標(biāo)系下的三維坐標(biāo),機械臂抓手運動至標(biāo)簽水平前方以識別化學(xué)標(biāo)簽的文字信息,從而完成抓取。但是實驗對于名稱過長的化學(xué)標(biāo)簽抓取成功率較差,主要原因在文字首尾邊緣的曲面部分的文字信息產(chǎn)生形變導(dǎo)致識別率較差。接下來的主要工作在于提高文字識別準(zhǔn)確率。

4 結(jié)束語

本文提出了一種在化學(xué)實驗場景下基于化學(xué)標(biāo)簽定位與文字識別的機械臂抓取化學(xué)試管等儀器的方法,采用YOLOv3 Tiny目標(biāo)檢測算法識別化學(xué)標(biāo)簽貼紙,深度相機探測深度信息,從而完成三維定位,通過CTPN+BLSTM+CTC Loss文字識別算法識別標(biāo)簽上的文字以區(qū)分不同化學(xué)物質(zhì)。實驗?zāi)茉谛颖经h(huán)境下對目標(biāo)進行識別和定位,機械臂可以對指定類別的化學(xué)試管進行抓取。下一階段需要提高文字識別準(zhǔn)確率,以提高分類準(zhǔn)確率從而提高機械臂抓取準(zhǔn)確率。

猜你喜歡
試管標(biāo)簽文字
文字的前世今生
無土栽培在試管苗移栽中的應(yīng)用探討
熱愛與堅持
當(dāng)我在文字中投宿
無懼標(biāo)簽 Alfa Romeo Giulia 200HP
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
試管難題
標(biāo)簽化傷害了誰
科學(xué)家的標(biāo)簽
異型試管在微型化學(xué)實驗中的應(yīng)用