Skip to content

panicmilos/recs1.6

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReCS1.6

ReCS1.6 predstavlja projekat koji je sposoban da prepozna i klasifikuje timove igrača iz sada već legendarne igrice Counter Strike 1.6. Igrica ima dva tima, to su "Kanteri" i "Terori" od kojih u svakom timu postoje 4 različita modela.

Članovi tima:

Miloš Panić (sw19-2018)
Luka Šerbedžija (sw32-2018)

Resursi:

Slike iz skupa podataka
Labele slika
Istrenirane težine
(sve resurse smo mi pravili)

Rezultati:

Ukupan accuracy na 200 test slika iznosi 96.62%.

Tim Precision Recall
Counter 97.66% 96.90%
Terror 98.77% 99.38%

U folderu yolo/comparisons se nalaze slike za poređenje između mreže istrenirane nad 700 i nad 1800 slika.

Korišćenje:

Sve potrebne zavisnosti se mogu instalirati uz pomoć komande pip install -r requirements.txt.
Kako bi tensorflow koristio grafičku karticu, verzija tensorflow i tensorflow-gpu je 2.3.0, dok je verzija CUDA drajvera 10.1 a cuDNN 7.6.

main.py se pokreće komandom python main.py i sadrži pomoćne funkcije za:

  • Konvertovanje google sheet csv fajla(iz resursa) u csv fajl pogodan za yolo treniranje.
  • Iscrtavanje graničnih okvira svih anotacija(iz resursa) na slike iz skupa podataka kako bi se na jednostavan način proverile anotacije skupa podataka.
  • Funkciju za deljenje skupa podataka na dva dela sa zadatim udelom slika. Prilikom svakog deljenja je potrebno ponovo obučiti mrežu sa novim trenirajućim skupom.

yolo/train.py se pokreće komandom python train.py i služi za obučavanje mreže.

yolo/detector.py se može pokrenuti komandom python detector.py (postoje i opcioni parametri koji se mogu pročitati u fajlu) i u tom slučaju će uzeti sve slike iz foldera, iskoristiti istreniranu mrežu nad njima i rezultat tj pronađene granične okvire će icrtati na njima i sačuvati slike. Ovaj fajl se takođe može pokrenuti komanom python detector.py --aimbot true --team ct/tt čime se u pozaditi pokreće aimbot. On uzima slike sa ekrana i iz tog razloga Counter Strike 1.6 mora biti u windowed modu. Tasteri:

  • F8 služi da aktivaciju/deaktivaciju aimbota.
  • F9 služi za promenu tima tj. da stavi aimbotu do znanja koji je trenutni tim igrača kako ne bi pucao svoje igrače.
  • F10 služi za gašenje trajno gašenje aimbota.

yolo/test.py se pokreće komandom python test.py i služi za provlačenje testnog skupa podataka kroz istreniranu mrežu i prikupljanje metrike poput accuracy, recall, precision.

Po potrebi se mogu menjati PATH promenjive koje se nalaze u fajlovima sa kodom ili podacima.

About

Projekat iz predmeta ORI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages