0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

三維目標(biāo)檢測之OpenPCDet環(huán)境配置及demo測試

新機(jī)器視覺 ? 來源:CSDN-hello689 ? 2023-08-07 11:02 ? 次閱讀

00實(shí)驗(yàn)環(huán)境

·Ubuntu 16.04

·RTX 2080

·CUDA 10.1

01安裝步驟

1.1 安裝之前

1.1.1 驗(yàn)證cmake版本

cmake--version

cmake版本要大于等于1.13,不然后邊的庫的setup過程會(huì)報(bào)錯(cuò)。不要看網(wǎng)上的博客盲目執(zhí)行pip install cmake或者apt-get autoremove cmake,這樣會(huì)導(dǎo)致出一些額外的錯(cuò)誤。我參考的是這篇博客進(jìn)行cmake的升級(jí)。

1.1.2 驗(yàn)證cuda和cudnn是否安裝好了

先說一下我遇到的問題,因?yàn)檫@次的機(jī)子是我接手別人的,里邊看似是cuda和cudnn都配置好了,但是后邊運(yùn)行的時(shí)候還是過不去。

nvcc -V和nvidia-smi兩個(gè)命令顯示的cuda是不一致的,這個(gè)問題不大。

主要看nvcc -V這條命令顯示的cuda版本。nvidia-smi所顯示的cuda是,這個(gè)臺(tái)機(jī)器安裝驅(qū)動(dòng)所能帶動(dòng)的最大cuda版本,nvcc -V顯示的cuda版本才是運(yùn)行是的版本。

一般來說nvidia-smi所顯示的版本要高一些。但是,我這臺(tái)機(jī)器nvcc -V所顯示是10.2,nvidia-smi所顯示的是10.1,本著能不改驅(qū)動(dòng)就不改驅(qū)動(dòng)的原則(擔(dān)心ubuntu的黑屏),我把~/bashrc中的環(huán)境變量改成了10.1版本的。

nvcc-V#顯示安裝的cuda版本
cat/usr/local/cuda/include/cudnn.h|grepCUDNN_MAJOR-A2##顯示安裝的cudnn版本

下邊所有庫安裝好之后,最好驗(yàn)證一下是否安裝成功,成功后,再進(jìn)行下一步,否則后邊容易出錯(cuò),且難定位。

1.2 配置環(huán)境,安裝需要的庫

1.2.1 創(chuàng)建虛擬環(huán)境

創(chuàng)建虛擬環(huán)境

1.2.2 進(jìn)入該虛擬環(huán)境

condaactivateopenpcdet

1.2.3 安裝pytorch

注:安裝的是gpu版本,安裝之后可以測試一下,torch是否能調(diào)用cuda。

安裝命令,建議去官網(wǎng)復(fù)制粘貼,不容易出現(xiàn)cuda和torch版本不匹配的問題。我沒有換源,直接用下邊的命令行,下載安裝也非??臁?/p>

1.2.4 安裝spconv

這一步比較容易出現(xiàn)問題。目前spconv出了2.0以上版本,而spconv2.只支持cuda10.2以上版本。

如果cuda版本合適,直接運(yùn)行pip安裝即可,像我的系統(tǒng)安裝的是cuda10.1,只能老老實(shí)實(shí)下載原始的版本。

找個(gè)文件夾,開始安裝spconv1.2:

#安裝libboost
sudo apt-get install libboost-all-dev
# 下載spconv,并切換分支
git clone -b v1.2.1 https://ghproxy.com/https://github.com/traveller59/spconv.git
cd spconv
# spconv項(xiàng)目中的third_party對(duì)應(yīng)的目錄中有三個(gè)文件夾是空的,刪除了就行;
#下載pybind11這個(gè)包替換掉空文件,并把pybind11放入
cd third_party
git clone https://ghproxy.com/https://github.com/pybind/pybind11
cd .. #退回
python3 setup.py bdist_wheel
#如setup.py這一步報(bào)錯(cuò),可能需要你刪掉build/ dist/ spconv.egg-info/,這幾個(gè)文件夾之后再編譯
cd ./dist
pipinstallspconv-1.2.1-cp37-cp37m-linux_x86_64.whl#先檢查一下dist里邊的文件,有可能是空的
如果你所用的機(jī)子,可以安裝spconv2.x:
方法一(pip安裝):
pip install spconv-cu102 -i https://pypi.tuna.tsinghua.edu.cn/simple
方法二(源碼安裝):
#cumm
安裝git clone https://ghproxy.com/https://github.com/FindDefinition/cumm
cd ./cumm
pip install -e .


