Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add YOLOX model support #557

Closed
wants to merge 5 commits into from
Closed

add YOLOX model support #557

wants to merge 5 commits into from

Conversation

kadirnar
Copy link
Contributor

@kadirnar kadirnar commented Aug 11, 2022

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

Düzeltilecekler:

  • 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.

@fcakyon
Copy link
Collaborator

fcakyon commented Aug 12, 2022

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

@fcakyon
Copy link
Collaborator

fcakyon commented Aug 12, 2022

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
Copy link
Collaborator

fcakyon commented Aug 12, 2022

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 fcakyon added the enhancement New feature or request label Aug 12, 2022
@fcakyon fcakyon linked an issue Aug 12, 2022 that may be closed by this pull request
@kadirnar
Copy link
Contributor Author

kadirnar commented Aug 12, 2022

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.

@fcakyon
Copy link
Collaborator

fcakyon commented Aug 12, 2022

@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 👍

@kadirnar
Copy link
Contributor Author

@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👍

@fcakyon
Copy link
Collaborator

fcakyon commented Sep 3, 2022

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

@kadirnar
Copy link
Contributor Author

kadirnar commented Sep 3, 2022

@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
Copy link
Contributor Author

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

@fcakyon
Copy link
Collaborator

fcakyon commented Sep 21, 2022

@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 👍

@Rushikesh-pawar
Copy link

Rushikesh-pawar commented Oct 18, 2022

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?

@fcakyon
Copy link
Collaborator

fcakyon commented Oct 18, 2022

@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 👍

@kadirnar
Copy link
Contributor Author

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

@kadirnar kadirnar closed this Oct 27, 2022
@le02146
Copy link

le02146 commented Aug 18, 2023

could anyone explain it in English ?

@kadirnar
Copy link
Contributor Author

could anyone explain it in English ?

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
4 participants