腾讯优图NCNN详细分析及实践操作(含Yolov5实践)

2020 年 11 月 22 日 计算机视觉战队

欢迎关注“
计算机视觉研究院

计算机视觉研究院专栏
作者:Edison_G



11 月 19 日,历经数月打磨,由InfoQ发起并组织,共有300+参评项目,100+入围项目,10000+开发者公开票选,20+顶尖专家评审,10+主编团打分的【 2020 中国技术力量年度榜单评选】结果终见分晓。


腾讯优图「ncnn」荣获
2020年度十大开源新锐项目!



关于ncnn

「ncnn」是一个针对移动平台优化的高性能神经网络推理框架,并在2017年7月正式开源。ncnn是腾讯优图最“火”的开源项目之一,作为一个为手机端极致优化的高性能神经网络前向计算框架,在设计之初便将手机端的特殊场景融入核心理念,是业界首个为移动端优化的开源神经网络推断库。能实现无第三方依赖,跨平台操作,在手机端cpu运算速度在开源框架中处于领先水平。基于该平台,开发者能够轻松将深度学习算法移植到手机端,输出高效的执行,进而产出人工智能APP,将AI技术带到用户指尖。


它支持大部分常用的 CNN 网络,包括Classical CNN、Practical CNN、Light-weight CNN、Face Detection等,并拥有十分强大的功能👇

1

支持卷积神经网络,支持多输入和多分支结构

2

无任何第三方库依赖

3

纯 C++ 实现,跨平台,支持 android、ios 等

4

内存占用极低,计算速度极快

5

支持多核并行计算加速

6

可扩展的模型设计,支持 8bit 量化和半精度浮点存储


_


目前应用在许多图像分类、风格迁移、目标检测、人脸检测案例中,并已被多款APP使用。欢迎大家前来评测使用👇


https://github.com/Tencent/ncnn


我们将NCNN与其他框架对比下:
ncnn 是一个为手机端极致优化的高性能神经网络前向计算框架。ncnn 从设计之初深刻考虑手机端的部署和使用。无第三方依赖,跨平台,手机端 cpu 的速度快于目前所有已知的开源框架。基于 ncnn,开发者能够将深度学习算法轻松移植到手机端高效执行,开发出人工智能 APP,将 AI 带到你的指尖。ncnn 目前已在腾讯多款应用中使用,如 QQ,Qzone,微信,天天P图等。

支持大部分常用的 CNN 网络

  • Classical CNN: VGG AlexNet GoogleNet Inception ...

  • Practical CNN: ResNet DenseNet SENet FPN ...

  • Light-weight CNN: SqueezeNet MobileNetV1/V2/V3 ShuffleNetV1/V2 MNasNet ...

  • Face Detection: MTCNN RetinaFace ...

  • Detection: VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite MobileNetV3-SSDLite ...

  • Detection: Faster-RCNN R-FCN ...

  • Detection: YOLOV2 YOLOV3 MobileNet-YOLOV3 YOLOV4 YOLOV5 ...

  • Segmentation: FCN PSPNet UNet YOLACT ...

  • Pose Estimation: SimplePose ...

功能概述

  • 支持卷积神经网络,支持多输入和多分支结构,可计算部分分支

  • 无任何第三方库依赖,不依赖 BLAS/NNPACK 等计算框架

  • 纯 C++ 实现,跨平台,支持 android ios 等

  • ARM NEON 汇编级良心优化,计算速度极快

  • 精细的内存管理和数据结构设计,内存占用极低

  • 支持多核并行计算加速,ARM big.LITTLE cpu 调度优化

  • 支持基于全新低消耗的 vulkan api GPU 加速

  • 整体库体积小于 700K,并可轻松精简到小于 300K

  • 可扩展的模型设计,支持 8bit 量化和半精度浮点存储,可导入 caffe/pytorch/mxnet/onnx/darknet/keras/tensorflow(mlir) 模型

  • 支持直接内存零拷贝引用加载网络模型

  • 可注册自定义层实现并扩展

  • 恩,很强就是了,不怕被塞卷 QvQ

supported platform matrix


ncnn-android-yolov5案例

how to build and run

step1

https://github.com/Tencent/ncnn/releases

download ncnn-android-vulkan-lib.zip or build ncnn for android yourself

step2

extract ncnn-android-vulkan-lib.zip into app/src/main/jni or change the ncnn path to yours in app/src/main/jni/CMakeLists.txt

