《機械臂智能控制》 課件 項目6 機械臂智能控制實戰(zhàn)-撲克牌識別與抓取_第1頁
《機械臂智能控制》 課件 項目6 機械臂智能控制實戰(zhàn)-撲克牌識別與抓取_第2頁
《機械臂智能控制》 課件 項目6 機械臂智能控制實戰(zhàn)-撲克牌識別與抓取_第3頁
《機械臂智能控制》 課件 項目6 機械臂智能控制實戰(zhàn)-撲克牌識別與抓取_第4頁
《機械臂智能控制》 課件 項目6 機械臂智能控制實戰(zhàn)-撲克牌識別與抓取_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務6-1撲克牌識別——數(shù)據(jù)集制作《智能機械臂控制》任務解析:撲克牌動態(tài)抓取視覺抓取撲克牌識別機械臂抓取撲克牌動態(tài)抓取坐標變換S0:原圖S1:高斯模糊S2:RGB->HSVS3:腐蝕S4:二值化S5:輪廓標識知識鏈接1:積木識別流程OpenCV知識鏈接1:基于OpenCV的積木識別OpenCV傳統(tǒng)計算機視覺存在的問題:易受到光照、角度等因素影響特征提取依賴人工設計的提取器泛化能力及魯棒性較差知識鏈接2:基于深度學習的撲克牌識別深度學習深度學習在計算機視覺領域的三個典型應用:

目標分類目標檢測語義分割知識鏈接2:基于深度學習的撲克牌識別深度學習第1步:在圖像中找到物體:前景和背景區(qū)分開主體檢測知識鏈接2:基于深度學習的撲克牌識別深度學習第2步:判斷物體的種類(分類)?圖片分類知識鏈接3:PP-ShiTu圖像識別系統(tǒng)深度學習(1)PP-ShiTu輕量級通用圖像識別系統(tǒng)輸入圖像主體檢測物體特征提取向量檢索底庫圖片gallery(訓練集圖片)底庫圖片gallery特征庫識別結果特征提取知識鏈接3:PP-ShiTu圖像識別系統(tǒng)深度學習(2)快速體驗

PP-ShiTuandroiddemo任務實施:撲克牌數(shù)據(jù)集制作Step01:數(shù)據(jù)采集數(shù)據(jù)集【環(huán)境準備】:新建文件夾:1_Materials,其中包含:新建文件夾程序文件Step01:數(shù)據(jù)采集數(shù)據(jù)集(1)

每個同學4張撲克牌,每張撲克牌不少于50張圖像要求:調整撲克牌姿態(tài)、背景、光照、角度等(2)保存圖片到文件夾。

文件夾命名:數(shù)字+花色字符

;例如:

方塊3對應3DStep01:數(shù)據(jù)采集數(shù)據(jù)集(3)

規(guī)范圖片名稱通過pycharm運行S11_changeFileName.py,修改圖片名稱:前綴為:數(shù)字+花色字符_學號末3位_

Step02:數(shù)據(jù)標注數(shù)據(jù)集(1)使用labelImg,對采集的圖像進行圖像標注打開圖像所在文件夾設置結果保存文件夾Step02:數(shù)據(jù)標注數(shù)據(jù)集畫矩形打開下一張(2)用矩形框選圖中撲克牌,類別命名規(guī)則:數(shù)字+花色字符。框選撲克牌,輸入類別運行S12_xml_splitPic.pyStep03:圖像分割數(shù)據(jù)集讀取標注的XML配置文件截取圖像中的目標物品生成單獨的物品圖像存儲Step03:圖像分割數(shù)據(jù)集原圖與標注文件分割后的圖片運行S13_dataSetSplit.pyStep04:數(shù)據(jù)集劃分數(shù)據(jù)集將圖像數(shù)據(jù)集按照一定比例劃分為:訓練集和測試集。Step05:數(shù)據(jù)集信息文件生成數(shù)據(jù)集與分類任務數(shù)據(jù)集不同,圖像檢索任務的數(shù)據(jù)集分為以下三部分:訓練數(shù)據(jù)集(traindataset):用來訓練模型,使模型能夠學習該集合圖像特征。底庫數(shù)據(jù)集(gallerydataset):用來提供圖像檢索任務中的底庫數(shù)據(jù),該集合可與訓練集或測試集相同,也可以不同,當與訓練集相同時,測試集的類別體系應與訓練集的類別體系相同。測試數(shù)據(jù)集(querydataset):用來測試模型的好壞,通常要對測試集的每一張測試圖片進行特征提取,之后和底庫數(shù)據(jù)的特征進行距離匹配,得到識別結果,后根據(jù)識別結果計算整個測試集的指標?!咀⒁狻坑柧毤⒌讕鞌?shù)據(jù)集和測試數(shù)據(jù)集,均使用

