一维卷积神经网络_5分钟GET AI - YOLO的卷积神经网络

4f118623d2bb2d48c4514a7a82ad387d.png

本文攻略:通过分析 YOLO 神经网络,理解卷积神经网络工作原理

建议玩家等级:技术圈外人(建议只看图片,也能理解),AI新手,学生党,初级码农

阅读此文先解锁技能:

  1. 一点点命令行基础
  2. 一点点 C++ 基础
  3. 卷积神经网络基础
  4. YOLO 基础:How to use YOLO with python, How YOLO only look once

实践此文推荐装备:

  1. 操作系统:macOS Sierra
  2. IDE:VSCode

PART 1: 卷积神经网络 Convolution Neural Network

神经网络是一个狂拽炫酷的名词,前面再加卷积二字听起来更是吊炸天。本文就不普及卷积神经网络了,因为有很多大神的科普文章已经让人无法超越,我们只要站在大神的肩膀上进行操作,并理解 YOLO 黑魔法的本质原理。

YOLO 作者使用了自己设计的卷积神经网络模型,取名 Darknet。YOLOv2 使用了32层网络,Tiny YOLO 只使用了16层网络,这也是后者运行速度更快,而前者检测成功率更高的原因。

卷积层 conv:负责提取特征图片

池化层 max:负责降低特征图片维度,从而降低运算量。这里使用的是 max pooling

输出层 detection:输出一维预测数组

YOLOv2 32 层网络具体如图:

68c8c648a86857be3598d50d2ac3a40e.png

Tiny YOLO 16 层网络具体如图:

5a79098954e3a1b5790e5ca52aa5d796.png

PART 2: 特征图片 Feature Map

特征图片可以理解为AI对一张图片理解过程的中间产物,神经网络模型设计的越好,AI的理解就会越深刻。特征图片在源码里都是一维特征数组,于是我提取了神经网络每一层输出的特征数组,并将其进行图片可视化。这里展示的是 Tiny YOLO 版本的特征图片。

神经网络第 0 层输入图片:

e6b780a379a0b918ca5f663064d8b899.png

第 0 层卷积输出,第 1 层池化输出,共 16 个通道:

48000abbe751b2acbcfa0fbaf3aef2cc.png

第 2 层卷积输出,第 3 层池化输出,共 32 个通道:

84a2a4b5b50ff012330be27e7c29232e.png

第 4 层卷积输出,第 5 层池化输出,共 64 个通道:

fd3193d3036fedca3fc0677f4396be13.png

第 6 层卷积输出,第 7 层池化输出,共 128 个通道:

a863709f101e71e9c5fc85b034047621.png

第 8 层卷积输出,第 9 层池化输出,共 256 个通道:

e35b33050fa008b2097be8b62d59e34d.png

这里我分别只展示了第0~9层网络输出后的特征图片,因为第9层后的所有特征图片大小都为13*13,已经呈现出人类肉眼难以理解的像素颗粒。但我们可以通过这个特征提取过程,直观的感受到 YOLO 的神经网络对一张图片究竟干了些什么。

PART FINAL: Do it yourself

这就是黑魔法神经网络如何预测一张图片的过程,当然这里面我隐藏了很多很多的原理细节,是这些细节才构成了神经网络,这些细节是人类智慧真正的结晶。

-->附赠代码、特征数组和特征图片,猛戳下载<--


如需合作或转载请联系本文作者,跪谢

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值