#spconv安裝
git clone https://ghproxy.com/https://github.com/traveller59/spconv
cd ./spconv
pipinstall-e.
cuda版本對(duì)應(yīng)的spconv版本:

e472b3cc-32c9-11ee-9e74-dac502259ad0.png

驗(yàn)證是否安裝成功:

python
importspconv
1.3 安裝OpenPCDet

命令:

gitclonehttps://ghproxy.com/https://github.com/open-mmlab/OpenPCDet.git
cdOpenPCDet
pipinstall-rrequirements.txt
pythonsetup.pydevelop

注:numpy庫不能太低,我的默認(rèn)安裝了1.16.0版本,后邊報(bào)錯(cuò)信息不會(huì)直接顯示numpy版本過低,而是顯示No Module xxx,很難看出是numpy版本的問題。

驗(yàn)證pcdet是否安裝成功:

python
importpcdet
02可視化部分

ros下的可視化,可以參考我另寫的一篇博客。三維目標(biāo)檢測之ROS可視化

2.1 安裝可視化庫

首先需要安裝可視化的庫,mayavi或者open3d兩者都可以,可以安裝其中一個(gè),也可以兩個(gè)都安裝。

我在安裝mayavi的時(shí)候一直有問題,轉(zhuǎn)而安裝open3d,下邊以open3d為例。

因?yàn)樾掳姹静恢С謚buntu16.04,所以我這里是指定的open3d版本號(hào),這里要感謝這篇博客,之前沒有考慮到open3d的版本選擇跟ubuntu的版本號(hào)也有關(guān)系。

如果不是ubuntu18.04及以上版本,open3d的版本就可以高一些了。

conda install -c open3d-admin open3d==0.9.0
pipinstallopen3d-python

注:open3d的安裝用conda來安裝,pip安裝一直會(huì)出問題。

驗(yàn)證open3d是否安裝成功:

python
importopen3d

如果有錯(cuò)誤,可以到文中的第三部分(問題匯總),查看原因,可能是open3d版本不對(duì),也可能是調(diào)用了~/.local中的open3d庫。

tools/demo.py文件中,優(yōu)先使用的是open3d,如下圖所示,如果想要用mayavi這個(gè)庫的話,需要把try部分刪了,只用except里邊的部分。

e48c2e10-32c9-11ee-9e74-dac502259ad0.png

2.2 測試

從官方下載,想要測試的網(wǎng)絡(luò)模型。

e49bf2e6-32c9-11ee-9e74-dac502259ad0.png

將訓(xùn)練模型和測試的點(diǎn)云數(shù)據(jù)放在合適的位置,執(zhí)行下邊的命令。

python3 demo.py
 --cfg_file cfgs / kitti_models / pointpillars.yaml 
  --ckpt pointpillars.pth 
--data_path${POINT_CLOUD_DATA}
我用的數(shù)據(jù)是kitti數(shù)據(jù)集中的000000.bin,選用pointpillars來進(jìn)行測試;

測試結(jié)果:

e4f6d8be-32c9-11ee-9e74-dac502259ad0.png

03問題匯總

3.1 mayavi的問題:python3.8安裝mayavi4.7.3

安裝的順序,安裝的版本都有一定的要求,這幾個(gè)的先后編譯順序不能顛倒。

pip install vtk==8.1.2 # 自動(dòng)安裝的vtk是9,會(huì)產(chǎn)生沖突
pip install mayavi==4.7.3
pipinstallPyQt5
報(bào)錯(cuò)信息:
AttributeError:typeobject'DialogCode'hasnoattribute'Accepted'
這個(gè)問題,我一直沒解決,網(wǎng)上很多方法,在我的機(jī)子上都解決不了。

3.2 Open3d的問題:

如果遇到類似下邊的情況,大概率為open3d版本問題導(dǎo)致。

情況一:

AttributeError:'open3d.geometry.PointCloud()'objecthasnoattribute'voxel_down_sample'

情況二:

