Jetson TX2(Jetpack4.3)安装opencv(v3.4.2)+部署yolo3的操作
重新刷了N次系统,终于成功了,!!!
现在将操作过程记录如下:
清除旧版本
首先完全卸载刷机时刷如的自带的opencv旧版本,以便更好地安装opencv3.4.2版本
sudo apt-get purge libopencv*
sudo apt autoremove
sudo apt-get update
安装cmake以及依赖库
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libtiff5-dev libswscale-dev
sudo apt-get install libjasper-dev
安装libjasper-dev系统报错,提示:errorE: unable to locate libjasper-dev,所以单独安装。
单独安装仍然出错,按照网上提示及解决办法
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
仍然不能解决,后搜索 “tx2 软件源”,找到 https://blog.csdn.net/weixin_40554881/article/details/80865401
按照上述链接替换了清华的源,替换之后,执行
sudo apt-get update
sudo apt-get install libjasper-dev
顺利安装。
安装opencv
下载opencv,这个根据个人需要吧,我因为之前的程序都是基于3.4.2开发的,所以还是选择这个版本,jetpack4.3默认安装了4.1.1版本的opencv.
unzip OpenCV-3.4.2.zip
cd opencv3.4.2.
mkdir build
cd build
cmake ..
sudo make -j4
sudo make install
把opencv的so库加入到环境变量
sudo gedit /etc/ld.so.conf.d/opencv.conf
在弹出文件的末尾加入/usr/local/lib,保存关闭文件。
sudo ldconfig 让配置生效
安装测试
利用以下语句进行安装验证,安装成功的话会输出opencv版本号3.4.2
python -c "import cv2; print(cv2.__version__)"
部署YOLOV3
1.CPU模式下
下载安装并编译yolov3源码
git clone https://github.com/pjreddie/darknet yolo3
cd yolo3
打开yolo3下边的makefile文件修改OPENCV=1,并保存。
默认情况下yolo的Makefile文件有个配置OPENCV=0,你需要将它改成 1 ,否则不会启用 opencv,在用yolo调用视频或者相机时会提示:
Demo needs OpenCV for webcam images。
修改参数的方法
sudo gedit makefile
现在执行命令
make
下载预训练模型权重文件
yolov3.weights也可以通过在csdn上搜索相关资源下载,速度较快,大小为248MB,不要下错了,下载完成后发在yolo3目录下面即可
wget https://pjreddie.com/media/files/yolov3.weights
运行代码,检测示例图片
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
GPU模式下
对yolo3文件夹下面的Makefile文件前几行进行修改
sudo gedit Makefile
修改后前几行如下,然后保存退出
GPU=1
CUDNN=1
OPENCV=1
OPENMP=0
DEBUG=0
重新编译
make
修改模型超参数
改为GPU模式后还需要对模型的batch size等超参数进行修改,否则TX2的内存将很快被耗尽,造成系统卡顿的现象。因此修改yolov3/cfg/yolov3.cfg
文件,将Training注释掉,改Testing的batch为1,修改后文件的前几行如下所示:
[net]
# Testing
batch=1
subdivisions=1
# Training
# batch=64
# subdivisions=16
运行代码,检测示例图片
./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg
调用视频
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights data/demo.mp4
调用外接摄像头
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -c 1
结束运行
ctrl+c
yolov4的安装和使用参考博文:https://bbs.huaweicloud.com/blogs/233255