# Face Detector
## _Matúš Juhász_

**Face-Detector** je aplikácia vytvorená na detekciu tvári z videozáznamu a následné vytvorenie teplotnej mapy na základe detekovaných tvárí. Je vytvorená v jazyku Python, a užívatelským rozhraním v PyQt5.

## Možnosti

- Možnosť volby video záznamu
- Výber z dvoch detektorov tváre
- Vytvorenie teplotnej mapy počas prehravania videa

## Knižnice

Face-Detector využíva niekolko volne dostupných knižníc ktoré sú potrebné pre spustenie:
- [Python](https://www.python.org/downloads/) - Python je interpretovaný, interaktívny programovací jazyk, základ kódu
- [OpenCV](https://opencv.org/releases/) - pre prácu s videom a jeho spracovanie
- [TenserFlow](https://www.tensorflow.org/install) - knižnica pre numerické výpočty, ktoré robia
strojové učenie rýchlejšie a jednoduchšie
- [Matplotlib](https://matplotlib.org/stable/users/installing/index.html) - Vykreslovacia knižnica pre jazyk Python, slúži pre vykreslovanie grafov
- [dlib](https://pypi.org/project/dlib/) - Súprava nástrojov na vytváranie skutočných aplikácií strojového učenia a analýzy údajov
- [PyQt5](https://pypi.org/project/PyQt5/) - Multiplatformová knižnica pre vývoj vysokoúrovnových
API pre deskopové a mobilné aplikácie

## Installation
Pred inštaláciov knižníc je treba stiahnut Python verzia 3.8+ - prerekvizita pre TenserFlow

#### OpenCV
```sh
pip install opencv-python
```
#### TensorFlow
```sh
pip install --upgrade pip
pip install tensorflow
```
#### matplotlib
```sh
python -m pip install -U matplotlib
```
#### dlib
```sh
pip install dlib
```
#### PyQt5
```sh
pip install PyQt5
```


## Spustenie

Skript sa spúšta bez parametrov. Po chvilke sa spustí aplikácia.

```sh
cd code_folder
python face-detector.py
```

## Návod na obsluhu
1. Zvolit videozáznam pomocou “Open File” (CTRL + O)
2. Zvolit detektor na detekciu tváre zaškrtnutím okna
3. Stlačenie tlačidla “Start” (spustenie može trvať pár sekúnd)
4. Stlačenie tlačidla “Map” zobrazí teplotný mapu z doposial nazbieraných dát
5. Stlačenie “Stop” (zastaví prehrávanie a zobrazí teplotnú mapu)
    - Opätovné spustenie toho istého videa je možné stlačením “Start”
    - Detektor je možné meniť kedykoľvek (skresluje vysledok teplotnej mapy)
    - Video je možné meniť po stlačení “Stop”

## Zoznam video záznamov

Vzorové video záznamy sú dostupné na stiahnutie [Google Drive](https://drive.google.com/drive/folders/1UP7g8sCXjeatoP1ErVMmV1O_XvKkxhp5)

| Názov     | Dostupné |
| ----------- | ----------- |
| video1     | [cvlab](https://www.epfl.ch/labs/cvlab/data/data-rlc/)      |
| video2    | [cvlab](https://www.epfl.ch/labs/cvlab/data/data-rlc/)        |
| video3    | [google.com/drive](https://drive.google.com/drive/folders/1UP7g8sCXjeatoP1ErVMmV1O_XvKkxhp5)         |
| TownCentreXVID   | [google.com/drive](https://drive.google.com/drive/folders/1UP7g8sCXjeatoP1ErVMmV1O_XvKkxhp5)        |
| video-fig    | [google.com/drive](https://drive.google.com/drive/folders/1UP7g8sCXjeatoP1ErVMmV1O_XvKkxhp5)        |


## Licence

Všetky súčasti programu sú pod licenciov MIT a Apache

