{"id":30792017,"url":"https://github.com/petarran/machine-learning-adhd-help","last_synced_at":"2026-05-03T22:32:05.973Z","repository":{"id":114915800,"uuid":"307073622","full_name":"PetarRan/machine-learning-ADHD-help","owner":"PetarRan","description":"Computer vision project for vector analysis of focus patterns of adhd individuals","archived":false,"fork":false,"pushed_at":"2023-04-17T14:33:01.000Z","size":12851,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-07T01:38:20.673Z","etag":null,"topics":["ai","hackathon","opencv","python"],"latest_commit_sha":null,"homepage":"","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PetarRan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-25T10:25:46.000Z","updated_at":"2025-07-29T16:52:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"7b025c0e-bc14-49fc-bd9e-b3886a12f951","html_url":"https://github.com/PetarRan/machine-learning-ADHD-help","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PetarRan/machine-learning-ADHD-help","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarRan%2Fmachine-learning-ADHD-help","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarRan%2Fmachine-learning-ADHD-help/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarRan%2Fmachine-learning-ADHD-help/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarRan%2Fmachine-learning-ADHD-help/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PetarRan","download_url":"https://codeload.github.com/PetarRan/machine-learning-ADHD-help/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PetarRan%2Fmachine-learning-ADHD-help/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32587816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T22:12:39.696Z","status":"ssl_error","status_checked_at":"2026-05-03T22:09:10.534Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","hackathon","opencv","python"],"created_at":"2025-09-05T15:11:21.073Z","updated_at":"2026-05-03T22:32:05.939Z","avatar_url":"https://github.com/PetarRan.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Softversko rešenje za pomoć pri praćenju nastave kod dece sa hiperaktivnim poremećajem\n\n![image](https://user-images.githubusercontent.com/70757499/216841740-170173b9-ad41-4679-8af7-95cb5c326189.png)\n\n_Sadržaj_ – U ovom radu predstavljen je softver baziran na veštačkoj inteligenciji i računarskom vidu, koji ima namenu da pomogne pri onlajn (_online_) radu sa decom koja pate od ADHD-a. Softver je kreiran pomoću programskog jezika Python.\n\n### I. Uvod\n\nADHD (_Attention Deficit Hyperactivity Disorder_), odnosno poremećaj pažnje, je prvi psihijatrijski poremećaj koji je dijagnostifikovan kod dece. Širom sveta čak 8 do 12% dece uglavnom uzrasta od 5 do 18 godina pati od ovog poremećaja. Od ukupnog broja dijagnoza koje deca dobijaju čak 70% se odnosi na ovaj poremećaj. ADHD karakteriše dosta različitih simptoma, a oni najvažniji su nedostatak pažnje, hiperaktivnost i impulsivnost [1].\n\nDeca koja pate od poremećaja pažnje imaju dosta poteškoća u praćenju nastave pa zbog toga zahtevaju poseban tretman od strane predavača. Trenutno, kada se masovno prelazi na onlajn nastavu zbog zatvaranja škola izazvanog pandemijom corona virusa, veliki problem javlja se kod dece sa ADHD-om kod kojih je neophodan poseban pristup pri radu.\n\nVeštačka inteligencija (eng. _Artificial Intelligence - AI_) je grana računarstva koja se bavi razvojem softvera koji bi u određenim situacijama imao ponašanje koje se može okarakterisati kao inteligentno. Veštačka inteligencija je jedan od glavnih predstavnika Industrije 4.0. Programski jezik Python omogućava da lako i efikasno implementiramo različite tehnologije veštačke inteligencije. Prednost ovog programskog jezika je to što se lako može povezati sa ostalim programskim jezicima koji su pogodni za razvoj programa na različitim uređajima.\n\nRačunarski vid (eng_. Computer Vision – CV_) je oblast veštačke inteligencije koja uči računar kako da „vidi\u0026quot; i razume sadržaj digitalne slike. Računarski vid uz pomoć modela dubokog učenja može da uoči i klasifikuje određene objekte [2].\n\nOvaj softver baziran na veštačkoj inteligenciji prati pažnju učenika u toku časa i detektuje trenutke kada učeniku opadne pažnja.\n\nĐorđe Antić, Petar Ranđelović, Milan Danilović, Aleksa Krstić i Anđela Kostić su studenti na modulu Računarstvo i informatika na Elektronskom Fakultetu Univerziteta u Nišu, Aleksandra Medvedeva 14, 18000 Niš, Srbija.\n\nEmail: djordje.antic@elfak.rs, petarran@elfak.rs, danilovic.m@elfak.rs, krlekrle@elfak.rs, endziko@elfak.rs\n\n### II. Princip rada\n\nTehnologije implementirane u softveru prate promenu pravca lica učenika tako da svaki put kada učenik ne gleda u ekran vremenski period duži od 3 sekunde, reaguje glasovnom porukom kojom ga poziva da vrati pažnju na čas. Predavaču stiže informacija o tome da je učeniku opala pažnja kako bi mogao da adekvatno odreaguje. Kada program uoči da lice učenika nije u vidnom polju beleži vreme početka nepažnje, kao i vreme trajanja te nepažnje.\n\nSoftver unosi takozvane vremenske pečate u tekstualni fajl i generiše histogram na osnovu koga se može zaključiti u kojim vremenskim intervalima je učeniku značajno opala pažnja. Po završetku predavanja softver računa procenat nepažnje u toku časa.\n\n### III. Implementacija softvera\n\n|**_A. Python interpretator_**|\n\nZa izvršavanje programa pisanog u Python-u, neophodno je instalirati Python interpretator (slika 1.) sa čijom instalacijom se dobija integrisano okruženje za razvoj i učenje (_IDLE_) koje sadrži školjku u kojoj se mogu izvršavati Python programi [3].\n\n![1](https://user-images.githubusercontent.com/70757499/112629302-6d696780-8e34-11eb-8b43-e63ec7223b18.png)\n\nSlika 1. Python shell\n\n|**_B. Detekcija lica i orijentiri na licu_**|\n\n#\n\nDetekcija lica je tehnologija bazirana na veštačkoj inteligenciji čija je namena da uoči, locira i identifikuje ljudsko lice [4]. Ova tehnologija koristi različite algoritme kao što su duboko i mašinsko učenje. Projektovan softver koristi biblioteke _dlib_ i _OpenCV_ koje nam pronalaze orijentire na licu.\n\nOrijentiri na licu (eng. _Face Landmarks_) se postavljaju na istaknutim delovima lica kao što su oči, nos, usta, vilica i obrve. Biblioteka _Dlib_ omogućava prepoznavanje 68 tačaka koje će nam biti orijentiri za ključne strukture na licu. Ovi orijentiri lako i uspešno prate poziciju i pokrete lica. Detekcija orijentira na licu se sastoji iz 2 koraka:\n\n1. Lociranje lica na slici\n2. Detekcija ključnih struktura na licu\n\nZa lociranje lica i detekciju ključnih struktura na licu neophodno je uvesti biblioteke _OpenCV_, _DLIB_ i _Numpy_.\n\n![real2](https://user-images.githubusercontent.com/70757499/112629837-13b56d00-8e35-11eb-86e2-3543fdc6a286.png)\n\nOsim ovih biblioteka neophodno je uvesti i biblioteke _Winsound_, _Random_, _Datetime_, _Pandas_ i _Plotly.express_ koje omogućavaju reprodukciju zvuka, nasumičan odabir zvučnog zapisa koji će se reprodukovati, prikaz vremena, manipulaciju podacima i analizu i izradu histograma, respektivno.\n\nTABELA I\n\nOpseg tačaka na ključnim strukturama lica\n\n| **Istaknuta crta lica** | **Opseg tačaka** |\n| --- | --- |\n| **Leva linija vilice** | 0-7 |\n| **Brada** | 8 |\n| **Desna linija vilice** | 9-16 |\n| **Leva obrva** | 17-21 |\n| **Desna obrva** | 22-26 |\n| **Gornji deo nosa** | 27-30 |\n| **Donji deo nosa** | 31-35 |\n| **Levo oko** | 36-41 |\n| **Desno oko** | 42-47 |\n| **Spoljnja ivica usni** | 48-59 |\n| **Unutrašnja ivica usni** | 60-67 |\n\nOrijentiri na licu su predodređeni, tako da kada je neophodno uočiti vrh nečije brade, uočavaju se tačke orijentira na licu i obraća se posebna pažnja na tačku broj 8, koja prati vrh brade na licu. Takođe ako je neophodno pratiti obrve, uočavaju se tačke iz opsega 17-21 i 22-26. Ove tačke će omogućiti praćenje položaja lica na osnovu posmatranja kako se one pomeraju u toku vremena [5].\n\nNa slici 2. prikazan je raspored ovih orijentira. Ovakav raspored je univerzalan za svako ljudsko lice tako da će ga program bez problema detektovati na bilo kojoj slici ili video zapisu.\n\n![2](https://user-images.githubusercontent.com/70757499/112629873-20d25c00-8e35-11eb-9fa0-ffd3e09a3f66.png)\n\nSlika 2. Orijentiri na licu (_Face landmarks_).\n\nZa detekciju lica sa snimka neophodno je pozvati sledeću funkciju iz dlib biblioteke.\n\n![posle2](https://user-images.githubusercontent.com/70757499/112629968-45c6cf00-8e35-11eb-93e9-5eddc4332f2d.png)\nSlika 3. Pozivanje funkcije iz _dlib_ biblioteke.\n\nZa prepoznavanje lica korišćena već istreniranu mašinu ,,_shape\\_predictor\\_68\\_face\\_landmarks.dat_\u0026quot; koja se nalazi na opensource github-u [6].\n\nKao izlazni podatak dobijaju se koordinate uočenog lica sa snimka. Tačke koje se dobiju predstavljaju pravougaonik koji predstavlja naše lice. Prva tačka se odnosi na gornji levi ugao, a druga na donji desni ugao.\n\n![real3](https://user-images.githubusercontent.com/70757499/112630029-58410880-8e35-11eb-9666-1e2bd7728b75.png)\n\nSlika 4. Izlazni podatak prethodno pozvane funkcije\n\nSledeći deo koda ima namenu da prati _FaceMap_ vrednosti radi određivanja položaja lica.\n\n![3](https://user-images.githubusercontent.com/70757499/112630076-698a1500-8e35-11eb-9925-149ec6c9cd2e.png)\n\n# Nakon što je položaj lica utvrđen, pratimo _FaceMap_ vrednosti za preklapanja tačaka na očima, a zatim se proveravaju vrednosti i poklapanje kritičnih tačaka lica.\n\n![4](https://user-images.githubusercontent.com/70757499/112630205-8b839780-8e35-11eb-98c2-7cfe403fd930.png)\n\n![real5](https://user-images.githubusercontent.com/70757499/112630229-93433c00-8e35-11eb-9715-2bfcd796d780.png)\n\n# Ukoliko je vreme koje je lice provelo van vidnog polja veće od definisanog, softver će reagovati reprodukovanjem zvučnog zapisa i dodavanjem vremenskog pečata u fajl.\n\n![real5 real](https://user-images.githubusercontent.com/70757499/112630343-be2d9000-8e35-11eb-92f7-f79d7f033833.png)\n\n#\n\n# _C. Histogram_\n\n#\n\n# Po završetku predavanja program generiše histogram na osnovu _.cvs_ fajla u kome se nalaze vremenski intervali u kojima je osobi skrenuta pažnja. Svaki od stubića na histogramu predstavlja interval od 3 minuta u predavanju koje traje 45 minuta. Na y-osi nalazi se broj opomena u tom vremenskom intervalu, a x-osa služi kao vremenska osa.\n\n![real5realreal](https://user-images.githubusercontent.com/70757499/112630367-ca195200-8e35-11eb-9999-85b45ee61d49.png)\n\n# Histogram daje uvid u rast i opadanje pažnje u toku predavanja i olakšava predavaču da po potrebi promeni pristup rada u tom vremenskom intervalu.\n\n# Za generisanje histograma korišćena je _matplotlib_ biblioteka na koji je primenjen osmišljen algoritam za inkrementiranje i dekrementiranje određenih vrednosti. Na slici 5. prikazan je histogram generisan testiranjem programa.\n\n![5](https://user-images.githubusercontent.com/70757499/112631000-a276b980-8e36-11eb-8f28-18f845c52ef7.png)\n\nSlika 5. Histogram generisan testiranjem programa.\n\n#\n\n### IV. Zaključak\n\n#\n\nRazvoj ove tehnologije omogućuje predavaču lakši rad sa učenicima koji pate od hiperaktivnog poremećaja. Predavač će znati u kojim vremenskim intervalima treba da napravi pauzu ili obrati posebnu pažnju na učenika. Softver i AI daju informacije predavaču koje učenik možda ne bi umeo da objasni. Takođe daje statistički podatak koji se može iskoristiti u naučne svrhe.\n\n### Zahvalnica\n\n#\n\nAutori rada se zahvaljuju prof. dr Aleksandru Milosavljeviću, sa Elektronskog fakulteta u Nišu na pruženoj pomoći tokom izrade ovog rada.\n\n# Literatura\n\n[1] J. Kudek Mirošević, S. Opić \u0026quot;PONAŠANJA KARAKTERISTIČNA ZA ADHD\u0026quot;, u _Odgojne znanosti_ Zagreb, 2010, vol. 12 br. 1 str. 167-183.\n\n[2] H. Lawaniya, \u0026quot;Computer Vision\u0026quot;, _IET Computer Vision_, 2020, Suresh Gyan Vihar University, Jaipur\n\n[3] Python interpretator https://www.python.org/downloads/\n\n[4] Facial landmarks with dlib, OpenCV, and Python https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/ (posećen 29.10.2020.)\n\n[5] Detect Facial Landmark Points With C# And Dlib https://medium.com/machinelearningadvantage/detect-facial-landmark-points-with-c-and-dlib-in-only-50-lines-of-code-71ab59f8873f (posećen 29.10.2020.)\n\n[6] Shape predictor 68 face landmarks https://github.com/topics/shape-predictor-68-face-landmarks\n\n![GitHub Contributors Image](https://contrib.rocks/image?repo=PetarRan/machine-learning-ADHD-help)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetarran%2Fmachine-learning-adhd-help","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpetarran%2Fmachine-learning-adhd-help","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpetarran%2Fmachine-learning-adhd-help/lists"}