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.
Miloš Panić (sw19-2018)
Luka Šerbedžija (sw32-2018)
Slike iz skupa podataka
Labele slika
Istrenirane težine
(sve resurse smo mi pravili)
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.
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.