最近接到了一个在嵌入式设备上跑算法模型的需求,综合评估设备性能和醒目需求后,决定使用英伟达的TX2-NX基于C++实现算法模型,本篇文章是基于此想法做的一个试验。
一、准备阶段
首先,需要准备一台TX2-NX,并通过JetPack配置cuda-10.2环境。
其次,编译安装OpenCV-4.5.4,必须是这个版本及以上,否则无法使用CUDA加速。
最后,就是写代码实现模型的推理部分。
补充一下opencv的编译安装过程
1、下载openv-4.5.4以及opencv-contrib-4.5.4安装包,并解压
2、进入opencv-4.5.4目录,创建build目录
cd opencv-4.5.4
mkdir build
cd build
3、构造makefile.sh
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_PNG=OFF \
-DBUILD_TIFF=OFF \
-DBUILD_TBB=OFF \
-DBUILD_JPEG=OFF \
-DBUILD_JASPER=OFF \
-DBUILD_ZLIB=OFF \
-DBUILD_EXAMPLES=ON \
-DBUILD_opencv_java=OFF \
-DBUILD_opencv_python2=OFF \
-DBUILD_opencv_python3=ON \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DWITH_OPENCL=OFF \
-DWITH_OPENMP=OFF \
-DWITH_FFMPEG=ON \
-DWITH_GSTREAMER=ON \
-DWITH_GSTREAMER_0_10=OFF \
-DWITH_CUDA=ON \
-DWITH_GTK=ON \
-DWITH_VTK=ON \
-DWITH_TBB=ON \
-DWITH_1394=OFF \
-DWITH_OPENEXR=OFF \
-DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-DCUDA_ARCH_BIN=7.2 \ #tx2是6.2
-DCUDA_ARCH_PTX="" \
-DINSTALL_C_EXAMPLES=ON \
-DINSTALL_TESTS=ON \
-DOPENCV_EXTRA_MODULES_PATH为opencv_contrib=../../opencv_extra-4.5.4/testdata \ #CONTRIB文件的位置
执行脚本
./cv_cmake.sh
如果报权限错误,则需要修改脚本文件的权限
chmod u+x makefile.sh
如果报bash脚本文件格式错误,则可以拷贝下面的内容在命令行直接执行脚本命令
cmake \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr \
-D BUILD_PNG=OFF \
-D BUILD_TIFF=OFF \
-D BUILD_TBB=OFF \
-D BUILD_JPEG=OFF \
-D BUILD_JASPER=OFF \
-D BUILD_ZLIB=OFF \
-D BUILD_EXAMPLES=ON \
-D BUILD_opencv_java=OFF \
-D BUILD_opencv_python2=OFF \
-D BUILD_opencv_python3=ON \
-D ENABLE_PRECOMPILED_HEADERS=OFF \
-D WITH_OPENCL=OFF \
-D WITH_OPENMP=OFF \
-D WITH_FFMPEG=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GSTREAMER_0_10=OFF \
-D WITH_CUDA=ON \
-D WITH_GTK=ON \
-D WITH_VTK=ON \
-D WITH_TBB=ON \
-D WITH_1394=OFF \
-D WITH_OPENEXR=OFF \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-10.2 \
-D CUDA_ARCH_BIN=6.2 \
-D CUDA_ARCH_PTX="" \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_TESTS=ON \
-D OPENCV_EXTRA_MODULES_PATH为opencv_contrib=../../opencv_extra-4.5.4/testdata \
..
执行成功后,进行编译
make -j8
编译成功后进行安装并添加路径到bashrc
sudo make install
vim ~/.bashrc
# 在最后面一行进行添加
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/
二、开发阶段
在下篇文章中会讲解具体开发实现
|