autoware.ai中检测模块lidar_detector caffe

news/2024/11/24 4:45:35/

lidar_apollo_cnn_seg_detect模块:该模块主要是调用百度apollo的目标分割。
1.需要安装caffe进行实现:
caffe安装步骤:

git clone https://github.com/BVLC/caffe
cd caffe && mdkir build && cd build
cmake ..

出现报错:

CMake Error at cmake/Cuda.cmake:227 (message):   cuDNN version >3 is required.

修改方法:

in Openpose change the cmake/cuda.cmake file and the /cmake/modules/FindCuDNN.cmake file.
Find the line that reads:
file(READ {CUDNN_INCLUDE}/cudnn.h CUDNN_VERSION_FILE_CONTENTS) change to: file(READ {CUDNN_INCLUDE}/cudnn_version.h CUDNN_VERSION_FILE_CONTENTS)

出现报错:

Could NOT find Atlas (missing: Atlas_CLAPACK_INCLUDE_DIRAtlas_CBLAS_LIBRARY Atlas_BLAS_LIBRARY)
Call Stack (most recent call first):/usr/share/cmake-3.10/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)cmake/Modules/FindAtlas.cmake:43 (find_package_handle_standard_args)cmake/Dependencies.cmake:121 (find_package)CMakeLists.txt:49 (include)

解决方法:

sudo apt-get install libatlas-base-dev

出现报错:

Please set them or make sure they are set and tested correctly in the CMake files:
CUDA_cublas_device_LIBRARY (ADVANCED)linked by target "caffe" in directory

解决方法:出现该问题是因为cmake版本不匹配:
cuda10 可以用cmake-3.14.3
cuda10.2 可以用cmake-3.17
我安装的是cuda 11.6,对应的cmake版本为cmake3.18.1,最新版本3.27.4不可用
由于安装ros后存在cmake,如果进行删除将会导致大量ros依赖被卸载,因此并未进行卸载,执行步骤为:

wget https://cmake.org/files/v3.18/cmake-3.18.1-Linux-x86_64.tar.gz
tar zxvf cmake-3.18.1-Linux-x86_64.tar.gz
mv cmake-3.18.1-Linux-x86_64 /opt/cmake-3.18.1
ln -sf /opt/cmake-3.18.1/bin/*  /usr/bin/
cmake --version  # 应该显示3.18.1

caffe 需要用make进行安装:
关于hdf5的问题:
Makefile中

LIBRARIES +=  hdf5_hl hdf5

改为

LIBRARIES += hdf5_serial_hl hdf5_serial

将Makefile.config中的路径:

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include 
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

改为

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial/
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib

执行make报错:编译Caffe时遇到的错误:leveldb/db.h文件找不到

sudo apt-get update
sudo apt-get install libleveldb-dev

寻找Makefile文件

LIBRARIES += leveldb
make clean
make

/usr/bin/ld: cannot find -lleveldb
/usr/bin/ld: cannot find -lsnappy
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas

sudo apt-get install libsnappy-devsudo apt-get install libatlas-base-dev

注:如果不清楚自己opencv版本型号,输入下面命令产看版本

pkg-config opencv --modversion

如果opencv有报错把这个解开

改为(根据自己OpenCV版本来,我的是3.2.0):
OPENCV_VERSION :=3

CUDA_ARCH := -gencode需要改成自己型号
https://developer.nvidia.com/cuda-gpus

运行lidar_apollo_cnn_seg_detect.launch 报错:

error while loading shared libraries: libcaffe.so.1.0.0: cannot open shared object file: No such file or directory 运行时报错(caffe)

caffe安装好后lib没有配置到/usr/lib或/usr/local/lib中,需手动配置:

 export LD_LIBRARY_PATH=/path_to_your_caffe/distribute/lib/:$LD_LIBRARY_PATH

lidar_euclidean_cluster_detect模块:该模块主要是用的欧式聚类算法进行聚类
出现报错:

error while loading shared libraries: libopencv_imgcodecs.so.4.3: cannot open shared object file : No such file or directory

解决办法:

$ find ~/ -name "libopencv_imgcodecs.so.407"

结果

/home/xxx/xxx/opencv-4.7.0/build/lib/libopencv_imgcodecs.so.407

将exprot LD_LIBRARY_PATH 插在~/.bashrc最后

export LD_LIBRARY_PATH=/home/xxx/xxx/opencv-4.7.0/build/lib/libopencv_imgcodecs.so.407
export LD_LIBRARY_PATH=*******:$LD_LIBRARY_PATH                                             

*******为之前的路径


http://www.ppmy.cn/news/1166509.html

相关文章

【试题031】C语言关系运算符和逻辑非例题

1.题目: 设int p;,与if(p0)等价的是 () A if(p) B if(!p) if(p1) Dif(p!0) 2.分析: [ ] if中的条件是p0为真,也就是说p0[ ] 那么!p1,逻辑非就是将结果取反的操作[ ] p0也就是p≠1 3.截图:

Linux 进程操作

文章目录 进程的基本知识进程pid进程常用的函数 forkwait和waitpidexec函数簇system函数信号处理signal函数Linux的SIGUSR1SIGUSR2 讨论 进程的基本知识 一个程序的执行称为一个进程,所有的代码都是在进程中执行的,进程是操作系统资源分配的基本单位。 在…

高校教务系统登录页面JS分析——华南农业大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍高校教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文,你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习,勿用于非法用途。 一、密码加…

多测师肖sir_高级金牌讲师___ui自动化之selenium001

一、认识selenium (1)selenium是什么? a、selenium是python中的一个第三方库 b、Selenium是一个应用于web应用程序的测试工具,支持多平台,多浏览器,多语言去实现ui自动化测试,我们现在讲的Sel…

网络代理技术与安全防护

随着互联网的蓬勃发展,网络安全问题日益凸显,而网络代理技术作为一种重要的保障手段,正发挥着越来越关键的作用。本文将深入探讨Socks5代理、IP代理以及它们在网络安全防护、爬虫应用和HTTP传输中的实际应用。 Socks5代理与SK5代理&#xff…

贝锐花生壳+Fooocus,快速自建可远程访问的SDXL,平替Midjourney

Midjourney、stable diffusion两款AI绘图工具是最近这段时间的热点。不过,事无完美,他们各有一些优缺点。 例如:stable diffusion虽然开源可私有化部署,但操作相对复杂,需要设置各类参数;Midjourney虽然简单…

evilhiding:一款好用的shellcode免杀工具

文章目录 evilhiding工具浅析项目地址用法免杀测试声明 evilhiding shellcode loader,bypassav,免杀工具,一款基于python的shellcode免杀加载器 工具浅析 远控条件触发防沙箱花指令干扰loader和shellcode进行fernet加密触发器混淆干扰特征码自动刷新ico图片的md5…

idea2023配置maven

看过【黑马程序员Maven全套教程,maven项目管理从基础到高级,Java项目开发必会管理工具maven】https://www.bilibili.com/video/BV1Ah411S7ZE?p9&vd_sourceedf9d91e5a0a27db51e3d6d4b9400637 配置的,前提要素配置也在这个课程里有啦&…