瑞芯微 Toybrick RK3399Pro开发 --YOLOV3开发与实现
概述
基于RKNN开发
搭建开发环境
训练自己的数据
基于Darknet开发
展望
一、概述
物体检测
- 传统的人工设计特征加浅层分类器
- 基于深度学习检测框架
R-CNN:候选区域选择CNN特征提取分类与边界回归
**Fast RCNN:**候选余秋雨选择整图CNN特征值提取,候选框在特征图上的映射分类
**Faster RCNN:**区域生成网络RPN候选框提取模块+Fast RCNN检测模块(RPN是全卷积神经网络)
YOLOV3: 一阶段的检测器,全卷积神经网络
YOLOV3
YOLO的全名是:You Only Look Once.
YOLO算法的基本思想是:首先将输入图像分成S*S个格子,如果某个预测对象的中心坐标落在某个格子中,那么就由该格子来预测该对象,每个格子都会预测B个边界框,每个边界框输出为(5+C)长度参数
SxS: 在yolov3-416中会切割成13x13, 26x26, 52x52
B: 在yolov3中该值为3, 由anchors决定
C: 模型可预测分类, VOC数据集为20,coco数据集为80,也可以自己训练
5 bounding box边界框的中心坐标,长宽,对象置信度
Yolov3原理
Yolov3后处理
Yolov3速度对比
二、搭建开发环境
三、基于Darknet开发
PC或者开发板都可以,推荐PC
四、基于RKNN开发
移到开发板
五、训练自己的数据
标注图片
六、展望
14帧左右-单线程
多线程快
多线程策略:
前处理开一个线程,NPU开第二个线程,后处理开第三个线程
至少可以提高到30帧