# Architecture

## System Configuration

![](/files/-ML2v-hNuWjN9Uyo_rg-)

System configuration is simple.

At first, a thermal imaging camera and a regular camera connected to a raspberry pie look at the person in front.

&#x20;Then, check if the mask is worn using the MobileNet V2 model learned using Tensorflow, and check if the temperature is higher than 37.5 degrees through Flirpy.

If the target in front of you is not wearing a mask or if the temperature is high, use Google-API to detect the target's name tag.

&#x20;Then, the person's photo is saved and the Telegram text is sent in real time through the data shown above. Monitor shows real-time progress.

## Diagram

{% file src="/files/-ML3D-QxgfIY96M6sTsg" %}
If the screen below looks broken, please download the file.
{% endfile %}

![](/files/-MKwQuhpgBr1qXsTpCV_)

## Github Repository

Link : <https://github.com/osamhack2020/IoT_COVID19-Detector_CO-vision>

```bash
├── doc
│    ├── PPT
│    │    └── Co-Vision.pdf
│    └── img
│         ├── diagram                    # IoT connection image
│         │    ├── Camera_Module_V2_라즈베리파이와_연결.png.jpg 
│         │    ├── SW-Flowchart.PNG 
│         │    └── flir-lepton-diagram.jpg
│         └── logo                       # Team logo
│              ├── Co-Vision_Logo.png 
│              ├── Logo_head.png 
│              └── logo.png
├── src
│    ├── 1. RaspberryPi+Computer         # if you have both rasp and computer
│    │    ├── No_Mask-High_Temp          # No mask & High temp img saving file
│    │    │    └── test.txt
│    │    ├── flir_image_extractor.py    # Flir extract temperature
│    │    ├── imagezmq.py                # send images to computer
│    │    ├── main_raspberryPi.py        # A code runs in raspberry pi
│    │    └── main_raspberryPi_server.py # A code runs in computer
│    ├── 2. Without Computer             # if you have only raspberry pi
│    │    ├── No_Mask-High_Temp 
│    │    │    └── test.txt
│    │    ├── flir_image_extractor.py
│    │    └── main_raspberrypi_Final.py
│    ├── 3. Without RaspberryPi          # if you have only computer
│    │    ├── No_Mask-High_Temp 
│    │    │    └── test.txt
│    │    ├── flir_image_extractor.py 
│    │    ├── main.py                    # gui setup code
│    │    ├── main_without_gui.py        # without gui setup code
│    │    └── ui_main_window.py          # gui basic setting code
│    ├── sample_videos                   # example videos
│    │    ├── 2번영상_마스크인식카메라.mp4
│    │    ├── 3번영상_열화상카메라.mp4
│    │    ├── donghyeon_video.mp4
│    │    └── junha_video.mp4
│    └── training custom dataset         # you can train your own model
│         ├── dataset                    # images used to train model
│         │    └── test.txt
│         ├── examples
│         │    ├── junha2.PNG
│         │    ├── junha2_Final.png
│         │    ├── test01.png
│         │    ├── test01_detected.png
│         │    ├── test02.png
│         │    ├── test02_detected.png
│         │    ├── test03.png
│         │    └── test03_detected.png
│         ├── face_detector              # file that need to train
│         │    ├── deploy.prototxt
│         │    └── res10_300x300_ssd_iter_140000.caffemodel
│         ├── detect_mask_image.py       # detects mask in image
│         ├── detect_mask_video.py       # detects mask in video
│         ├── mask_detector.model        # mask detection model
│         ├── plot.png                   # Train Loss/ Accuracy png 
│         └── train_mask_detector.py     # Using dataset to train model
├── .gitignore
├── LICENSE
└── README.md
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://co-vision.gitbook.io/co-vision-eng/development-process/architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