txt

文件指定。Step05:數(shù)據(jù)集信息文件生成數(shù)據(jù)集目標:生成含有數(shù)據(jù)集信息的txt文件。用途:分類模型訓練、特征提取。內容格式:數(shù)據(jù)的路徑數(shù)據(jù)的label信息數(shù)據(jù)的uniqueid。注:當?shù)讕鞌?shù)據(jù)集和檢索時的查詢數(shù)據(jù)不同時,無需增加uniqueidStep05:數(shù)據(jù)集信息文件生成數(shù)據(jù)集運行S14_process_format.py任務數(shù)據(jù)集任務6-1撲克牌數(shù)據(jù)集制作【作業(yè)提交】:

(1)數(shù)據(jù)采集圖片

截圖(2)使用LabelImg對采集圖像進行圖像標注,過程截圖(3)數(shù)據(jù)集圖像分割截圖(4)生成數(shù)據(jù)集信息文件截圖

任務6-2撲克牌識別——模型訓練《智能機械臂控制》知識鏈接:基于深度學習的撲克牌識別深度學習第1步:在圖像中找到物體:前景和背景區(qū)分開主體檢測預訓練模型Picodet知識鏈接:基于深度學習的撲克牌識別深度學習第2步:判斷物體的種類(分類)?圖片分類我們要做的知識鏈接:PP-ShiTu圖像識別系統(tǒng)深度學習PP-ShiTu輕量級通用圖像識別系統(tǒng)輸入圖像主體檢測物體特征提取向量檢索底庫圖片gallery(訓練集圖片)底庫圖片gallery特征庫識別結果特征提取任務實施:撲克牌——特征提取模型訓練Step01:數(shù)據(jù)準備模型訓練準備——數(shù)據(jù)集拷貝S3_dataset文件夾改名為:puke_dataset將puke_dataset拷貝到:PaddleClas-release-2.5\datasetStep01:數(shù)據(jù)準備模型訓練(1)指定:預訓練模型存儲位置、訓練設備

修改PaddleClas-release-2.5/ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yamlStep01:數(shù)據(jù)準備模型訓練(2)修改”訓練”數(shù)據(jù)集配置

GeneralRecognitionV2_PPLCNetV2_base.yamlStep01:數(shù)據(jù)準備模型訓練(3)修改”驗證”數(shù)據(jù)集配置

GeneralRecognitionV2_PPLCNetV2_base.yamlStep02:模型訓練模型訓練進入PaddleClas-release-2.5目錄pythontools/train.py

-c

./ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml-oDataLoader.Train.sampler.batch_size=8

-oGlobal.epochs=1Step02:模型訓練模型訓練Step03:模型評估模型訓練進入PaddleClas-release-2.5目錄pythontools/eval.py

-c./ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml-oGlobal.pretrained_model="output/RecModel/latest"Step04:模型推理模型訓練(1)導出推理模型將

*.pdparams

模型文件轉換成inference格式。pythontools/export_model.py-c./ppcls/configs/GeneralRecognitionV2/GeneralRecognitionV2_PPLCNetV2_base.yaml-oGlobal.pretrained_model="output/RecModel/latest"Step04:模型推理模型訓練(2)獲取特征向量

測試使用inference格式模型,將輸入圖片轉換為對應的特征向量。執(zhí)行命令:cddeploypythonpython/predict_rec.py-cconfigs/inference_rec.yaml-oGlobal.rec_inference_model_dir="../inference"Step04:模型推理模型訓練(2)獲取特征向量

測試默認圖片deploy\images\wangzai.jpgStep04:模型推理模型訓練(2)獲取特征向量

測試圖片修改PaddleClas-release-2.5\deploy\configs\inference_rec.yaml任務實施模型訓練任務6-2撲克牌——分類(特征提取)模型訓練【作業(yè)提交】:

(1)GeneralRecognitionV2_PPLCNetV2_base.yaml

修改后的文件

截圖(2)模型訓練,過程截圖(3)模型評估,過程截圖

