jeston nano介绍:
话不多说,官网介绍详细,这里就不浪费大家时间啦,感兴趣戳这里了解更多。
jeston nano供电:
Jetson Nano开发板有5种供电方式:
5V 2A(micro USB)
5V 3A(GPIO引脚)
5V 4A(DC接口)
5V 6A(所有电源IO反向供电)
POE供电
5V 2A是受限于USB自身,强烈推荐DC 4A供电,满足Jetson Nano大部分使用场景,同时可带动摄像头,显示屏,USB设备等负载。因为比赛要求不允许外插电源所以我们使用的是英伟达专用DC供电板,提供5V4A电压电流。而且实测跑YOLOv3检测识别物体,有风扇和7寸屏需要供电
CPU占用70%左右,电流大概2.9A,如果USB供电只能最大到2A,无法满足测试条件;如果DC用3A,则电源一直处于满负载状态会出现过热保护,所以我们选择5V4A电源满足我们大部门应用程序测试。
jeston nano启动:
烧写完后把SD卡直接插入Jetson Nano,另外我们给Jetson Nano通过HDMI连接显示器、DC电源(跳线帽短接J48)、鼠标、键盘,就可以进入Jetson Nano系统了。
jeston nano配置镜像:(以下转载亚博官网)
Jetson Nano是一款形状和接口类似于树莓派的嵌入式主板,搭载了四核Cortex-A57处理器,GPU则是拥有128个NVIDIA CUDA核心的NVIDIA Maxwell架构显卡,内存为4GB的LPDDR4,存储则为16GB eMMC 5.1,支持4K 60Hz视频解码。
(一)准备安装
1. 电源线(必备)
Jetson Nano中并不包括电源线,您需要自己配一根,具体的参数是5V⎓2A的MicroUSB电源线。可以使用树莓派电源5V⎓2.5A的MicroUSB线。这里我们选择店里的5V4A DC供电,注意J48需要用跳线帽短接。
2. SD卡 (必备)
Jetson Nano要求最低配置16G的SD卡,但是整个系统刷完SD卡就被用了大概13G,后期还要安装TensorFlow等一些机器学习框架,还有可能要安装样本数据,所以16G的卡是不够用的,店里套餐选择32G卡。
3. 无线网卡 (选配)
Jetson Nano搭载了千兆以太网卡,但是需要接键盘和鼠标网线很麻烦,
所以建议可以买个PCI无线网卡(店里套餐推荐)或者USB无线网卡(多占用一个USB口)。
(二)刷系统
Jetson Nano刷系统的方式与Jetson家族的TX系列不一样,直接把镜像写入SD文件即可。
1. 下载镜像
英伟达官方地址
Jetson Download Center | NVIDIA Developer
2 . 格式化SD卡
使用SD Card Formatter格式化SD卡
3. 使用Etcher写入镜像,大概30分钟,镜像写入完毕。
也可以用Win32 Diskimg写入镜像
balenaEtcher - Flash OS images to SD cards & USB drives
注意:下载下来的是压缩文件,必须解压成 img 文件才可以烧录。
4. 烧写完成后,将SD卡插入Jetson Nano,开机,注意使用DC电源需要短接J48跳线帽,使用microUSb需要拔掉J48跳线帽。
5. 完成一些设置,时区,语言,输入法什么的,就不截图了,看见下图,大功告成
4. Win32 Diskimg写入镜像实例。(推荐使用)
1. 解压下载的系统压缩文件,得到img镜像文件
2. 将SD使用卡托或者读卡器后,连上电脑
3. 解压并运行win32diskimager工具
4. 在软件中选择img(镜像)文件,“Device”下选择SD的盘符,然后选择“Write”
然后就开始安装系统了,根据你的SD速度,安装过程有快有慢。
5.安装结束后会弹出完成对话框,说明安装就完成了,如果不成功,请关闭防火墙一类的软件,重新插入SD进行安装。请注意安装完,windows系统下看到SD卡的内存大小很小,这是正常现象,因为linux下的磁盘分区win下是看不到的!
至此,Jetson Nano就烧写成功。烧录成功后系统可能会因为无法识别分区而提示格式化分区,此时不要格式化!不要格式化!不要格式化!点击取消,然后弹出内存卡,插入到Jetson Nano上即可开机。
jeston nano跑yolov4-tiny:
首先在这里简单介绍一下yolov4-tiny,以及yolov4: yolov4的训练参数有64363101个,而yolov4-tiny只有5918006个,比yolov4少了十倍。因此yolov4-tiny加载模型的速度上也是更快的。yolov4-tiny实测速度大概在22fps左右,在中等点的显卡上速度差不多能达到几百。就是说,tiny是yolov4的压缩版,主要运行小算力cpu核心版本,在jetso nano 上使用tiny版帧率会比yolov4提升十多倍。总的来说还是推荐使用yolov4-tiny,帧率提升很多,使用感会提升很多。
其次是在英伟达上搭载yolov4-tiny所需环境:
1. 安装CUDA,OpenCV,cuDNN
配置镜像会安装好这些,具体可自行搜索。
2. 下载
3. 配置
cd darknet
sudo vim Makefile #修改Makefile
4. 将Makefile的前三行修改一下
GPU=1
CUDNN=1
OPENCV=1
5. 编译
在darknet路径下编译
make -j4
6. 放置权重文件
这里直接到.5、常用的库和模型文件yolov4和yolov4-tiny的权重文件,将权重文件yolov4.weights和yolov4-tiny.weights拷贝至darknet目录下
7. 测试
Yolov4图片的检测
./darknet detect cfg/yolov4.cfg yolov4.weights data/dog.jpg # 简写版
./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg # 完整版
Yolov4-tiny图片的检测
./darknet detect cfg/yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg # 简写版
./darknet detector test cfg/coco.data cfg/yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg # 完整版
# 改变检测阈值
# 默认情况下,YOLO仅显示检测到的置信度为.25或更高的对象。您可以通过将-thresh标志传递给yolo命令来更改此设置。
例如,要显示所有检测,您可以将阈值设置为0.1:
./darknet detect cfg/yolov4-tiny.cfg yolov4-tiny.weights data/dog.jpg -thresh 0.1
Yolov4视频的检测(github下来的data里面并没有该视频文件,需要用户自行上传要检测的视频文件到data文件夹下)
./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights data/123.mp4
Yolov4-tiny视频的检测
Yolov4-tiny视频的检测(github下来的data里面并没有该视频文件,需要用户自行上传要检测的视频文件到data文件夹下)
./darknet detector demo cfg/coco.data cfg/yolov4-tiny.cfg yolov4-tiny.weights data/xxx.mp4
Yolov4见下图:
yolov4-tiny见下图:
Yolov4摄像头实时检测方法:
./darknet detector demo cfg/coco.data cfg/yolov4.cfg yolov4.weights /dev/video1
Yolov4-tiny摄像头实时检测方法:
./darknet detector demo cfg/coco.data cfg/yolov4-tiny.cfg yolov4-tiny.weights /dev/video1
注意video设备选择USB摄像头对应的编号,上方为选择了USB摄像头的编号video1