TurtleBot3使用課程 第四節(北京智慧型佳)

2022-07-21 07:09:07 字數 3870 閱讀 4047

1.機器學習 2

1.1 機器學習一 2

1.1.1 目標 2

1.1.2 操作環境 2

1.1.3 設定 2

1.1.4執行(它需要超過幾秒取決於pc) 3

1.1.5執行螢幕 3

1.1.6 ros節點 4

1.1.7 ros節點 5

1.2機器學習二 6

1.2.1 目標 6

1.2.2 操作環境 7

1.2.3設定 7

1.2.5執行螢幕 8

1.2.6 ros節點 8

1.2.7 gpu acceleration 10

1.2.8 參考站點 10

使用鏈式機(機器學習框架之一)識別乙個物件,並使用深度相機計算到物件的距離。(link : chainer)

1.ros動能裝置:參考wiki.ros.org

2.realsense d435 ros包安裝

3.依賴包裝安裝python-pip包

4.object_detector_3d安裝

1.realsense&object_detector_3d節點

2.rviz

1.1.5執行螢幕

左到圖:顯示由rostopicecho/object_detection_3d輸出。

圖的右上角:/object_detection_3d/result_image通過rviz顯示。

如果你看右上螢幕,你可以看到乙個鍵盤,乙個杯子,乙個瓶子和兩個顯示器從前面檢測到。 每個檢測都有乙個標題,顯示以下資訊。

物件名稱

檢測得分。值在[0,1]範圍內,隨著值接近1,檢測的可靠性增加。

物件中心點的三維座標(稍後介紹)。的起源座標系是相機的中心。x、y和z軸方向是以公尺為單位,分別指向右、下和向內。

如果你看z值,它是在深度方向上五個元素之間的距離檢測結果,可以看到值隨著物件的位置而增加再往裡走。

1.主題

訂閱主題

相機/顏色/image_raw[sensor_msgs/影象]彩色影象,用於二維物體檢測

/相機/深度/顏色/點[sensor_msgs/點雲2]

3d點雲,用於計算3d座標,需要與上面的相機影象進行時間同步

出版的主題

/object_detection_3d[object_detector_3d/第3條]

本主題由檢測物件(num_detections)和檢測資訊(檢測)的數量組成)。 檢測資訊detection3d由以下資訊組成。

class_id和class_name是檢測物件的分類編號和名稱。 得分意味著檢測的可靠性。 y_min、x_min、y_max和x_max是被檢測物件的包圍框的左上角和右下角的座標。 最後,位置是物體的三維座標位置。

△ object_detection_3d/result_image[sensor_msgs/影象]

這是乙個結果影象,其中包括用於檢測的影象中檢測到的物件的資訊。 這是乙個像上面右邊的影象。

其他

△ sensor_msgs的內部引數。 相機資訊:/相機/顏色/image_raw

△ realsense2_camera。 外部引數:從點組座標系轉換為彩色攝像機座標系的外部引數。

1.輸入資料

輸入

二維攝像機影象

三維雲攝像機內部引數

外部引數,指示攝影機在點雲中的位置座標系。

輸出

物件在點雲座標系中的中心點座標。

物件的型別

檢測的可靠性

2.演算法概述

1.按照下面的步驟提取物件的3d座標。

2.使用物件檢測器檢測影象中的多個物件,並從攝像機獲得的影象中輸入。

3.提取檢視截錐中包含的每個點對應的子集。

4.找到每個點子集組的中心點座標。

5.將二維檢測結果和三維中心點座標整合到三維中檢測結果。

3.每種演算法的描述

2d物件檢測2d物件檢測是指預先定義好的檢測包含在影象中的物件。當您輸入二維影象進行搜尋時顯示以下資訊。以下是多個物件對應的**值。

物件周圍的框(軸對齊邊界框,bbox)

物件的型別

檢測可靠性

具體地說,目標探測器使用coco和can學習的ssd300利用cnn檢測80種物體。有關詳細的檢測列表,請參閱該列表顯示在鏈結中。python的深度學習框架chainer用於實現和chainerv專門用於影象處理。