(4)模型推理(使用自己采集的圖像),過程截圖任務6-3撲克牌識別——向量檢索與系統(tǒng)測試《智能機械臂控制》知識鏈接:特征提取模型特征提取特征提取模型知識鏈接:PP-ShiTu圖像識別系統(tǒng)深度學習PP-ShiTu輕量級通用圖像識別系統(tǒng)輸入圖像主體檢測物體特征提取向量檢索底庫圖片gallery(訓練集圖片)底庫圖片gallery特征庫識別結果特征提取知識鏈接:向量檢索向量檢索向量檢索:對于給定的查詢向量,與庫中所有的待查詢向量進行特征向量相似度或距離計算,選取相似度最高的作為結果輸出。特征提取特征提取底庫圖片底庫圖片特征庫物體物體特征向量檢索Result任務實施:向量檢索與系統(tǒng)測試Step01:通用主體檢測模型下載檢測模型下載主體檢測模型picodet_PPLCNet/dygraph/rec/models/inference/picodet_PPLCNet_x2_5_mainbody_lite_v1.0_infer.zipPaddleClas-release-2.5/deploy目錄下,新建文件夾models解壓到models目錄下輸入圖像主體檢測物體Step02:建立索引建立索引(1)索引文件配置

推理模型拷貝:

PaddleClas-release-2.5目錄下的inference

拷貝到:

PaddleClas-release-2.5\deploy\modelsStep02:建立索引建立索引(1)索引文件配置

修改:PaddleClas-release-2.5\deploy\configs\inference_general.yaml測試圖片路徑主體檢測模型分類識別模型不使用GPUStep02:建立索引建立索引(1)索引文件配置

修改:PaddleClas-release-2.5\deploy\configs\inference_general.yaml數(shù)據(jù)集路徑索引保存路徑數(shù)據(jù)集分割文件路徑分隔符替換為空格Step02:建立索引建立索引(2)修改索引庫編譯文件

修改PaddleClas-release-2.5/deploy/pythonpython/build_gallery.py分隔符修改為空格Step02:建立索引建立索引(3)建立索引庫

cdPaddleClas-release-2.5/deploypythonpython/build_gallery.py-cconfigs/inference_general.yamlStep03:系統(tǒng)測試系統(tǒng)測試dataset中,新建testImage文件夾,放入待測試的圖片。

cdPaddleClas/deploypythonpython/predict_system.py

-cconfigs/inference_general.yaml-oGlobal.infer_imgs="../dataset/puke_dataset/testImage/3D_106_001.JPG"-oIndexProcess.index_dir="../dataset/puke_dataset_index/index"推理參數(shù)文件測試圖片路徑庫索引路徑Step03:系統(tǒng)測試系統(tǒng)測試Step03:系統(tǒng)測試系統(tǒng)測試添加測試圖片puke\PaddleClas-release-2.5\dataset\puke_dataset\testImage通過pycharm打開puke文件夾,運行predict_pic.pyStep03:系統(tǒng)測試系統(tǒng)測試測試結果Step03:系統(tǒng)測試系統(tǒng)測試測試結果Step04:優(yōu)化與種類更新系統(tǒng)優(yōu)化如果識別率不高或者需要增加新的種類,則需再次采集圖片并創(chuàng)建索引。(1)參照任務6-1,采集數(shù)據(jù)、標注數(shù)據(jù)、圖像分割。(2)將采集的圖片,拷貝到S3_dataset/train下相應的文件夾,

運行S11_changeFileName.py,將圖片重命名

。(3)運行S3_dataset/S14_process_format.py生成圖像信息文件。(4)S3_dataset中文件和文件夾,拷貝到

PaddleClas-release-2.5\dataset\puke_dataset,覆蓋原來的文件。(5)更新索引庫:pythonpython/build_gallery.py-cconfigs/inference_general.yamlStep04:優(yōu)化與種類更新系統(tǒng)優(yōu)化【優(yōu)化流程】

采集現(xiàn)場圖片,增加每個類別的圖片數(shù)量,更新索引。

通過pycharm打開puke文件夾,運行predict_video.pyStep04:優(yōu)化與種類更新系統(tǒng)優(yōu)化現(xiàn)場視頻測試效果任務實施系統(tǒng)測試任務6-3向量索引與系統(tǒng)測試【作業(yè)提交】:

(1)inference_general.yaml

修改后的文件

截圖(2)模型測試結果(使用自己采集的圖像)截圖任務6-4撲克牌動態(tài)抓取《智能機械臂控制》任務要求撲克牌抓取任務6-4撲克牌動態(tài)抓取以任務5-6

積木動態(tài)抓取為基礎,結合任務6-1、6-2、6-3,實現(xiàn):4張撲克牌的識別、機械臂抓取和搬運。任務實施:撲克牌動態(tài)抓取Step01:工程文件管理撲克牌抓取將任務5-6積木動態(tài)抓取所有文件

拷貝到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論