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

机智客 2021-12-08 19:57:48

说到常用的深度学习框架,可能关注或者从事相关行业的朋友耳熟能详的框架张口就来。比如我们可能第一会想到Tensorflow或PyTorch,或者国内百度飞桨。或者教学上常用的MXNet这样的框架。当然我们还能找到很多其他的AI框架,不过这次机智客学习的则是一款相对小众的AI框架:Darknet。当然了,时至今日,如果说Darknet相对小众,可能有点说不过去。实际情况是,很早之前机智客就在网上看到过它,只不过忽略了,没有太在意罢了。而那时候,它的确属于一个相对小众的AI框架。而现在,可能很多朋友都知道它,即便你并不熟悉,可能里也知道YOLO模型。这个,简直就是目标检测的明星模型。

的确,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项目。

0 阅读:615
评论列表
  • 2021-12-10 07:18

    250ms也好意思炫耀?

机智客

简介:始于计算机;陷于AI机器人等现代科技;终于,学傻了吧