提取檢測物件的點子集時,使用bbox上一步驟中的資訊。對於每個bbox,僅限進入bbox的點從攝像機的視角提取點雲中的點雲作為部分點雲。

部分點雲中的中心點計算部分點雲包括從目標、背景和遮蔽物件獲得的點。這個表示這些點的集中點稱為中心點。雖然對中心點有不同的定義,但中心點是從軟體角度定義為點雲的中心。然而,這種方法使用點資料而不區分提取的物件和非物件部分。這可能會導致根據物件形狀或差異bbox。將中心點定義為計算中心似乎更好在從部分點雲中移除未提取的部分後。

二維檢測與三維中心點座標的整合省略,因為它很簡單。

使用yolo練習在ros環境中識別物件。 yolo(您只看一次)是乙個實時的目標檢測系統,比其他檢測系統具有更快的速度。 yolo由darknet提供動力,darknet是一種神經網路框架,它教育和執行dnn(深度神經網路)。

ros動能裝置:參考。wiki.ros.org

realsense d435 ros包安裝

darknet_ros安裝轉到catkin工作區

與上面的影象一樣,多個物件同時被識別。 在物件的邊界建立乙個框,物件的名稱顯示在框的左上方。

1.主題

訂閱的主題

/照相機/顏色/影象_raw[感測器影象/影象]彩色影象,用於目標檢測外部引數,指示攝影機在點雲中的位置座標系。

已發布主題

/暗色/邊框本主題包含已識別物件的資訊。如下圖所示由訊息頭、用於檢測的影象頭組成,邊界盒是檢測到的目標資訊。

顯示物件資訊的邊界框如下所示。(boundingbox.msg)

它由表示探測精度的概率x和y組成檢測物件影象上邊界框的座標,id號以及指示物件型別的類。/暗色/探測影象[感測器影象]包含影象中檢測到的物件資訊的結果影象用於檢測。/暗色/找到目標[標準訊息/國際標準]顯示檢測到的物件數。

2.行動

攝像頭讀數[感測器影象]傳送包含影象和結果值的操作(的邊界框檢測到的物件)。

3.引數

影象檢視/啟用開啟cv(bool)開啟/關閉開啟cv檢視器,其中顯示包含邊界框。影象檢視/等待按鍵延遲(int)開啟cv檢視器中的等待鍵延遲(毫秒)yolo_model/config_file/name(字串)用於檢測的網路的cgf名稱。載入具有相應名稱的cfg從darknet_ros/yolo_network_config/cfg中使用該程式。yolo_型號/重量_檔案/名稱(字串)用於檢測的網路的權重檔名。載入權重檔案來自darknet_ros/yolo_network_config/weights的相應名稱以使用程式。yolo_型號/閾值/值(浮動)檢測演算法的閾值。範圍在0到1之間。yolo_模型/檢測_類/名稱(字串陣列)網路可檢測到的物件的名稱。

cuda toolkit

darknet

darknet_ros

TurtleBot3 全景展示

turtlebot 啟動turtlebot3 rpicamera檔案 roslaunch turtlebot3 bringup turtlebot3 rpicamera.launch 遠端電腦 啟動panorama。roslaunch turtlebot3 panorama panorama.lau...

ROS 對於turtlebot3的學習

1.參考ros robot programming cn進行,對urtlebot3開發環境的配置,當catkin make時,出現 usr lib x86 64 linux gnu libapr 1.so.0 undefined reference to uuid generate uuid 1.0...

編譯原理課程總結 第3章

詞法分析器 詞法分析器的功能和輸出形式 關鍵字,識別符號,常數,運算子,界符 單詞符號的識別 超前搜尋 在單詞識別的過程中,通過向前多讀幾個符號的形式,準確的進行單詞的識別。一旦確定識別到的單詞之後,需要進行掃瞄指標的回退,保證單詞識別工作的順利進行 直接分析法 根據讀來的第乙個字元的種類分別轉到各...