本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。最轻量级的YOLO算法出炉!这是一个非常小的模型,号称目前最快的YOLO算法——大小只有1.3MB,单核每秒148帧,可以轻松部署在移动设备上。而且,这个YOLO-Fastest算法满足所有平台的需求。不管是PyTorch,还是Tensorflow,亦或是Keras和Caffe,可以说是全平台通用。此外,作者还推出了超轻型YOLO的“扩展版”,同样只需要3.5MB就可以达到比YOLOv3更好的目标检测效果。那么,这样的光网络检测效果如何呢?1.3MB超轻YOLO检测效果下图为快速奔跑的动物。如您所见,该算法预测该动物是鸡的概率为95%。不仅在动物检测上,在人体检测上也是如此。从图中可以看出,正面人物的预测概率超过90%。即便是靠近侧面的人脸,系统也能准确预测出来,只是概率会比较小,接近50%。另外可以看出,YOLO不仅可以检测行人和动物,还可以检测餐桌、瓶子等物体。当然,桌子上还有其他的瓶子,只是没有被发现。而这种检测效果只需要1.3MB的YOLO-Fastest模型。与3.0MB的MobileNet-YOLOv3相比,参数减少了65%,速度提高了45%。如果对硬件要求不是那么高,比较看重精度的话,这里的YOLO-Fastest-XL会比较合适。这个“放大版”YOLO-Fastest算法是一个3.5MB的算法模型,mAP要高很多,达到了68.8%。总体来说,YOLO-Fastest是一种牺牲了一定精度(约5%mAP),速度大幅提升的目标检测模型。结合最强的移动端轻量级神经网络,之所以这么小,也是因为这个YOLO-Fastest搭配的是目前最强的移动端轻量级神经网络EfficientNet-lite。这是一个比MobileNet更轻的神经网络,但是图像分类的效果还不错。△EfficientNet-lite架构但是这样的压缩会牺牲一定的精度。与YOLOv3相比,YOLO-Fastest模型的mAP仅为60.8%。但是对于一些容量有限的硬件来说,申请就足够了。那么,为什么要在目标检测算法中选择YOLO呢?YOLO:FasttargetdetectionYOLO目标检测算法的核心在于模型体积小,计算速度快。与R-CNN系列(FastR-CNN、FasterR-CNN等)的算法相比,YOLO的精度不在舞台上,而是在速度上杠杠的。检测速度可以从先验框(下图中彩色框)的变换频率看出。之所以追求速度,是因为目标检测作为安防和自动驾驶领域的核心算法,讲究实时性。如果安全部门需要几秒钟的时间才能检测到小偷的存在,或者如果自动驾驶汽车感知路障的速度非常慢,那么后果可能是灾难性的。此后诞生的SSD算法有点像是R-CNN和YOLO算法的折衷。但对于一些存储量有限的硬件,还是只有YOLO能“塞进去”。只有230MFLOPS(每秒运行230万次浮点运算)的YOLO-Fastest模型为计算能力不足的硬件提供了在更小机器上运行的机会。作者比较有意思的是,GitHub上名叫dog-qiuqiu的作者之前写过基于MobileNet图像分类算法的YOLOv3(GitHub1.1kstars),同样可以在全平台使用。不仅如此,全平台通用的MobileNet-YOLOv3在体积和精度上都优于MobileNet-SSD。MobileNet-YOLOv3的体积只有8.0MB(比SSD少15.1MB),mAP达到73.26%(比SSD高0.56%)。有兴趣的可以戳下方传送门查看这个目标检测算法。传送门1.3MB超轻量级YOLO:https://github.com/dog-qiuqiu/Yolo-FastestMobileNet-YOLO效果比SSD更好:https://github.com/dog-qiuqiu/MobileNet-Yolo
