? ? ? ? ? 這篇博客介紹的是如何在Ubuntu系統(tǒng)下配置YOLOV5算法環(huán)境。并且運(yùn)行一個(gè)融合YOLOV5的ORB-SLAM2開(kāi)源代碼。
0.前言:
??????? 安裝的軟件主要是anaconda,然后anaconda可以幫我們安裝python、pytorch這些東西。我的ubuntu版本:ubuntu20.04.5LTS。
安裝的anaconda類(lèi)型:Anaconda3-2022.05
安裝的python類(lèi)型:python3.8.15,(原來(lái)系統(tǒng)自帶的python是
3.9.12)
安裝的pytorch版本:
1.13.0+cu117'
一、安裝anaconda
?? 1.先去anaconda官網(wǎng)下載安裝包,注意文件后綴是你的系統(tǒng)架構(gòu),比如x86、amd64或者aarch64,可以通過(guò)下面命令查看。
uname -a
像我的系統(tǒng)是這樣的:
官網(wǎng)鏈接如下:
anaconda官網(wǎng)
?2.選擇合適的文件,下載好后,進(jìn)入下載目錄,輸入以下代碼:
bash Anaconda3-2022.05-Linux-x86_64.sh
隨后進(jìn)行安裝,會(huì)看到以下畫(huà)面:?
?3.一直按ENTER繼續(xù),瀏覽許可證,審查完許可后,將要求您批準(zhǔn)許可條款:
?Do you approve the license terms? [yes|no]
鍵入yes接受許可,系統(tǒng)將提示您選擇安裝位置:?
?默認(rèn)位置對(duì)于我們大多數(shù)用戶(hù)來(lái)說(shuō)已經(jīng)就可以,按ENTER確認(rèn)安裝位置。
4.安裝可能需要一些時(shí)間,完成后,腳本將詢(xún)問(wèn)您是否要運(yùn)行conda init,鍵入yes。
Installation finished.
Do you wish the installer to initialize Anaconda3
by running conda init? [yes|no]
?5.這會(huì)將命令行工具conda添加到系統(tǒng)的PATH中。要激活A(yù)naconda安裝,您可以關(guān)閉并重新打開(kāi)終端,或者通過(guò)鍵入以下命令來(lái)將新的PATH環(huán)境變量加載到當(dāng)前的shell會(huì)話中:
source ~/.bashrc?
?
6.這樣就是成功了安裝了Anaconda。
?二、創(chuàng)建YOLOV5環(huán)境
1.我們創(chuàng)建一個(gè)python3.8的名稱(chēng)為yolo的環(huán)境。打開(kāi)終端,輸入
conda create -n yolo python=3.8
回車(chē),輸入y確定,等待創(chuàng)建成功即可。?
2.創(chuàng)建完成之后,輸入命令激活環(huán)境:
conda activate yolo
3.下載YOLOV5源碼
mirrors / ultralytics / yolov5 · GitCode? (這個(gè)是被人提供的,里面不包含預(yù)訓(xùn)練模型yolov5s.pt文件,但不打緊,后面運(yùn)行代碼的時(shí)候會(huì)自動(dòng)生成)
sticker_阮 / YOLOV5源碼 · GitCode (這個(gè)我的,里面是全的)或者百度網(wǎng)盤(pán):https://pan.baidu.com/s/1DooBch1s-oo3vfKiFo1BIg?
提取碼:ruan
?4.修改相應(yīng)文件
在下載好的yolov5-master文件夾下找到requirements.txt文件,修改成以下形式:
?5.隨后在yolov5-master文件夾下打開(kāi)終端,并輸入以下命令,來(lái)添加依賴(lài):
pip3 install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
可能會(huì)出現(xiàn)的錯(cuò)誤:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
daal4py 2021.5.0 requires daal==2021.4.0, which is not installed.
conda-repo-cli 1.0.4 requires pathlib, which is not installed.
anaconda-project 0.10.2 requires ruamel-yaml, which is not installed.
numba 0.55.1 requires numpy<1.22,>=1.18, but you have numpy 1.23.5 which is incompatible.
?解決方法:按照錯(cuò)誤提示,安裝相應(yīng)版本的包
pip install daal==2021.4.0
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pathlib
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple ruamel-yaml
依賴(lài)安裝好后如下:
至此,yolo所需的環(huán)境配置完成。
參考鏈接:
各種錯(cuò)誤_steven_bingo的博客-CSDN博客_daal==2021.4.0
ERROR: pip‘s dependency resolver does not currently take into account all the packages 解決辦法分享_MI_farmer的博客-CSDN博客_error: pip's dependency resolver does not currentl
6.測(cè)試
(1).先進(jìn)入創(chuàng)建好的yolo環(huán)境
conda activate yolo
在yolov5-master文件下打開(kāi)終端,并輸入以下命令:
python detect.py --source data/images/zidane.jpg
這時(shí)候,最后的效果會(huì)保存在runs/detect/下
?(在這個(gè)時(shí)候,如果之前下的是別人的代碼,會(huì)生成run文件夾)
如果出現(xiàn)以下問(wèn)題:
AttributeError: 'Upsample' object has no attribute 'recompute_scale_factor'
參考:
一步真實(shí)解決AttributeError: ‘Upsample‘ object has no attribute ‘recompute_scale_factor‘_藍(lán)胖胖?的博客-CSDN博客
(2)第二個(gè)測(cè)試是利用VS code跑的
首先找到detect.py文件,修改以下代碼中的source:改成0則為調(diào)用電腦自帶的攝像頭。
?然后終端進(jìn)入我們創(chuàng)建的yolo環(huán)境,輸入python detect.py
即可運(yùn)行。
conda的一些指令:
(1)conda activate yolo //激活(進(jìn)入)yolo虛擬環(huán)境中
或 source activate yolo
(2)conda list //查看在虛擬環(huán)境中安裝的包
(3)python //查看虛擬環(huán)境中python 的版本
import torch
torch._version_//查看torch版本
ctrl+D退出python
(4)如果安裝了獨(dú)顯
nvidia-smi //可查看是否安裝成功
或看
python
>>>import torch
>>>torch.cuda.is_available //查看是否為true
(5)conda deactivate //退出當(dāng)前虛擬環(huán)境
(6)conda env list//查看創(chuàng)建的虛擬環(huán)境有哪些
?7.接下來(lái)將YOLOV5代碼加入到ORB-SLAM2中
源代碼和相關(guān)數(shù)據(jù)集可見(jiàn)以下鏈接:
sticker_阮 / YOLOv5融合orb-SLAM2 · GitCode
如果按照我之前的環(huán)境配置,那么運(yùn)行這個(gè)代碼就比較簡(jiǎn)單了。下載我的源代碼,還需要下載一個(gè)associate.py來(lái)處理rgb.txt和depth.txt,生成配對(duì)的文件associate.txt,輸入以下指令:
python associate.py rgb.txt depth.txt > associate.txt
?如果出現(xiàn)以下報(bào)錯(cuò)
Traceback (most recent call last):
? File "associate.py", line 118, in <module>
??? matches = associate(first_list, second_list,float(args.offset),float(args.max_difference))?? ?
? File "associate.py", line 97, in associate
??? first_keys.remove(a)
AttributeError: 'dict_keys' object has no attribute 'remove'
由于Python2和python3語(yǔ)法的差別,需要將associate.py中第86行87行的
first_keys = first_list.keys() second_keys = second_list.keys()
?修改為:
first_keys = list(first_list.keys()) second_keys = list(second_list.keys())
最后,打開(kāi)orbslam_addsemantic-main文件夾終端,輸入以下命令即可:
在終端輸入的指令:
加YOLOV5算法:
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM3.yaml /home/rxz/rgbd_dataset_freiburg3_walking_xyz /home/rxz/rgbd_dataset_freiburg3_walking_xyz/associate.txt detect_result/TUM_f3xyz_yolov5m/detect_result/
純ORB-SLAM2算法:
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM3.yaml /home/rxz/rgbd_dataset_freiburg3_walking_xyz /home/rxz/rgbd_dataset_freiburg3_walking_xyz/associate.txt
參考鏈接:
SLAM TUM數(shù)據(jù)集associate.py使用及錯(cuò)誤解決_月逐丶的博客-CSDN博客文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-786074.html
Ubuntu20.04部署yolov5目標(biāo)檢測(cè)算法,無(wú)人車(chē)/無(wú)人機(jī)應(yīng)用_振華OPPO的博客-CSDN博客_yolo可以部署到無(wú)人機(jī)上么
https://blog.csdn.net/weixin_51745352/article/details/124646456文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-786074.html
到了這里,關(guān)于Ubuntu20.04配置YOLOV5算法相關(guān)環(huán)境,并運(yùn)行融合YOLOV5的ORB-SLAM2開(kāi)源代碼(親測(cè)有效)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!