ImportError:/lib/x86_64-linux-gnu/libm.so.6:version`GLIBC_2.27'notfound(requiredby/home/xxxx/xxxx/lib/python3.7/site-packages/open3d/open3d_pybind.cpython-37m-x86_64-linux-gnu.so)

e5055510-32c9-11ee-9e74-dac502259ad0.png

我在第二個(gè)問題上卡了一段時(shí)間,明明版本什么都對(duì)了呀,為啥運(yùn)行demo.py的時(shí)候還是出錯(cuò)。

另外,因?yàn)槲抑鞍惭b過open3d,所以在~/.local中有一個(gè)版本錯(cuò)誤的open3d,在運(yùn)行demo程序的時(shí)候,需要加上-s,-s可以讓Python不去查找用戶目錄中的庫。

python-sdemo.py

如何運(yùn)行python而不在其模塊搜索路徑中包含~/.local/lib/pythonX.Y/sitepackages

3.3 運(yùn)行demo時(shí)出錯(cuò)

情況一:段錯(cuò)誤(核心已轉(zhuǎn)儲(chǔ))

(pcdet) auto@auto-System-Product-Name:~/OpenPCDet/tools$ python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt pv_rcnn_8369.pth --data_path ../data/kitti/testing/velodyne/000008.bin
2022-03-06 2126,628  INFO -----------------Quick Demo of OpenPCDet-------------------------
2022-03-06 2126,628  INFO Total number of samples:    1
/home/auto/anaconda3/envs/pcdet/lib/python3.7/site-packages/torch/functional.py UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:2157.)
 return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]
2022-03-06 2129,122  INFO ==> Loading parameters from checkpoint pv_rcnn_8369.pth to CPU
2022-03-06 2129,154  INFO ==> Done (loaded 367/367)
2022-03-06 2129,300  INFO Visualized sample index:    1
段錯(cuò)誤 (核心已轉(zhuǎn)儲(chǔ))

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    678

    瀏覽量

    21966
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    559

    瀏覽量

    29503
  • 虛擬環(huán)境
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    8920
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    802

    瀏覽量

    13116
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何快速高效的完成汽車前蓋板的三維檢測?

    如何快速高效的完成汽車前蓋板的三維檢測?行業(yè)背景汽車的前蓋板在生產(chǎn)出來后往往因?yàn)楹附雍土慵恼`差難以裝配,檢測便成了生產(chǎn)和安裝兩個(gè)環(huán)節(jié)之間的重要步驟。縮短檢測時(shí)間提高
    發(fā)表于 08-11 14:16

    【NanoPi Duo開發(fā)板試用體驗(yàn)】基于友善臂的三維掃描儀-匯總帖-結(jié)項(xiàng)報(bào)告

    路由器、機(jī)頂盒到航??刂破?、三維掃描儀、智能家居中心,五花八門一應(yīng)俱全。如下為基于友善臂的三維掃描儀,從友善臂NanoPi Duo開發(fā)板的搭建到整臺(tái)
    發(fā)表于 12-16 16:23

    廣西掃描服務(wù)三維檢測三維掃描儀

    HandyPRO,便攜式專業(yè)級(jí)Academia三維掃描儀。搭載完全集成的三維軟件平臺(tái)VXelements,將所有基本因素和工具都融入到一個(gè)簡便且流暢的工作環(huán)境中。并帶有掃描至CAD軟件模塊、尺寸
    發(fā)表于 08-29 14:42

    三維設(shè)計(jì)應(yīng)用案例

    CAD是目前工業(yè)制造產(chǎn)品設(shè)計(jì)的重要軟件之一,廣泛應(yīng)用于機(jī)械、建筑等領(lǐng)域。而常用的CAD軟件,也就是所謂的三維制圖軟件,較二的圖紙和二的繪圖軟件,三維CAD軟件能夠更加直觀、準(zhǔn)確地反
    發(fā)表于 07-03 07:06

    MetraSCAN三維掃描儀對(duì)汽車鈑金件三維掃描檢測解決方案

    都比較困難2. 剛性差,檢測過程中易因形變引起誤差3. 通常要將汽車覆蓋件的尺寸基準(zhǔn)置于車身坐標(biāo)系中來處理所以,采用非接觸的MetraSCANSAOMIAO3D,CN手持式三維掃描儀進(jìn)行檢測,就能規(guī)避
    發(fā)表于 07-15 10:48

    Handyscan汽車三維掃描服務(wù)尺寸檢測的應(yīng)用

    `Handyscan汽車三維掃描服務(wù)尺寸檢測的應(yīng)用 汽車發(fā)動(dòng)機(jī)連桿是將活塞和曲軸連接起來,作為汽車發(fā)動(dòng)機(jī)關(guān)鍵傳動(dòng)機(jī)構(gòu)的一部分,將作用于活塞頂部的膨脹氣體壓力傳給曲軸,使活塞的往復(fù)直線運(yùn)動(dòng)可逆地轉(zhuǎn)
    發(fā)表于 08-04 16:07

    三維立體數(shù)字沙盤是是什么?

    `  那什么是三維立體數(shù)字沙盤呢?三維立體數(shù)字沙盤又叫三維數(shù)字沙盤、立體數(shù)字沙盤,是利用三維技術(shù)、地理遙控技術(shù)、虛擬現(xiàn)實(shí)技術(shù)、觸控技術(shù)等實(shí)現(xiàn)的。在計(jì)算機(jī)中建立一個(gè)虛擬
    發(fā)表于 08-28 14:40

    三維可視化的應(yīng)用和優(yōu)勢

    ,為此三維可視化運(yùn)維系統(tǒng)登場了?! ?b class='flag-5'>三維可視化的應(yīng)用  宏觀場景可視化:在特定的環(huán)境中對(duì)隨著時(shí)間推移而不斷變化的目標(biāo)實(shí)體進(jìn)行檢測,可以直觀、
    發(fā)表于 12-02 11:52

    如何導(dǎo)入機(jī)械臂的三維模型

    目的   本文手把手教你如何在 Mathematica 軟件中搭建機(jī)械臂的三維仿真環(huán)境,包括以下幾部分:   1. 如何導(dǎo)入機(jī)械臂的三維模型;   2. 如何進(jìn)行(正/逆)運(yùn)動(dòng)學(xué)仿真;   3.
    發(fā)表于 09-07 09:25

    港中文和商湯研究員提出高效的三維點(diǎn)云目標(biāo)檢測?新框架

    與二圖像中會(huì)相互遮擋的物體不同,三維點(diǎn)云中的物體都是天然分離的,使得三維目標(biāo)內(nèi)部各個(gè)部分的相對(duì)位置可以精確獲取,這些方法將有效提高目標(biāo)
    的頭像 發(fā)表于 08-02 14:18 ?3467次閱讀
    港中文和商湯研究員提出高效的<b class='flag-5'>三維</b>點(diǎn)云<b class='flag-5'>目標(biāo)</b><b class='flag-5'>檢測</b>?新框架

    手持式三維掃描儀對(duì)工業(yè)三維檢測鑄造模具沖壓模具三維激光掃描與檢測

    手持式三維掃描儀 對(duì) 工業(yè)三維檢測應(yīng)用 手持式三維掃描設(shè)備 因其靈巧,便攜,高精度的特點(diǎn),不受工廠復(fù)雜環(huán)境的影響,既能滿足其
    發(fā)表于 04-10 09:52 ?1587次閱讀

    手持式三維掃描儀對(duì)工業(yè)三維檢測應(yīng)用鑄造模具沖壓模具三維掃描與檢測

    手持式三維掃描儀對(duì)工業(yè)三維檢測應(yīng)用 手持式三維掃描設(shè)備因其靈巧,便攜,高精度的特點(diǎn),不受工廠復(fù)雜環(huán)境的影響,既能滿足其
    發(fā)表于 04-20 09:38 ?1780次閱讀

    基于激光雷達(dá)點(diǎn)云的三維目標(biāo)檢測算法

    文中提出了一種基于激光雷達(dá)點(diǎn)云的三維目標(biāo)檢測算法 Voxeircnn( Voxelization Region-based Convolutional Neural Networks),該算
    發(fā)表于 05-08 16:35 ?45次下載

    基于多視角融合的夜間無人車三維目標(biāo)檢測

    基于多視角融合的夜間無人車三維目標(biāo)檢測 來源:《應(yīng)用光學(xué)》,作者王宇嵐等 摘 要:為了提高無人車在夜間情況下對(duì)周圍環(huán)境的物體識(shí)別能力,提出一種基于多視角通道融合網(wǎng)絡(luò)的無人車夜間
    發(fā)表于 01-23 15:15 ?794次閱讀

    智慧城市_實(shí)景三維|物業(yè)樓三維掃描案例分享_泰來三維

    三維激光掃描技術(shù)是近年來發(fā)展的新型測量方法,通過三維掃描獲取大量全面點(diǎn)云數(shù)據(jù),形成三維立體模型,實(shí)現(xiàn)快速掌握被測目標(biāo)信息。
    的頭像 發(fā)表于 05-16 13:56 ?991次閱讀
    智慧城市_實(shí)景<b class='flag-5'>三維</b>|物業(yè)樓<b class='flag-5'>三維</b>掃描案例分享_泰來<b class='flag-5'>三維</b>