日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

开源项目|从0到1教你搭建一个适配于智能车的目标检测系统

發(fā)布時間:2023/12/19 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源项目|从0到1教你搭建一个适配于智能车的目标检测系统 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

引言

本教程連載一輛能夠用 ROS 控制的帶攝像頭的小車,用 ROS 發(fā)布圖像數(shù)據(jù),對獲取到的圖像進行處理,例如目標檢測。這里主要介紹如何把本教程后面的的內(nèi)容匯聚起來,實現(xiàn)一個能目標檢測的小車。

先歸納一下之后文檔的內(nèi)容:

獲取本項目完整教程代碼及文檔請關(guān)注下方二維碼

并在公眾號后臺回復數(shù)字“4"

這篇文檔幾乎涉及了上面所有文檔的內(nèi)容是一個綜合應(yīng)用,大家可以根據(jù)之后的連載一步一步學起來。如果對上面的內(nèi)容比較熟悉了,就會發(fā)現(xiàn)這篇文檔很簡短,但是卻是建立在之前已有的基礎(chǔ)上。

現(xiàn)在應(yīng)當已經(jīng)熟悉的內(nèi)容:

  • 了解 CNN 的工作原理;

  • 能使用 Darknet 訓練自己的目標檢測模型

  • 能用 rosserial 建立 RT-Thread 和 ROS 的連接

  • 能用 ROS 發(fā)布圖像信息

下面就會介紹如何用 ROS 發(fā)布的圖像信息和 Darknet 連接做目標檢測。

1.Darknet ROS

1.1 獲取源碼

其實下面要用到的是一個 ROS 軟件包,這個軟件包現(xiàn)在也是開源的:

1#?初始化工作環(huán)境 2$?mkdir?catkin_workspace 3$?cd?catkin_workspace/src 4$?catkin_init_workspace 5 6##?下載源碼 7$?git?clone?--recursive?http://github.com/leggedrobotics/darknet_ros.git

除了源碼,我們還要下載一些訓練好的神經(jīng)網(wǎng)絡(luò)權(quán)值,放在下面這個目錄:

1$?catkin_workspace/src/darknet_ros/darknet_ros/yolo_network_config/weights/

如果覺得國外下載速度太慢的話,這里我有個國內(nèi)的 CDN 加速鏡像:

  • yolov2-tiny.weights:https://wuhanshare-1252843818.cos.ap-guangzhou.myqcloud.com/yolov2-tiny.weights

  • yolov2.weights:https://wuhanshare-1252843818.cos.ap-guangzhou.myqcloud.com/yolov2.weights

  • yolov3.weights:https://wuhanshare-1252843818.cos.ap-guangzhou.myqcloud.com/yolov3.weights

如果源碼和權(quán)值都下載好了,我們就可以準備編譯了。

1.2 編譯源碼

為了保證 Darknet 能夠獲取到攝像頭的數(shù)據(jù),我們需要先告訴它攝像頭的信息發(fā)布在哪里,修改這個文件:

1$?catkin_workspace/src/darknet_ros/darknet_ros/config/ros.yaml

把下面的 topic 修改為自己圖像發(fā)布的位置,例如我這里發(fā)布在 /usb_cam/image_raw

1camera_reading: 2????topic:?/usb_cam/image_raw 3????queue_size:?1

然后就可以編譯軟件包了,在 catkin_workspace 目錄下:

1$?catkin_make

一切正常的話,編譯就完成了,其實不需要做太多的工作,編譯完記得更新一下環(huán)境變量,這樣后面才能正常啟動這個軟件包。

1$?sorce?devel/setup.bash

1.3 目標檢測

在進行目標檢測前,我們先啟動 ROS 節(jié)點:

1$?roscore

然后啟動一個攝像頭節(jié)點:

1roslaunch?usb_cam?usb_cam-test.launch

這樣就可以實時看到攝像頭的數(shù)據(jù)了,攝像頭在哪里其實不重要,既可以在小車上,也可以在電腦上,這也是 ROS 的優(yōu)美之處,只要節(jié)點發(fā)布了攝像頭消息,不管攝像頭在哪, ROS 都能拿到處理:

接下來我們啟動 Darknet 的節(jié)點:

1$?roslaunch?darknet_ros?darknet_ros.launch

下面這張圖就可以看到有兩個視頻流,左邊的是沒有處理的實時圖像,右邊是運行了目標檢測的結(jié)果:

2.總結(jié)

RT-Thread 作為實時操作系統(tǒng)負責控制,Linux 則負責提供豐富的軟件包運行算法,兩者相結(jié)合,互相取長補短還是配合地挺好的。

3.參考文獻

Darknet ROS:https://github.com/leggedrobotics/darknet_ros

獲取本項目完整教程代碼及文檔請關(guān)注下方二維碼

并在公眾號后臺回復數(shù)字“4"

RT-Thread


讓物聯(lián)網(wǎng)終端的開發(fā)變得簡單、快速,芯片的價值得到最大化發(fā)揮。Apache2.0協(xié)議,可免費在商業(yè)產(chǎn)品中使用,不需要公布源碼,無潛在商業(yè)風險。

長按二維碼,關(guān)注我們

點擊“閱讀原文”進入RT-Thread GitHub

總結(jié)

以上是生活随笔為你收集整理的开源项目|从0到1教你搭建一个适配于智能车的目标检测系统的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。