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

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

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

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

新機(jī)器視覺(jué) ? 來(lái)源: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,不然后邊的庫(kù)的setup過(guò)程會(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是否安裝好了

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

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

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

一般來(lái)說(shuō)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版本

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

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

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

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

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

condaactivateopenpcdet

1.2.3 安裝pytorch

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

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

1.2.4 安裝spconv

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

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

找個(gè)文件夾,開(kāi)始安裝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庫(kù)不能太低,我的默認(rèn)安裝了1.16.0版本,后邊報(bào)錯(cuò)信息不會(huì)直接顯示numpy版本過(guò)低,而是顯示No Module xxx,很難看出是numpy版本的問(wèn)題。

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

python
importpcdet
02可視化部分

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

2.1 安裝可視化庫(kù)

首先需要安裝可視化的庫(kù),mayavi或者open3d兩者都可以,可以安裝其中一個(gè),也可以?xún)蓚€(gè)都安裝。

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

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

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

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

注:open3d的安裝用conda來(lái)安裝,pip安裝一直會(huì)出問(wèn)題。

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

python
importopen3d

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

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

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

2.2 測(cè)試

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

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

將訓(xùn)練模型和測(cè)試的點(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來(lái)進(jìn)行測(cè)試;

測(cè)試結(jié)果:

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

03問(wèn)題匯總

3.1 mayavi的問(wèn)題: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èn)題,我一直沒(méi)解決,網(wǎng)上很多方法,在我的機(jī)子上都解決不了。

3.2 Open3d的問(wèn)題:

如果遇到類(lèi)似下邊的情況,大概率為open3d版本問(wèn)題導(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è)問(wèn)題上卡了一段時(shí)間,明明版本什么都對(duì)了呀,為啥運(yùn)行demo.py的時(shí)候還是出錯(cuò)。

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

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

    關(guān)注

    5

    文章

    692

    瀏覽量

    22063
  • Ubuntu
    +關(guān)注

    關(guān)注

    5

    文章

    564

    瀏覽量

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

    關(guān)注

    0

    文章

    27

    瀏覽量

    8963
  • pytorch
    +關(guān)注

    關(guān)注

    2

    文章

    808

    瀏覽量

    13282
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何快速高效的完成汽車(chē)前蓋板的三維檢測(cè)?

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

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

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

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

    HandyPRO,便攜式專(zhuān)業(yè)級(jí)Academia三維掃描儀。搭載完全集成的三維軟件平臺(tái)VXelements,將所有基本因素和工具都融入到一個(gè)簡(jiǎn)便且流暢的工作環(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ì)汽車(chē)鈑金件三維掃描檢測(cè)解決方案

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

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

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

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

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

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

    ,為此三維可視化運(yùn)維系統(tǒng)登場(chǎng)了。  三維可視化的應(yīng)用  宏觀場(chǎng)景可視化:在特定的環(huán)境中對(duì)隨著時(shí)間推移而不斷變化的目標(biāo)實(shí)體進(jìn)行檢測(cè),可以直觀、
    發(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)檢測(cè)?新框架

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

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

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

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

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

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

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

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

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

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

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