jetson tx2 jetpack4 (cuda10.0 + opencv 4.1.1) 运行 yolov3-tiny

之前准备

看到有链接说arm下matplotlib不好装,果然我在pip install matplotlib的时候,下载wheel后build出现大面积红字报错,主要问题:

 src/checkdep_freetype2.c:3:6: error: #error "FreeType version 2.3 or higher is required. You may set the MPLLOCALFREETYPE environment variable to 1 to let Matplotlib download it."
 3 |     #error "FreeType version 2.3 or higher is required. \

参考链接解决

sudo apt-get install libfreetype6-dev
sudo apt-get install pkg-config
sudo apt-get install libpng12-dev
sudo apt-get install pkg-config

中间出现了错误,直接

sudo apt-get update
sudo apt-get upgrade

后,可以正常安装。

opencv版本选择

之前看了很多教程,似乎包含yolo的框架darknet只能在opencv3.4.2以下运行。
但是链接告诉我 jetpack4装的opencv4也可以使用,为了偷懒我决定试一试。
由于 jetpack4已经安装好了cuda cudnn opencv4的版本,并适配好了,所以不用再安装这三个。

安装darknet+解决No package ‘opencv’ found +opencv版本问题

darknet下载

darknet下载:darknet流程
下载darknet

mkdir -p ~/dl/darknet
cd ~/dl/darknet
git clone https://github.com/pjreddie/darknet.git
cd darknet

修改Makefile文件

重点修改Makefile文件

GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0

同文件内设置GPU架构的计算能力


#Arch 就是GPU的架构版本,没有GPU或者GPU不支持CUDA的就不用配合这里

ARCH=

-gencode arch=compute_53,code=[sm_53,sm_53]            # TX1计算能力是53

-gencode arch=compute_61,code=[sm_61,compute_61]  # Pascal架构 GTX 1080 计算能力6.1

-gencode arch=compute_62,code=[sm_62,compute_62]  # Pascal架构 TX2 计算能力6.2

-gencode arch=compute_72,code=[sm_72,compute_72]  # volta 架构  Xavier 计算能力7.2

opencv版本问题

make前,由于opencv4和3版本的差别,需要修改下编译所需的src/image_opencv.cpp的写法:
亲测可用

解决No package ‘opencv’ found

输入

make -j4

在make的时候提示

No package 'opencv' found

解决办法:
在/usr/lib/aarch64-linux-gnu/pkgconfig中找到opencv4.pc,把它复制到/usr/lib/pkgconfig下,并改名为opencv.pc
可解决报错

测试

下载yolov3-tiny权重,

wget https://pjreddie.com/media/files/yolov3-tiny.weights

图片测试

./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg

摄像头测试( -c 1 因为我是外接usb摄像头 1号位置)

./darknet detector demo cfg/coco.data cfg/yolov3-tiny.cfg yolov3-tiny.weights -c 1

ubuntu打开摄像头

sudo apt-get install guvcview
guvcview -d /dev/video

猜你喜欢

转载自blog.csdn.net/bluehatihati/article/details/107272590