sahi icon indicating copy to clipboard operation
sahi copied to clipboard

add YOLOX model support

Open kadirnar opened this issue 3 years ago • 10 comments

SAHI kütüphanesine YOLOX modelini en basit haliyle ekledim. #535

Düzeltilecekler:

  • [X] Resize modulu yazıldı.
  • [ ] Test kodu yazılacak.
  • [ ] Notebook dosyası oluşturulacak.

Resize kodunu özellikle yazmadım. SAHI için ortak bir resize modulu oluşturabilir miyiz? Yolox reposundaki örneği incelleyip geri dönüş yapabilir misiniz? YOLOX-RESIZE

Ayrıca nms_thre değerini kullanıcıdan istesek nasıl olur? Şuan ben manuel değer veriyorum. Aynı durum yolov7 modeli içinde geçerli.

kadirnar avatar Aug 11 '22 19:08 kadirnar

@kadirnar resize islemi her kutuphaneye ozel oluyor, yolov5/v7de kendi icinde hallediyor mesela, o yuzden resize isleminin frameworke ozel olarak hazirlanmasi gerekiyor.

fcakyon avatar Aug 12 '22 07:08 fcakyon

nms icin ek input almaya gerek yok, yolox kutuphanesindeki default deger (0.3) kullanilabilir, isteyen extra DetectionModel.model.nmsthre =0.4 seklinde de set edebilir (self.model e Predictor instanceini atiyorsun diye kabul ediyorum)

fcakyon avatar Aug 12 '22 07:08 fcakyon

anladigim kadariyla yolox kutuphanesi icin ekstra resize islemi yapmaya gerek yok, resizei kendi icinde hallediyor: https://github.com/Megvii-BaseDetection/YOLOX/blob/74b637b494ad6a968c8bc8afec5ccdd7ca6b544f/tools/demo.py#L140-%20L146

image_size degerini test_size olarak set etmemiz yeterli olur gibi anliyorum: https://github.com/Megvii-BaseDetection/YOLOX/blob/74b637b494ad6a968c8bc8afec5ccdd7ca6b544f/tools/demo.py#L118

fcakyon avatar Aug 12 '22 07:08 fcakyon

nms icin ek input almaya gerek yok, yolox kutuphanesindeki default deger (0.3) kullanilabilir, isteyen extra DetectionModel.model.nmsthre =0.4 seklinde de set edebilir (self.model e Predictor instanceini atiyorsun diye kabul ediyorum)

Hubconf içinde Predictor kullanılıyor mu bilmiyorum. Yolox içindeki örneği alıp bir fonksiyon olarak kodlamayı düşünüyorum. Veya hubconf bu satırdaki exp classında img_size değeri manuel alınmış.

exp.input_size= input_size

Parametresini ekleyip fonksiyonlardan da bunu istersek daha iyi olabilir.

kadirnar avatar Aug 12 '22 19:08 kadirnar

@kadirnar source baktim, yolox projesindeki hubconfta size hardcoded set edilmis.

bence ugrasmaya gerek yok, kullanici yolox icin 640 disinda bir size set etmeye calisirsa yoloxdetectionmodel image_size set etmeyi desteklemiyor gibi bir warning vermemiz yeterli olur 👍

fcakyon avatar Aug 12 '22 20:08 fcakyon

@kadirnar source baktim, yolox projesindeki hubconfta size hardcoded set edilmis.

bence ugrasmaya gerek yok, kullanici yolox icin 640 disinda bir size set etmeye calisirsa yoloxdetectionmodel image_size set etmeyi desteklemiyor gibi bir warning vermemiz yeterli olur 👍

YOLOX reposundaki resize modülünü copy-paste yaptım. Boxes kayma hataları da giderildi. Tüm resize değerlerini destekliyor. Müsait zamanda test ve notebook dosyalarını oluşturacağım👍

kadirnar avatar Aug 12 '22 21:08 kadirnar

@kadirnar firsat buldugunda main branchteki yenilikleri rebase ya da merge ile alip devam edebilirsin calismalarina

fcakyon avatar Sep 03 '22 16:09 fcakyon

@kadirnar firsat buldugunda main branchteki yenilikleri rebase ya da merge ile alip devam edebilirsin calismalarina

Şuan bu repo sadece local de çalışacak şekilde uygun(Config dosyası full path istiyor). Config parametrelerini farklı bir modül ile alınması gerekiyor. Belki pip ile ana repodan farklı bir detect kodu ile çözülebilir. Biraz karışık geldiği için askıya aldım.

kadirnar avatar Sep 03 '22 16:09 kadirnar

@fcakyon YOLOX ve YOLOV7 modellerini ayrı ayrı oluşturmak yerine https://github.com/open-mmlab/mmyolo direk bu kütüphaneyi ekleyebiliriz.

kadirnar avatar Sep 21 '22 17:09 kadirnar

@fcakyon YOLOX ve YOLOV7 modellerini ayrı ayrı oluşturmak yerine https://github.com/open-mmlab/mmyolo direk bu kütüphaneyi ekleyebiliriz.

evet mantikli, yolov7 destegi eklemeyi dusunuyolar mi diye issue acilabilir o repoya 👍

fcakyon avatar Sep 21 '22 20:09 fcakyon

Can we use sahi with other object detection models not mentioned in the repository as well?? Sahi'yi depoda belirtilmeyen diğer nesne algılama modelleriyle de kullanabilir miyiz? for eg SSD, yolov4/5?

Rushikesh-pawar avatar Oct 18 '22 09:10 Rushikesh-pawar

@Rushikesh-pawar yes you can definitely use. You have to add the support yourself. You can follow the steps in main readme under contributing section 👍

fcakyon avatar Oct 18 '22 13:10 fcakyon

@fcakyon Model dosyası güncelledikten sonra yeni PR açacağım. Yolov7 ve YOLOX PR'ları şimdilik kapatıyorum.

kadirnar avatar Oct 27 '22 09:10 kadirnar

could anyone explain it in English ?

le02146 avatar Aug 18 '23 08:08 le02146

could anyone explain it in English ?

https://github.com/Resham-Sundar/sahi-yolox

kadirnar avatar Aug 18 '23 08:08 kadirnar