# Presentation

Cette plateforme web de création de quiz avec détection de tentatives de fraude est une solution innovante pour les éducateurs, les formateurs en entreprise et tous ceux qui cherchent à créer des quiz en ligne de manière sécurisée et efficace.

## Installation

1) Dans un environnement anaconda
```
conda env create --file environment.yml
#Activation de l'environnement
conda activate GazeTracking
```

2) Télécharger les fichiers necessaire dans les repertoires gaze_tracking, pretrained_model et yolov3-coco
```
Les liens de ces fichiers sont indiqués dans les répértoires
```
3) Installation des depencies 
```
pip install -r requirements.txt
```
4) Installation des applications mobiles dans des peripheriques android et modification des adresse ip pour le gyroscope (gyro.py) et la camera (serverTest.py)

5) Pour la version professeur
```
pyhton -m streamlit run master7.py
```
6) Pour la version élève
```
pyhton -m streamlit run master6.py
```


Note: Cela fonctionne si vous avez les fichiers `weights` et `config` dans le répertoire yolov3-coco.
<br/>
For more details
```
yolo.py --help
```

## Screenshots
![App Screenshot](https://github.com/institut-galilee/2023-ml-iot-m2-G6/blob/61e38588ab16cc1645d7d58019798371d87db0db/screen/espace_etu.png)
![App Screenshot](https://github.com/institut-galilee/2023-ml-iot-m2-G6/blob/61e38588ab16cc1645d7d58019798371d87db0db/screen/quiz%20.png)
![App Screenshot](https://github.com/institut-galilee/2023-ml-iot-m2-G6/blob/61e38588ab16cc1645d7d58019798371d87db0db/screen/espace_prof.png)
![App Screenshot](https://github.com/institut-galilee/2023-ml-iot-m2-G6/blob/61e38588ab16cc1645d7d58019798371d87db0db/screen/creat_quiz.png)
![App Screenshot](https://github.com/institut-galilee/2023-ml-iot-m2-G6/blob/61e38588ab16cc1645d7d58019798371d87db0db/screen/gyro.png)
![App Screenshot](https://github.com/institut-galilee/2023-ml-iot-m2-G6/blob/61e38588ab16cc1645d7d58019798371d87db0db/screen/pred.png)


## References

1) [PyImageSearch YOLOv3 Object Detection with OpenCV Blog](https://www.pyimagesearch.com/2018/11/12/yolo-object-detection-with-opencv/)
2) [Gaze Tracking](https://github.com/antoinelame/GazeTracking/)
3) [Facial recogition](https://github.com/anisayari/easy_facial_recognition/)
4) [Opencv + Yolov3](https://github.com/iArunava/YOLOv3-Object-Detection-with-OpenCV/)
5) [Yolov3](https://github.com/patrick013/Object-Detection---Yolov3/)
6) [Phone Camera Socket Stream](https://github.com/ritvikgiri23/Android-to-Desktop-Streaming/)
7) [Sensor Stream](https://github.com/umer0586/SensorServer)
8) [Streamlit](https://github.com/Sven-Bo/personal-website-streamlit)

## Démonstation
https://www.youtube.com/watch?v=uwbKFn9OP1E

## License

The code in this project is distributed under the MIT License.
