【YOLO】實時對象檢測使用體驗


官網: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>

  

關於一次性檢測多張圖片和訓練自己的模型后續加入。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM