YOLOv4沒交棒,但YOLOv5來了!
前言
4月24日,YOLOv4來了!
5月30日,"YOLOv5"來了!
這里的 "YOLOv5" 是帶有引號的,因為 Amusi 認為網上剛出來的這個版本並稱不上YOLOv5。這也是為什么標題為:大神沒交棒,但YOLOv5來了!
YOLO原項目darknet(官方)截止2020年5月31日,並沒有更新添加這個"YOLOv5"的鏈接。最新的一次update還是上個月YOLOv4重磅出爐的那次,官方正式添加了YOLOv4項目鏈接。
關於YOLOv4,Amusi 認為那是真正的YOLOv4,也是YOLO系列的真正接班人。關於YOLOv4詳細內容,可見:大神接棒,YOLOv4來了!
大神沒交棒,YOLOv5來了!
先申明,Amusi 沒有刻意針對"YOLOv5"這個項目團隊,也沒有否認該項目的意義和貢獻。而是針對YOLOv5這個名字,個人覺得很不ok,很不ok。
項目鏈接:https://github.com/ultralytics/yolov5
先簡單介紹一下"YOLOv5"的來歷。
"YOLOv5"的項目團隊是Ultralytics LLC 公司,很多人應該沒有聽過這家公司。但提到他們公司的一個項目,很多人應該就知道了,因為不少同學用過。那就是基於PyTorch復現的YOLOv3,按目前github上star數來看,應該是基於PyTorch復現YOLOv3中的排名第一。Amusi 之前還分享過此項目,詳見:YOLOv3最全復現代碼合集(含PyTorch/TensorFlow和Keras等)
https://github.com/ultralytics/yolov3
他們復現的YOLOv3版而且還有APP版本
YOLOv3 in PyTorch > ONNX > CoreML > iOS
其實這個公司團隊在YOLOv3上花的功夫蠻多的,不僅有APP版,還對YOLOv3進行了改進,官方介紹的性能效果可以說相當炸裂!另外項目維護的也很牛逼,star數已達4.7 k,commits 都快逼近2500次!
Ultralytics Professional Support
Ultralytics is a U.S.-based particle physics and AI startup with over 6 years of expertise supporting government, academic and business clients. We offer a wide range of vision AI services, spanning from simple expert advice up to delivery of fully customized, end-to-end production solutions, including:
- Cloud-based AI surveillance systems operating on hundreds of HD video streams in realtime.
- Edge AI integrated into custom iOS and Android apps for realtime 30 FPS video inference.
- Custom data training, hyperparameter evolution, and model exportation to any destination.
For business inquiries and professional support requests please visit us at https://www.ultralytics.com.
可見Ultralytics LLC 公司在YOLO社區上的貢獻還是有一定影響力的,這也是為什么他們剛推出"YOLOv5",就得到不少人的關注。
據官方稱:"YOLOv5" 實際上還處於開發的階段,預計2020年第2季度/第3季度將全部開發完成。目前放出來的版本,是集成了YOLOv3-SPP和YOLOv4部分特性。
關於項目的更新說明,詳見此圖
那么"YOLOv5"的性能有多強呢,Ultralytics LLC給出的數據如下:
這里說一下,YOLOv5-x的性能已經達到:47.2 AP / 63 FPS,但項目說是在 image size = 736的情況下測得,所以從目前數據,是無法判斷"YOLOv5"和 YOLOv4的性能究竟哪個更好(有意思的是,官方也沒有給出)。下次Amusi 會實測一下這個版本的"YOLOv5" 和 YOLOv4性能,做一個比較。
Inference
Inference can be run on most common media formats. Model checkpoints are downloaded automatically if available. Results are saved to ./inference/output
.
$ python detect.py --source file.jpg # image
file.mp4 # video
./dir # directory
0 # webcam
rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream
http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
To run inference on examples in the ./inference/images
folder:
$ python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=640, iou_thres=0.5, output='inference/output', save_txt=False, source='./inference/images/', view_img=False, weights='yolov5s.pt')
Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)
Downloading https://drive.google.com/uc?export=download&id=1R5T6rIyy3lLwgFXNms8whc-387H0tMQO as yolov5s.pt... Done (2.6s)
image 1/2 inference/images/bus.jpg: 640x512 3 persons, 1 buss, Done. (0.009s)
image 2/2 inference/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.009s)
Results saved to /content/yolov5/inference/output
Ultralytics LLC目前已經給出"YOLOv5"的代碼、模型、訓練/測試腳本
python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 16
但Ultralytics LLC並沒有給出"YOLOv5"的算法介紹(論文、博客其實都沒有看到),感興趣的同學只能通過代碼查看"YOLOv5"的特性。只能說現在版本的"YOLOv5"集成了YOLOv3-SPP和YOLOv4的部分特性等。
侃侃
雖然現在沒有給出算法介紹,但僅從給出的性能數據看起來"YOLOv5"還是不錯的。不過 Amusi 認為起名"YOLOv5"實屬不應該。
1. 起碼要和YOLO之父Joe Redmon通知一聲,經過他同意(官方項目沒有更新,Amusi猜測起碼沒有得到認可)
2. 任何人都有起名的權利,但YOLO系列太知名了,Ultralytics LLC本身也作為YOLO社區的貢獻者,應該很清楚這一點。項目很強,但YOLOv5
Amusi 不認可該項目命名為"YOLOv5"這個名字,但對開源的精神點贊,希望項目繼續更新,造福更多的YOLO玩家。