WIDER-YOLO : Yüz Tespit Uygulaması Yap

Wider-Yolo Kütüphanesinin Kullanımı

1. Wider Face Veri Setini İndir

Not: İndirilen veri setini ismini değiştirmeden wider_data klasörün içine atın.

2. Dosyaları Düzeni:

datasets/ 
      wider_face_split/  
          - wider_face_train_bbx_gt.txt
          - wider_face_val_bbx_gt.txt
         
      WIDER_train/
         - images

      WIDER_train_annotations 

      WIDER_val
         - images

      WIDER_val_annotations

Not: WIDER_train_annotations ve WIDER_val_annotations klasörleri oluşturmanıza gerek yoktur.

3. Wider Veri Setini Voc Xml Formatına Çevir

python ./wider_to_xml.py -ap ./wider_data/wider_face_split/wider_face_train_bbx_gt.txt -tp ./wider_data/WIDER_train_annotations/ -ip ./wider_data/WIDER_train/images/
python ./wider_to_xml.py -ap ./wider_data/wider_face_split/wider_face_val_bbx_gt.txt -tp ./wider_data/WIDER_val_annotations/ -ip ./wider_data/WIDER_val/images/

4. Voc Xml Veri Setini Yolo Formatına Çevir

python ./xml_to_yolo --path ./wider_data/WIDER_train_annotations/
python ./xml_to_yolo --path ./wider_data/WIDER_val_annotations/

5. Yolo Modelini Eğit

!yolov5 train --data data.yaml --weights 'yolov5n.pt' --batch-size 16 --epochs 100 --imgs 512

6. Yolo Modelini Test Et

Tek resim test etmek için:

!yolov5 detect --weights wider-yolo.pth --source  file.jpg  

Tüm resim dosyasını test etmek için

!yolov5 detect --weights wider-yolo.pth --source  path/*.jpg 

Not: Yeterli Gpu kaynağına sahip olamadığım için wider seti için düşük parametre değerleri verdim. Parametre Değerleri:

batch-size: 256, epochs: 5, imgs 320

6. Yolov5 + Sahi Algoritmasını Test Et

from sahi.model import Yolov5DetectionModel
from sahi.utils.cv import read_image
from sahi.predict import get_prediction, get_sliced_prediction, predict
from IPython.display import Image

detection_model = Yolov5DetectionModel(
   model_path="last.pt",
   confidence_threshold=0.3,
   device="cpu",
)

result = get_sliced_prediction(
    "test_data/2.jpg",
    detection_model,
    slice_height = 256,
    slice_width = 256,
    overlap_height_ratio = 0.8,
    overlap_width_ratio = 0.8
)
result.export_visuals(export_dir="demo_data/")
Image("demo_data/prediction_visual.png")

Sahi Algoritması ile ilgili Örnek Proje:

Referanslar:

GitHub - kadirnar/wideryolo at pythonawesome.com
Wider-Yolo Kütüphanesi ile Yüz Tespit Uygulamanı Yap - GitHub - kadirnar/wideryolo at pythonawesome.com