系列文章目录
jetson-inference入门
jetson-inference----docker内运行分类任务
jetson-inference----训练自己的目标检测模型(一)
文章目录
- 系列文章目录
- 前言
- 一、jetson-inference docker环境介绍
- 二、SSD目标检测
- 三、训练自己的目标检测模型
- 总结
前言
一、jetson-inference docker环境介绍
缺少的模型文件,可以 download-models.sh 中找到下载
具体操作可见:jetson-inference----docker内运行分类任务 https://blog.csdn.net/m0_70420861/article/details/135852089?spm=1001.2014.3001.5502
下载 SSD-Mobilenet-v2.tar.gz
放到宿主机:~/jetson-inference/data/networks
解压缩
tar xzvf SSD-Mobilenet-v2.tar.gz
function download_ssd_mobilenet_v2()
{
echo "$LOG Downloading SSD-Mobilenet-v2..."
download_archive "SSD-Mobilenet-v2.tar.gz" "https://nvidia.box.com/shared/static/jcdewxep8vamzm71zajcovza938lygre.gz"
}
二、SSD目标检测
官方文档:https://gitcode.com/dusty-nv/jetson-inference/blob/master/docs/detectnet-console-2.md
启动时映射命令
docker run -it --rm --runtime nvidia -v ~/jetson-inference/data:/jetson-inference/data dustynv/jetson-inference:r32.7.1 /bin/bash
开始测试
cd build/aarch64/bin
# C++
$ ./detectnet --network=ssd-mobilenet-v2 images/peds_0.jpg images/test/output.jpg # --network flag is optional
# Python
$ ./detectnet.py --network=ssd-mobilenet-v2 images/peds_0.jpg images/test/output.jpg # --network flag is optional
目标检测结果
三、训练自己的目标检测模型
- 拍摄自己的对象,标注
- 训练
- 推理
在主机上使用摄像头可查看:Jeson nano–安装使用摄像头csi/usb https://blog.csdn.net/m0_70420861/article/details/135583513?spm=1001.2014.3001.5501
docker中如何查看宿主机摄像头
首先查询,在docker中无法查询到宿主机中的摄像头
ls /dev/video*
CSI 摄像头:使用 “-v /tmp/argus_socket:/tmp/argus_socket – device /dev/video0” 方式进行映射
USB 摄像头:使用 “-v /dev/video0:/dev/video0 –device /dev/video0” 方式进行映射
这里video0是里面查询的,是第几个摄像头,记得改
csi摄像头
docker run -it --rm --runtime nvidia -v ~/jetson-inference/data/:/jetson-inference/data/ -v
/tmp/argus_socket:/tmp/argus_socket --device /dev/video0 dustynv/jetson-inference:r32.7.1 /bin/bash
docker run -it --rm --runtime nvidia -v ~/jetson-inference/data/:/jetson-inference/data/ -v /dev/video0:/dev/video0 --device /dev/video0 dustynv/jetson-inference:r32.7.1 /bin/bash
即映射成功,可以在docker中查询摄像头了
usbCamera.py
import cv2
cap=cv2.VideoCapture(0) # 根据设备id填写
while True:
success,img=cap.read()
cv2.imshow("Video",img)
if cv2.waitKey(1)&0xFF==ord('q'):
break
python usbCamera.py
在docker 运行带图形化界面的程序
–network host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix -v
/etc/enctune.conf:/etc/enctune.conf
实例:
先运行
xhost +
再运行
docker run -it --rm --runtime nvidia -v ~/jetson-inference/data/:/jetsoninference/data/ -v /dev/video0:/dev/video0 --device /dev/video1 --network host -e DISPLAY=$DISPLAY -v /tmp/.X11-unix/:/tmp/.X11-unix -v /etc/enctune.conf:/etc/enctune.conf dustynv/jetson-inference:r32.7.1 /bin/bash
即可打开摄像头
总结
下节收集训练数据集,训练推理