网站域名过户查询,南通seo快速排名,免费网站建设ppt模板,设计师网站图片简介 在追求高端性能与资源优化并重的应用场景中#xff0c;如边缘计算设备或资源受限的开发板上运行YOLO等复杂深度学习模型#xff0c;采用C结合OpenCV与GPU加速技术相较于传统的Python环境展现出显著优势。这种策略不仅极大地提升了执行效率#xff0c;还显著降低了运行时…简介 在追求高端性能与资源优化并重的应用场景中如边缘计算设备或资源受限的开发板上运行YOLO等复杂深度学习模型采用C结合OpenCV与GPU加速技术相较于传统的Python环境展现出显著优势。这种策略不仅极大地提升了执行效率还显著降低了运行时资源消耗是实现实时物体检测与识别的理想选择。 C运行YOLO安装环境稍微复杂些不像Python一键安装pip包。本案例使用了GPU加速算法运行,所以编译OpenCV的时候需要开启CUDA和DNN模块。
一.CUDA安装
访问下载地址选择对应的版本这里我安装的是11.7.0版本
https://developer.nvidia.com/cuda-toolkit-archive安装命令
wget https://developer.download.nvidia.com/compute/cuda/11.7.0/local_installers/cuda_11.7.0_515.43.04_linux.run
sudo sh cuda_11.7.0_515.43.04_linux.run执行.run 程序后等待一会输入accept 已经安装过显卡驱动的话Driver这里可不用选择 安装完成后根据以上的提示加入环境变量 执行vim ~/.bashrc加入以下内容
export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH$PATH:/usr/local/cuda/bin
export CUDA_HOME$CUDA_HOME:/usr/local/cuda
执行source ~/.bashrc 更新 .bashrc输入命令进行验证nvcc -V出现下面的内容说明安装成功
二.cuDNN安装 1.下载地址https://developer.nvidia.com/rdp/cudnn-archive 2.下载对应cuda版本的cudnn解压后将cuDNN头文件和库文件复制到CUDA安装目录
sudo cp include/cudnn* /usr/local/cuda/include
sudo cp lib/libcudnn* /usr/local/cuda/lib643.更改文件权限
sudo chmod ar /usr/local/cuda/include/cudnn*
sudo chmod ar /usr/local/cuda/lib64/libcudnn*三.OpenCV编译 1.下载源码https://opencv.org/releases/ 2.解压源码后在根目录下载执行
git clone https://github.com/opencv/opencv_contrib.git3.CUDA_ARCH_BIN查看方式
一.git clone https://github.com/NVIDIA-AI-IOT/deepstream_tlt_apps.git
二.cd deepstream_tlt_apps/TRT-OSS/x86
三.nvcc deviceQuery.cpp -o deviceQuery
四. 执行 ./deviceQuery,得到了Capability Major4.编译环境准备
一.sudo apt-get update
二.sudo apt-get upgrade
三.sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
四.sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
五.sudo apt-get install libgtk-3-dev libtbb-dev libatlas-base-dev gfortran5.开始编译
一.cd opencv-4.10.0 mkdir build cd build二.
cmake -D CMAKE_BUILD_TYPERELEASE \
-D CMAKE_INSTALL_PREFIX/usr/local \
-D OPENCV_EXTRA_MODULES_PATH../opencv_contrib/modules \
-D WITH_CUDAON \
-D WITH_CUDNNON \
-D WITH_GTKON \
-D CUDNN_INCLUDE_DIR/usr/include \
-D CUDA_ARCH_BIN7.5 \
-D OPENCV_DNN_CUDAON \
-D ENABLE_FAST_MATH1 \
-D CUDA_FAST_MATH1 \
-D WITH_DNNON \
-D OPENCV_GENERATE_PKGCONFIGON ..三.make -j$(nproc)四.sudo make instal出现红色框的内容说明模块加载正常接着执行三和四的步骤即可编译过程需要二十几分钟下面是使用C调用onnx模型的输出结果。
四.OpenCV编译参数说明 指令 说明 -D CMAKE_BUILD_TYPERELEASE 编译opencv的版本。这里是release版本 -D CMAKE_INSTALL_PREFIX/usr/local 为opencv安装的目录 -D OPENCV_EXTRA_MODULES_PATH…/opencv_contrib/modules 该选选项为opencv_contrib模块下module文件夹 -D WITH_CUDAON 编译CUDA -D WITH_CUDNNON 编译CUDNN -D WITH_GTKON 编译图形界面cv2.show会用到 -D CUDA_ARCH_BIN7.5 显卡的算力 -D OPENCV_DNN_CUDAON -D ENABLE_FAST_MATH1 支持math快速计算 -D CUDA_FAST_MATH1 cuda的math快速计算 -D WITH_DNNON 编译DNN -D OPENCV_GENERATE_PKGCONFIGON … …表示上一层目录