Ⅰ Yolo-Fastest:超超超快的开源ARM实时目标检测算法
本文探讨了超快开源 ARM 实时目标检测算法 Yolo-Fastest 的定位与应用场景。
Yolo-Fastest 作为目前开源最快、最轻量的改进版 YOLO 通用目标检测算法,旨在打破算力瓶颈,让目标检测算法能在低成本的边缘端设备上实时运行,如树莓派3b、4 核 A53 1.2GHz 设备。在最新基于 NCNN 推理框架开启 BF16s 下,320x320 图像单次推理时间在 60ms~,在性能更加强劲的树莓派4b 下,单次推理时间缩短至 33ms,达到 30fps 的全实时效果。相较于应用广泛的轻量化目标检测算法 MobileNet-SSD 在树莓派3b 上需耗时 200ms 左右,Yolo-Fastest 速度提升了 3 倍以上,模型大小仅为 1.3MB,相比 MobileNet-SSD 的 23.2MB,其大小缩小了 20 倍,但精度损失了近 10 个百分点。
实际上,对于大多数检测任务,通常不会涉及 VOC 那样复杂的 20 类目标检测,一般为几类或单类检测,因此对模型的学习能力要求不高。此外,轻量化单类目标检测模型,如作者的 yoloface-500kb,证明了 Yolo-Fastest 适合在特定场景下使用。
作者还介绍了 Yolo-Fastest 的 XL 版本,虽然精度更高但模型更大,运行速度较慢,适用于高性能设备。基于麒麟990 的 NCNN 速度基准展示了 XL 版本的性能。
对于对精度有更高要求的场景,作者推荐了 MobileNetv2-yolov3-lite。该模型在 VOC 上达到 73.2% 的 mAP 和 37.4% AP05 COCO,模型大小仅 8MB,计算量为 1.8Bflops,比 MobileNet-SSD 系列算法轻量很多,精度也更高。
最后,作者提到,虽然旷视的 ThunderNet 在计算量、VOC 上的性能表现出色,但未开源。通过在 Object365 上训练模型并迁移至 VOC,Yolo-Fastest 的性能可能进一步提升。
总而言之,Yolo-Fastest 作为一款实用型模型,适用于多种架构的设备,模型算子简单,易于移植。无论 X86、ARM、GPU、NNIE、Android、Linux 等设备,均可兼容。
Ⅱ 鍚勭畻瀛愬簱瀵笴NN鐨勬敮鎸
OpenBLAS 鏄涓涓浼樺寲鐨 BLAS 搴擄紝鍩轰簬 GotoBLAS2 1.13 BSD 鐗堟湰銆
BLAS锛圔asic Linear Algebra Subprograms 鍩虹绾挎т唬鏁扮▼搴忛泦锛夋槸涓涓搴旂敤绋嬪簭鎺ュ彛锛圓PI锛夋爣鍑嗭紝鐢ㄤ互瑙勮寖鍙戝竷鍩虹绾挎т唬鏁版搷浣滅殑鏁板煎簱锛堝傜煝閲忔垨鐭╅樀涔樻硶锛夈傝ョ▼搴忛泦鏈鍒濆彂甯冧簬1979骞达紝骞剁敤浜庡缓绔嬫洿澶х殑鏁板肩▼搴忓寘锛堝侺APACK锛夈傚湪楂樻ц兘璁$畻棰嗗煙锛孊LAS琚骞挎硾浣跨敤銆備緥濡傦紝LINPACK鐨勮繍绠楁垚缁╁垯寰堝ぇ绋嬪害涓婂彇鍐充簬BLAS涓瀛愮▼搴廌GEMM鐨勮〃鐜般備负鎻愰珮鎬ц兘锛屽悇杞纭浠跺巶鍟嗗垯閽堝瑰叾浜у搧瀵笲LAS鎺ュ彛瀹炵幇杩涜岄珮搴︿紭鍖栥
鍐呴儴瀹炵幇浜嗗簳灞備箻娉曡繍绠楋紝NN鐩稿叧绠楁硶娌℃湁瀹炵幇
鍐呴儴瀹炵幇鐨勭畻娉曞寘鎷锛
Intel鏁板︽牳蹇冨嚱鏁板簱锛圡KL锛夋槸涓濂楅珮搴︿紭鍖栥佺嚎绋嬪畨鍏ㄧ殑鏁板︿緥绋嬨佸嚱鏁帮紝闈㈠悜楂樻ц兘鐨勫伐绋嬨佺戝︿笌璐㈠姟搴旂敤銆傝嫳鐗瑰皵 MKL 鐨勯泦缇ょ増鏈鍖呮嫭 ScaLAPACK 涓庡垎甯冨紡鍐呭瓨蹇閫熷倕绔嬪彾杞鎹锛屽苟鎻愪緵浜嗙嚎鎬т唬鏁 (BLAS銆丩APACK 鍜孲parse Solver)銆佸揩閫熷倕绔嬪彾杞鎹銆佺煝閲忔暟瀛 (Vector Math) 涓庨殢鏈哄彿鐮佺敓鎴愬櫒鏀鎸侊紝甯歌丯N绠楁硶濡俁N銆丆NN銆
OPEN AI LAB寮鍙戜簡涓娆捐交閲忕骇妯″潡鍖栫殑楂樻ц兘绁炵粡缃戠粶鎺ㄧ悊寮曟搸-Tengine锛屼笓闂ㄩ拡瀵笰rm宓屽叆寮忚惧囦紭鍖栵紝鎻愪緵瓒呰繃鎵鏈夊凡鐭ュ紑婧愭嗘灦鐨勬棤涓庝鸡姣旂殑鎬ц兘锛屽彲璺ㄥ钩鍙颁娇鐢ㄦ敮鎸丄ndroid锛孡inux銆
骞朵笖Tengine妗嗘灦涓嶄緷璧栦簬涓撶敤AI鑺鐗囷紝鐜版湁鐨勬垚鐔熻姱鐗囬氳繃Tengine妗嗘灦鍙浠ユ妸绠楀姏鎸栨帢鍑烘潵锛屽湪鏈鍦拌繘琛屼竴浜汚I搴旂敤鐨勫勭悊锛屼粠鑰屾彁楂樹簡鑺鐗囨ц兘锛屽苟闄嶄綆鎴愭湰銆
Tengine鍚屾椂杩樻敮鎸佸悇绫诲父瑙佸嵎绉绁炵粡缃戠粶锛屽寘鎷琒queezeNet锛孧obileNet锛孉lexNet锛孯esNet绛夛紝鏀鎸佸眰铻嶅悎銆8浣嶉噺鍖栫瓑浼樺寲绛栫暐銆傚苟涓旈氳繃璋冪敤閽堝逛笉鍚孋PU寰鏋勬灦浼樺寲鐨凥CL搴擄紝灏咥rm CPU鐨勬ц兘鍏呭垎鎸栨帢鍑烘潵銆
閽堝逛笉鍚岀殑妯″瀷锛屽崟鐙瑙f瀽锛屾渶鍚庢帹鐞
ncnn 鏄涓涓涓烘墜鏈虹鏋佽嚧浼樺寲鐨勯珮鎬ц兘绁炵粡缃戠粶鍓嶅悜璁$畻妗嗘灦銆俷cnn 浠庤捐′箣鍒濇繁鍒昏冭檻鎵嬫満绔鐨勯儴缃插拰浣跨敤銆傛棤绗涓夋柟渚濊禆锛岃法骞冲彴锛屾墜鏈虹 cpu 鐨勯熷害蹇浜庣洰鍓嶆墍鏈夊凡鐭ョ殑寮婧愭嗘灦銆傚熀浜 ncnn锛屽紑鍙戣呰兘澶熷皢娣卞害瀛︿範绠楁硶杞绘澗绉绘嶅埌鎵嬫満绔楂樻晥鎵ц岋紝寮鍙戝嚭浜哄伐鏅鸿兘 APP锛屽皢 AI 甯﹀埌浣犵殑鎸囧皷銆俷cnn 鐩鍓嶅凡鍦ㄨ吘璁澶氭惧簲鐢ㄤ腑浣跨敤锛屽 QQ锛孮zone锛屽井淇★紝澶╁ぉP鍥剧瓑銆
鏀鎸佸ぇ閮ㄥ垎甯哥敤鐨 CNN 缃戠粶
Classical CNN: VGG AlexNet GoogleNet Inception ...
Practical CNN: ResNet DenseNet SENet FPN ...
Light-weight CNN: SqueezeNet MobileNetV1/V2/V3 ShuffleNetV1/V2 MNasNet ...
Detection: MTCNN facedetection ...
Detection: VGG-SSD MobileNet-SSD SqueezeNet-SSD MobileNetV2-SSDLite ...
Detection: Faster-RCNN R-FCN ...
Detection: YOLOV2 YOLOV3 MobileNet-YOLOV3 YOLOV4...
Segmentation: FCN PSPNet UNet ...
閽堝逛笉鍚岀殑妯″瀷锛屽崟鐙瑙f瀽锛屾渶鍚庢帹鐞
MindSpore鏄涓涓鏂扮殑寮婧愭繁搴﹀︿範璁缁/鎺ㄧ悊妗嗘灦锛屽彲鐢ㄤ簬绉诲姩銆佽竟缂樺拰浜戝満鏅銆侻indSpore鏃ㄥ湪涓烘暟鎹绉戝﹀跺拰绠楁硶宸ョ▼甯堟彁渚涘弸濂借捐″拰楂樻晥鎵ц岀殑寮鍙戠粡楠岋紝涓篈scend AI澶勭悊鍣ㄦ彁渚涙湰鍦版敮鎸侊紝浠ュ強杞纭浠跺崗鍚屼紭鍖栥傚悓鏃讹紝MindSpore浣滀负涓涓鍏ㄧ悆鎬х殑浜哄伐鏅鸿兘寮婧愮ぞ鍖猴紝鏃ㄥ湪杩涗竴姝ユ帹杩涗汉宸ユ櫤鑳借蒋纭浠跺簲鐢ㄧ殑寮鍙戝拰涓板瘜鐢熸佺郴缁.MindSpore鏄涓涓鏂扮殑寮婧愭繁搴﹀︿範璁缁/鎺ㄧ悊妗嗘灦锛屽彲鐢ㄤ簬绉诲姩銆佽竟缂樺拰浜戝満鏅銆
Ⅲ yolo需要多少算力
YOLO算法需要的算力取决于具体的模型版本和应用场景,无法给出一个确定的数值。
YOLO算法是一种实时目标检测算法,它通过单个卷积神经网络直接从输入图像预测边界框和类别概率。不同的YOLO版本(如YOLOv1、YOLOv2、YOLOv3、YOLOv4等)具有不同的网络结构和复杂度,因此对算力的需求也有所不同。
一般来说,更高级别的YOLO版本(如YOLOv4)由于网络结构更复杂、功能更强大,因此需要的算力也相对较高。同时,输入图像的分辨率和大小也会影响算力的需求。高分辨率、大尺寸的图像需要更多的计算资源来进行处理。
在实际应用中,如果需要在高性能计算机或服务器上运行YOLO算法进行实时目标检测,那么需要选择具有足够算力的硬件设备。而如果是在嵌入式系统或移动设备上运行YOLO算法,可能需要选择更轻量级的模型或进行适当的优化以降低算力需求。
总的来说,YOLO算法需要的算力因版本和应用场景而异。在选择硬件设备和优化算法时,应根据具体需求进行权衡和选择。
Ⅳ 百度昆仑芯片性能是T4的3倍如何在服务器市场发挥作用
网络智能芯片部门的负责人欧阳剑在近日的公开课中,首次详细展示了其AI芯片新产品——昆仑K200,该芯片在性能上展现出强大优势,特别在Gemm-Int8的Benchmark测试中,其性能是英特尔T4 GPU的三倍之多。自2018年网络AI开发者大会推出首款自研芯片昆仑以来,网络凭借在FPGA和XPU架构的深厚积累,逐步推进芯片的研发进程。从2010年开始的AI架构FPGA研发,到2020年的量产,每一步都显示出网络对AI芯片的坚定投入和持续优化。
昆仑芯片定位为通用AI芯片,旨在提供高性能、低成本和高灵活性。相比于GPU,昆仑在通用性与编程性上更胜一筹,且网络还在不断提升其编程性。其架构上,拥有两个计算单元和512GB/S的内存带宽,以及16MB SRAM,特别对AI推理任务有很大帮助。
在技术规格上,第一代昆仑芯片采用三星14nm工艺和2.5D封装,峰值性能达到260TOPS,功耗仅为150W。它支持类似英伟达CUDA的软件栈,开发者可以方便地通过C/C++进行编程,降低开发难度。
在性能对比测试中,K200在语音模型Bert/Ernie和图像分割YOLOV3算法中表现出色,且在线上性能数据方面,稳定性优于T4,延迟也有所降低。目前,网络已通过网络云以定向邀请的方式提供K200的AI算力,未来将根据用户反馈进一步扩大服务范围。
值得注意的是,昆仑芯片与国产处理器飞腾的良好适配,被视作网络在国产化市场的重要策略。通过与飞腾的协同,网络旨在推动国产芯片在服务器市场的应用,为昆仑的市场增长提供了关键动力。