step3

open this project with Android Studio, build it and enjoy!

caffe-android-lib, mini-caffe, and ncnn对比

squeezenet_v1.1

mobilenet_v1


vgg16


/End.


我们开创“ 计算机视觉协会 ”知识星球一年有余,也得到很多同学的认可,我们定时会推送实践型内容与大家分享,在星球里的同学可以随时提问,随时提需求,我们都会及时给予回复及给出对应的答复。

如果想加入我们“ 计算机视觉研究院 ”,请扫二维码加入我们。我们会按照你的需求将你拉入对应的学习群!
计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重” 研究 “。之后我们会针对相应领域分享实践过程,让大家真正体会 摆脱理论 的真实场景,培养爱动手编程爱动脑思考的习惯!

后台回复“NCNN”

获取Yolov5实践源码下载地址

计算机视觉研究院
长按扫描二维码关注我们
登录查看更多
1

相关内容

【博士论文】搜索引擎中的实体推荐关键技术研究
专知会员服务
43+阅读 · 2020年12月9日
专知会员服务
78+阅读 · 2020年8月4日
深度学习目标检测方法综述
专知会员服务
259+阅读 · 2020年8月1日
深度学习批归一化及其相关算法研究进展
专知会员服务
49+阅读 · 2020年7月17日
深度学习目标检测方法及其主流框架综述
专知会员服务
143+阅读 · 2020年6月26日
专知会员服务
31+阅读 · 2020年4月24日
[CVPR 2020-港中文-MIT] 神经架构搜索鲁棒性
专知会员服务
25+阅读 · 2020年4月7日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
1500+ FPS!目前最快的CNN人脸检测算法开源
极市平台
25+阅读 · 2019年3月15日
深度学习已入门?请用这本来深入!
图灵教育
6+阅读 · 2018年5月11日
SSD多盒实时目标检测教程
论智
13+阅读 · 2018年4月5日
【下载】PyTorch 实现的YOLO v2目标检测算法
专知
15+阅读 · 2017年12月27日
深度学习入门篇--手把手教你用 TensorFlow 训练模型
全球人工智能
4+阅读 · 2017年10月21日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
Arxiv
0+阅读 · 2021年1月27日
Arxiv
12+阅读 · 2019年4月9日
Arxiv
3+阅读 · 2019年3月15日
Arxiv
6+阅读 · 2018年7月9日
Arxiv
3+阅读 · 2018年6月14日
Arxiv
5+阅读 · 2018年4月17日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关VIP内容
【博士论文】搜索引擎中的实体推荐关键技术研究
专知会员服务
43+阅读 · 2020年12月9日
专知会员服务
78+阅读 · 2020年8月4日
深度学习目标检测方法综述
专知会员服务
259+阅读 · 2020年8月1日
深度学习批归一化及其相关算法研究进展
专知会员服务
49+阅读 · 2020年7月17日
深度学习目标检测方法及其主流框架综述
专知会员服务
143+阅读 · 2020年6月26日
专知会员服务
31+阅读 · 2020年4月24日
[CVPR 2020-港中文-MIT] 神经架构搜索鲁棒性
专知会员服务
25+阅读 · 2020年4月7日
深度学习算法与架构回顾
专知会员服务
77+阅读 · 2019年10月20日
相关资讯
1500+ FPS!目前最快的CNN人脸检测算法开源
极市平台
25+阅读 · 2019年3月15日
深度学习已入门?请用这本来深入!
图灵教育
6+阅读 · 2018年5月11日
SSD多盒实时目标检测教程
论智
13+阅读 · 2018年4月5日
【下载】PyTorch 实现的YOLO v2目标检测算法
专知
15+阅读 · 2017年12月27日
深度学习入门篇--手把手教你用 TensorFlow 训练模型
全球人工智能
4+阅读 · 2017年10月21日
【推荐】深度学习目标检测全面综述
机器学习研究会
21+阅读 · 2017年9月13日
相关论文
Arxiv
0+阅读 · 2021年1月27日
Arxiv
12+阅读 · 2019年4月9日
Arxiv
3+阅读 · 2019年3月15日
Arxiv
6+阅读 · 2018年7月9日
Arxiv
3+阅读 · 2018年6月14日
Arxiv
5+阅读 · 2018年4月17日
Arxiv
7+阅读 · 2018年1月24日
Top
微信扫码咨询专知VIP会员