相机|Darknet这个用C写的相对小众深度学习框架,能识别万物

相机|Darknet这个用C写的相对小众深度学习框架,能识别万物

说到常用的深度学习框架 , 可能关注或者从事相关行业的朋友耳熟能详的框架张口就来 。 比如我们可能第一会想到Tensorflow或PyTorch , 或者国内百度飞桨 。 或者教学上常用的MXNet这样的框架 。 当然我们还能找到很多其他的AI框架 , 不过这次机智客学习的则是一款相对小众的AI框架:Darknet 。



当然了 , 时至今日 , 如果说Darknet相对小众 , 可能有点说不过去 。 实际情况是 , 很早之前机智客就在网上看到过它 , 只不过忽略了 , 没有太在意罢了 。 而那时候 , 它的确属于一个相对小众的AI框架 。 而现在 , 可能很多朋友都知道它 , 即便你并不熟悉 , 可能里也知道YOLO模型 。 这个 , 简直就是目标检测的明星模型 。
【相机|Darknet这个用C写的相对小众深度学习框架,能识别万物】
的确 , YOLO每一个版本 , 都有比较大的进步 。 而现在的YOLOv5已经可以在安卓手机上解锁其识别功能了 , 不可谓不强大 。 Darknet简直就是YOLO带出来的影响力 。 YOLO识别万物 , 速度喜人 。 因此 , 有YOLO遍地开花活生生的实例 , Darknet的速度可以说是数一数二的 。



它是由Joseph Redmon提出的一个用C和CUDA编写的开源神经网络框架 。 它安装速度快 , 易于安装 , 并支持CPU和GPU计算 。 目标检测的速度是它的特点 , YOLO是它的核心灵魂 。 所以谈及Darknet就是在谈YOLO 。 而在YOLO算法中是把物体检测问题处理成回归问题 , 用一个卷积神经网络结构就可以从输入图像直接预测bounding box和类别概率 。



基于全局信息进行预测 , 检测速度快 , 准确率高 。 泛化能力强 , 这些都是YOLO的优势 。 设计理念则是遵循端到端训练和实时检测 。 YOLO将输入图像划分为S*S个网格 , 如果一个物体的中心落在某网格(cell)内 , 则相应网格负责检测该物体 。 当然 , YOLO也不是没有缺点 , 比如位置精确度差 。



不管怎么说 , YOLO都是一款很有实用性比较值得了解学习的模型 。 最新的版本中 , YOLOv5s可以在安卓手机上使用了 。 这个项目已经在Github上开源 。 需要配备的环境 , 主机是Ubuntu18.04 , Docker容器包括Tensorflow 2.4.0 , PyTorch 1.7.0 , OpenVino 2021.3 , 安卓相关的包括Android Studio 4.2.1 , minSdkVersion 28 , targetSdkVersion 29 , TfLite 2.4.0以及小米11和MUI12.5.8好家伙 , 小米上阵了 。 最后测试结果显示 , 不管模型精度是float32还是int8 , 时间都能控制在250ms以内 , 连半秒的时间都不到 。 一个很有意思的项目 , 很好玩的YOLO项目 。

    相关经验推荐