教學
YOLOv4
:boy: 作者: neverleave0916
:mailbox_closed: 聯絡資訊:neverleave0916@gmail.com
:point_right: 修改日期: 2021/10/10 17:06
- Docker Hub
- Github
- YOLOv4 in Ubuntu(實作不限制作業系統):video_game:
- 上次測試時間:2021.03.23
- 若沒有特別說明路徑,clone專案後,路徑都是darknet的根目錄(./darknet/)。
- 軟體版本(已測試):
Software | Version | Version |
---|---|---|
Ubuntu | 18.04 | 20.04 |
Docker | 19.03.8 | 20.10.5 |
Nvidia Driver | 440.82 | 450.102 |
CUDA | 10.2 | 11.0 |
完成後請跳過其餘安裝步驟,跳至 3.測試YOLOv4
使用之docker image頁面
此image僅安裝了官方指定必裝之套件與遠端桌面伺服器,可放心使用
此image之建立過程可參考這裡
啟動Docker Container
完成後需繼續往下安裝
APT-GET“Couldn’t create temporary file for passing config to apt-key”问题解决
以下教學會安裝以下YOLOv4需使用到的套件
請自行安裝CUDA,若已安裝可忽略
請自行安裝cuDNN,若已安裝可忽略
Note: The OpenCV is an optional install YOLO, but if you install it, you will get a window system to display the output image from YOLO detection. Otherwise, the output image from YOLO will be saved as an image file. I have enabled OpenCV for this tutorial so that you can see the output of YOLO in a window.
請注意,網路上其餘安裝OpenCV的方法,皆測試過會失敗,請盡量按照下列方法安裝
環境已經準備完成,要開始執行YOLOv4了~加緊步伐!就快成功了!
2021.03.23更新:若在編譯過程中發生以下錯誤,可參考本篇解決方法。
感謝 @Allian 留言提供解決方法 !
注意:若沒有連接桌面(GUI)環境,請在指令後加上-dont_show參數,關閉結果顯示視窗(若沒有加,會因找不到桌面環境報錯)。
參數說明
-i/-gpu:指定单个gpu,默认为0,eg:-gpu 2
-gpus:指定多个gpu,默认为0,eg:-gpus 0,1,2
-thresh:显示被检测物体中confidence大于等于 [-thresh] 的bounding-box
以下教學會準備下列檔案
請下載檔案並放入專案根目錄
在./data/中產生obj.names檔案,一行為一個objects names,以下為範例
在./data/中產生obj.data檔,classes = number of objects
在./data/obj/中放入所有照片與標籤,舉例來說,
而img1.txt應包含類似下面的內容:
在./data/產生train.txt,其中包含了所有照片與執行檔的相對路徑,舉例來說:
如果有GUI環境,可刪除最後的 -dont_show以顯示畫面
若辨識成功便會輸出 predictions.jpg
若辨識成功便會輸出 rosio.avi
啟用VNC伺服器便可在命令列的環境下使用桌面環境,檢視訓練成果等。
(1). 更改VNC Server密碼:
(2). 手動啟動VNC Server:
故障排除 vnc已開啟,為什麼卻連不上 !?
若曾經開啟5個以上的伺服器,請自行增加下面的數字
安裝CMake需要openssl
CMake : 需要CMake>=3.8,CMake在这里获取,选择"Unix/Linux Source (has \n line feeds)"后对应的文件下载,使用如下命令编译安装
pip install opencv_python-4.2.0.34-cp36-cp36m-manylinux1_x86_64.whl
https://stackoverflow.com/questions/47647035/cmake-prefix-path-doesnt-help-cmake-in-finding-qt5/47647645
apt-get install qtbase5-dev
apt-get install qtdeclarative5-dev
OpenCV : 需要OpenCV>=2.4,OpenCV在这里获取,选择Sources下载,使用如下命令编译安装
apt-get install zip
先把整個darknet資料夾準備好
apt-get install libgtk2.0-dev
apt-get install pkg-config
apt-get install libopencv-dev python-opencv
apt-get install build-essential cmake pkg-config
jupyter notebook –allow-root –no-browser –ip=0.0.0.0
Couldn't open file: /backup//yolo-obj_100.weights
在根目錄中手動建立資料夾
./darknet detector test data/obj.data yolo-obj.cfg backup/yolo-obj_final.weights test.jpg -dont_show
./darknet detector demo data/obj.data yolo-obj.cfg backup/yolo-obj_final.weights ㄍ
./darknet detector demo data/obj.data yolo-obj.cfg backup/yolo-obj_final.weights test.mp4 -out_filename rosio.avi -dont_show
https://medium.com/@yanweiliu/nvidia-jetson-tx2學習筆記-三-安裝opencv-c62e2435ad57
如果要辨識影片的話,一定要有OpenCV(Makefile裡面的OPENCV=1)
並且指令要修改
#偵測影片
$ ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights data/bird.mp4
#偵測圖片
$ ./darknet detector test cfg/voc.data cfg/yolov3-voc.cfg yolov3.weights data/bird.jpg