CNET IOT深度学习推理库

damone大约 123 分钟工作总结CNET深度学习

CNET 是一个 C99 开发的的面向 iot 设备设计的深度学习推理库,实现深度学习算法在 iot 设备上的快速部署。

1 使命

CNET 为 IOT 的 DNN 而生,是业界首个面向 IoT 完善的 dnn 框架

2 主要特点

  • C 语言开发, 极高的性能和兼容性
  • 极简设计,高效的内存管理,清晰的架构设计
  • 易于扩展,模块话设计,轻松完成裁剪和扩展
  • 轻便, 完整的二进制库不到 300kb
  • 可靠,完善的内存监测测试, 保证无内存泄露
  • 完善,提供高达 60 种操作实现,支持现有的大量模型
  • 高效,汇编优化,KPU 支持

3 支持情况

  • 完全兼容 ncnn 二进制模型, 支持导入 Caffe/Pytorch/Omnx/Mxnet/Tensorflow/MNN 模型;
  • 全面量化支持,支持后量化训练, 支持所有操作量化, 支持 FP32 及 INT8/UINT8 推理混合
  • 支持 K210,ESP32 等主流芯片,理论上完全兼容支持 c99 的所有模块
  • 支持 ARM A 系列性能 CPU 及 Intel 系列高性能 CPU 加速, 加速 30-100 倍
  • 支持分类, 目标检测, 目标分割, 人脸识别, 车牌识别等主流算法

3.1 车应用相关

  1. 车辆检测
  • mobilenet ssd, 支持 FP32 和 INT8
  • 将支持更多模型 movilenetv3-yolo/ssd/other
  1. 车型识别
  • cnn, mobilnetv1, 可以替换基础网络, 如: mobilenetv2/v3
  1. 车牌检测
  • mobilenet ssd, 支持 FP32 和 INT8
  • mtcnn, 支持 FP32 和 INT8
  • 将支持更多模型 movilenetv3-yolo/ssd/other
  1. 车牌矫正
  • 传统图像处理 + 仿射变换
  • CNN 关键点检测 + 仿射变换
  1. 车牌识别,车牌 + 颜色
  • OCR, CNN, 支持 FP32 和 INT8
  1. 车道检测,行车线检测
  • CNN + GAN, ADAS 基础功能

3.2 人脸识别

  1. 人脸检测
  • mobilenet ssd/yolo, 支持 FP32 和 INT8
  • mtcnn, 支持 FP32 和 INT8
  • 将支持更多模型 movilenetv3-yolo/ssd/other
  1. 人脸关键点检测
  • MTCNN 5 个关键点, 支持 FP32 和 INT8
  • Landmark 106 关键点
  1. 人脸矫正
  • 关键点 + 仿射变换
  1. 人脸验证
  • CNN + VECTOR, mbilenet-face, mobilenetv1/v2/v3
  1. 人脸姿势检测
  • 关键点分析
  1. 美颜及增强
  • 传统图像处理
  1. 活体检测
  • landmarks + 配合
  1. 人脸属性检测,性别,年龄,表情
  • CNN 推理
  1. 人脸跟踪
  • 人脸检测 + ONET + Filter

3.3 客流统计

  • 目标检测, 支持 YOLO/SSD/MTCNN, 支持前段 mobilev1/v2/v3
  • 目标跟踪, ONET + Filter

3.4 人体姿势预估

  • Openpose 系列, 人体关键点, 头部检测, 手势检测
  • 基于人体关键点的行为分析,举手、抱头,摔倒,攀爬等

  1. RK3399 A53 x4 1.4G, A72 x2 1.8G
  1. Intel(R) Core(TM) i7-5500U x4 2.4G

5 示例

  • 人脸检测
  • 车牌检测