当前位置:   article > 正文

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

腾讯ncnn框架 毕业设计

欢迎关注“

计算机视觉研究院

计算机视觉研究院专栏

作者: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实践源码下载地址

计算机视觉研究院

长按扫描二维码关注我们

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/703243
推荐阅读
相关标签
  

闽ICP备14008679号