【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

ncnn是腾讯开放的一个深度学习库。它的主要使用场景是嵌入式设备。如果大家已经用tensorflow、mxnet、caffe训练好了网络模型,那么可以port到这个库上面,在ncnn上面执行起来。

1、ncnn下载地址

https://github.com/Tencent/ncnn/tree/master/tools

2、ncnn目录结构

benchmark, 常用网络的配置方法

examples ,ncnn的使用方法

images,测试图片

src,源代码,主要包括network和各个layer的编译代码

toolchains,支持的各嵌入式平台

tools,实现其他深度学习平台到ncnn的数据转换

3、对arm a系列cpu的支持

软浮点的32位cpu

硬浮点的32位cpu

64位cpu

4、使用方法

由于ncnn本身不包括opencv,因此最好和opencv搭配使用。

另外由于net决定了计算的复杂度和模型大小,请务必先在pc上面优化好,然后port到ncnn上面。

ncnn只负责深度学习的优化,但驱动、上层代码、业务的优化也是必不可少的。

对image来说,不要每一帧都用深度学习,传统cv特征其实也不错。

ncnn代理不了多核arm,能多线程、多进程,就尽量多线程、多进程。

5、还可以改进的方向

对于不存在的layer,自己可以适当补充。

对于特定硬件已经实现的layer加速,比如TI soc提供的TI DL,可以port过来进一步提高速度。

如果是TI的soc,其实也可以看看能不能在dsp上面运行ncnn。

6、更快的加速方法

如果真的是产品级别的开发,它往往需要专门的硬件加速,比如说fpga或者cpld。

有了fpga或者cpld的硬件加速,再配合ncnn,这样出来的效果才能真正满足客户的要求。

ps:

本身ncnn考虑的已经很全面了,比如它提供了tools目录,只需要很少的步骤,就可以将tf、mxnet、caffe上的model转换过来,并且在ncnn上面运行起来。此外,如果同学们对一些传统模型不是很熟悉,benchmark也提供了各种network的配置方法,可以说十分人性化。此外不清楚怎么编译的朋友,可以好好看看README.md文件。ncnn确实是一个上手很容易的深度学习库。有兴趣的同学可以将它和darknet一起比较学习。

ncnn其实和tensorflow lite差不多,大家可以自己查找一下tensorflow lite的相关资料。其实不光是汽车,还是手机、安防设备、自主终端,大部分设备的学习还是要在嵌入式设备上面运行的。这就是ncnn这类本地库的意义。当然,如果网络传播的速度很快,云端执行和测试也是可以和必须的。

无人驾驶(ncnn学习)相关推荐

  1. 无人驾驶之MATLAB无人驾驶工具箱学习(3)

    接<无人驾驶之MATLAB无人驾驶工具箱学习(2)>中的内容. 4.驾驶情景生成及传感器模型 Generate Synthetic Detections from an Interacti ...

  2. 【自动驾驶技术】优达学城无人驾驶工程师学习笔记(六)——Github与Markdown相关教程

    Github与Markdown相关教程 本博文为笔者关于优达学城无人驾驶工程师课程中计算机视觉基础部分的学习笔记,该部分为实现车道线图像识别功能的基础课程,关于本课程的详细说明请参考优达学城官网. 优 ...

  3. 【自动驾驶技术】优达学城无人驾驶工程师学习笔记(七)——计算机视觉基础

    计算机视觉基础目录 前言 颜色选择(Color Selection) 理论基础 代码实践 区域筛选(Region Masking) 理论基础 代码实践 Canny边缘检测 问题背景 Canny边缘检测 ...

  4. 无人驾驶算法学习(七):基于事件的视觉里程计

    文章目录 标题:Event-based Vision: A Survey 摘要: 1. 介绍和应用 参与泡泡机器人新闻社翻译的第一篇文章 标题:Event-based Vision: A Survey ...

  5. 端到端无人驾驶文献学习:End-to-end Interpretable Neural Motion Planner

    End-to-end Interpretable Neural Motion Planner 1 简介 关键点 一些背景信息 3 深度结构化规划 3.1 深度结构化规划 输入表示 骨干网络 感知头 成 ...

  6. 深度学习自学(七):腾讯移动端开源框架ncnn学习总结

    一.支持的网络 Support most commonly used CNN network 支持大部分常用的 CNN 网络 Classical CNN Network: VGG AlexNet Go ...

  7. 无人驾驶算法学习(十一):IMU标定及Allan方差分析

    文章目录 0.引言 标定IMU的工具包参考港科大的github: https://github.com/gaowenliang/imu_utils 1.安装依赖: sudo apt-get insta ...

  8. 无人驾驶之MATLAB无人驾驶工具箱学习(1)

    更新完显卡驱动后,视频可以自动导入了,继续码.2018.08.11 1 坐标系转换 ADST(Automated Driving System Toolbox)中的坐标系 ADST中的坐标系: 世界坐 ...

  9. 无人驾驶算法学习(三):扩展卡尔曼滤波器Extended Kalman Filter

    文章目录 1.引言 2. 扩展卡尔曼滤波数学理论 3. 代码实战 3.1 python实现 3.2结果分析 1.引言 当系统状态方程不符合线性假设时,采用卡尔曼滤波无法获得理想的最优估计.高斯分布在非 ...

最新文章

  1. 数据结构-简单实现二叉树的先序、中序、后序遍历(java)
  2. TreeView数据绑定的方法
  3. truncate table语句和delete table语句的区别
  4. [Flex]Flex 3.0 and Adobe AIR 1.0正式版发布!
  5. pythonstdin_如何在Python中执行将数据写入stdin的进程?
  6. SSCLI中GC源码分析(1) - EE与BCL之间的调用接口FCall
  7. docker host模式拿到nginx远程ip端口_docker网络模式实战
  8. 7-8 mmh学长的Excel表格 (20分)
  9. “App开发者需要更新此App以在此iOS版本上正常工作 ” 解决方法
  10. vconsole 轻松实现移动端调试
  11. 第十三届蓝桥杯大赛JavaB个人赛题题解
  12. cisco硬件维修(交换机路由器防火墙模块电源维修)
  13. HDU - 2024 C语言合法标识符
  14. jQuery如何向HTML添加指定的内容
  15. latex参考文献中修改指定作者的格式来突出显示
  16. Vue 引入 icon 图标
  17. 收藏史上最全私募基投资模式策
  18. PDF 中图片的提取
  19. 数据挖掘实战(5)——关联规则(美国国会投票数据集)
  20. HTTP/2 Server Push 详解

热门文章

  1. 有软件开发,就要有软件测试!
  2. CCFollow和ActionCallFunc
  3. python -day16-模块介绍
  4. python学习如何从菜鸟到老手
  5. 翻译 - 【Dojo Tutorials】Getting Started with dojox/app
  6. 推荐一个很棒的JS绘图库Flot
  7. 分享50佳高质量免费按钮图标资源(上篇)[zz]
  8. XL, an extensible programming language, implements concept programming
  9. 软考信息系统项目管理师_信息化与信息系统5_信息系统规划_补充问题---软考高级之信息系统项目管理师007
  10. 大数据之-Hadoop3.x_MapReduce_CombineTextInputFormat---大数据之hadoop3.x工作笔记0108