Skip to content

A face mask detection system using Tensorflow/Keras and OpenCV, for the "<19 Szabadfogású Számítógép" competition in 2020.

License

Notifications You must be signed in to change notification settings

davidfegyver/szabadfogasu-maszk

Repository files navigation

Switch to English 🏴󠁧󠁢󠁥󠁮󠁧󠁿

Egy maszkérzékelős ajtónyitó/jelző rendszer (Maszkimum)

Egy projekt a C3 Szabadfogású Számítógép versenyére

⭐⭐ Nyerteem!!

Köszönöm a C3 alapítványnak és a Számlázz.hu IT vezetőjének a kiválasztást! Az értékelőt/verseny bemutatóját erről a projektről ITT tudjátok megnézni.

Itt a nyakunkon a második hullám. A kormány rendeleteket hozott. Kötelező a maszkviselés a tömegközlekedési eszközökön, üzletekben, moziban és sok helyen az iskolákban is.

Ez a maszkérzékelős ajtó megakadályozza a koronavírussal nem törődő embereket attól, hogy belépjenek például a könyvtárakba, bevásárlóközpontokba és zárt helyekre, így nem kell a biztonsági őröknek ezekre az emberekre figyelni. Ez biztonságosabbá teszi az dolgozók munkáját, és az emberek életét.

⭐ Funkciók

  • Maszkérzékelés
  • Webes API a maszkviselés ellenőrzéséhez (BÉTA)
  • Arduino-alapú ajtónyitás (relével)
  • Arduino-alapú ledek (Piros - Nincs maszk, Zöld - Van (Ekkor nyit ki az ajtó))
  • Arduino-alapú riasztó, ami bekapcsol ha nincs rajtad maszk

Ez a projekt felhasználható rengeteg más projektben is, sőt még Raspberry Pire (3/4) vagy Nvidia Jetsonra is felteheted!

🤖 Telepítés

Minden telepítendő könyvtár fel van sorolva a requirements.txtben.

  1. Nyiss meg egy terminált/parancssort.

  2. Töltsd le a repot:

$ git clone https://github.com/davidfegyver/szabadfogasu-maszk/
  1. Lépj be a letöltött mappába:
$ cd szabadfogasu-maszk/
  1. Most írd be ezt a parancsot, hogy telepítsd a szükséges könyvtárakat. Ez sok idő lehet a neted sebességétől függően.
$ pip3 install -r requirements.txt

Arduino beállítása (Nem kötelező)

Töltsd fel ezt a kódot: maszk.ino (wget https://github.com/davidfegyver/szabadfogasu-maszk/blob/main/arduino/maszk.ino, vagy curl -o ./maszk.ino https://github.com/davidfegyver/szabadfogasu-maszk/blob/main/arduino/maszk.ino)

Építs egy ilyesmi áramkört: arduino schema

💡 Futtatás

  1. Nyisd meg a terminált, lépj be a letöltött mappába, és futtasd ezt a parancsot:
$ python3 maskdetector.py

Ha van arduinod, add hozzá ezt: -a COM4 (comport száma)

$ python3 maskdetector.py -a COM4

Ha szeretnéd specifikálni a webszerver portját, akkor pedig add hozzá ezt: -p 8080 (port száma)

$ python3 maskdetector.py -p 8080

Várd meg, amíg elindul a program. Ha minden sikeres akkor be fog jönni a kamerád képe, és láthatod hogy van-e rajtad maszk.

Webes API használata

A webes API-ból adatokat lekérni JSON formázással lehet az 5000-es porton (ha nincs felülírva a -p argumentummal). A webes API kétféle formátumot támogat: a prettyStatus, és a shortStatus formátumot.

Példák a JQ JSON feldolgozóval GNU/Linux alatt:

$ curl -s http://localhost:5000 | jq .prettyStatus

Kimenet:

Not wearing mask

$ curl -s http://localhost:5000 | jq .shortStatus

Kimenet:

False

Bemutatóvideó

https://www.youtube.com/watch?v=eLyNWEL1Los

🖥️ Felhasznált könyvtárak/projektek

TODO:

  • Hőmérés
  • További ötletek jöhetnek pull requestben :)

🎉 Köszi, hogy végigolvastad

Ha bármi problémád akadt, akkor kérlek írj nekem egy emailt: fegyverdavid.bator@gmail.com, vagy nyiss egy Issuet itt: Szabadfogasu-maszk

🤝 Hozzájárulás

Ha lenne valami ötleted, vagy kijavítanál egy bugot, akkor nyiss egy Pull requestet.

Hozzájárulók:

Ha tetszett a projekt, adhadsz is egy csillagot :D

📝 Licence

MIT https://choosealicense.com/licenses/mit/