官網:https://pjreddie.com/darknet/yolo/
以下全部在服務器上完成,服務器上是有opencv等。
1.安裝Darknet
git clone https://github.com/pjreddie/darknet cd darknet make
2.下載預先訓練的權重文件(258 MB)。或者只是運行這個:
wget https://pjreddie.com/media/files/yolo.weights
3.運行檢測器
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg
你會看到一些這樣的輸出:
layer filters size input output
0 conv 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32
1 max 2 x 2 / 2 416 x 416 x 32 -> 208 x 208 x 32
.......
29 conv 425 1 x 1 / 1 13 x 13 x1024 -> 13 x 13 x 425
30 detection
Loading weights from yolo.weights...Done!
data/dog.jpg: Predicted in 0.016287 seconds.
car: 54%
bicycle: 51%
dog: 56%

Darknet打印出它檢測到的對象,它的信心,以及找到它們需要多長時間。我們沒有編譯Darknet,OpenCV所以它不能直接顯示檢測。目錄下predictions.png可看到上圖。您可以打開它來查看檢測到的對象。由於我們在CPU上使用了Darknet,所以每個圖像需要大約6-12秒。如果我們使用GPU版本,會更快。
4.下面是使用GPU需要修改的命令
不要忘了修改目錄下的makefile! GPU,cudnn,opencv設為1 make后重新跑一次(必須make)
這是我服務器跑的結果,沒設置GPU的話用了50s。因為設置了opencv,所以直接彈出了圖片。

5.更改檢測閾值(可選)
默認情況下,YOLO僅顯示以0.25以上的置信度檢測到的對象。您可以通過將該-thresh <val>標志傳遞給該yolo命令來進行更改。例如,要顯示所有檢測,您可以將閾值設置為0:
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg -thresh 0
6.small yolo(可選)
微型YOLO基於Darknet參考網絡,並且比正常的YOLO型號快得多但不太准確。使用VOC訓練的版本:
wget https://pjreddie.com/media/files/tiny-yolo-voc.weights ./darknet detector test cfg/voc.data cfg/tiny-yolo-voc.cfg tiny-yolo-voc.weights data/dog.jpg
7.如果OpenCV可以讀取視頻,也可以在視頻文件上運行它:(可選)
./darknet detector demo cfg/coco.data cfg/yolo.cfg yolo.weights <video file>
關於一次性檢測多張圖片和訓練自己的模型后續加入。
