Serwisy partnerskie:
Close icon
Serwisy partnerskie

Inteligentna kamera z funkcją rozpoznawania twarzy do kontroli termowizyjnej

W obecnych czasach COVID-19, przed wejściem do jakiegokolwiek obiektu konieczne jest przejście przez kontrolę termiczną w celu sprawdzenia temperatury ciała. Jest to jednak męczący proces, ponieważ wymaga pomiaru temperatury ciała wszystkich osób, po kolei. Jednocześnie osoby przeprowadzające badania termowizyjne muszą stać przez ponad 8 godzin dziennie i sprawdzać każdą osobę. Zajmuje to dużo czasu i wysiłku.
Article Image

Dlatego też, aby stworzyć rozwiązanie, które może wykonać tę pracę bez wysiłku, oto projekt systemu rozpoznawania twarzy i kontroli termowizyjnej. Urządzenie działa poprzez rozpoznawanie twarzy każdej osoby i przeprowadza termiczne badanie przesiewowe w celu wykrycia temperatury ciała. Jeśli osoba ma bardzo wysoką temperaturę, system nie zezwala na wejście, a zamiast tego automatycznie powiadamia ją o konieczności wykonania testu COVID-19. Jeśli temperatura ciała mieści się w wymaganym normalnym zakresie temperatur i jest w porządku, wejście jest dozwolone po odpowiedniej sanityzacji.

Aby rozpocząć projekt, zbierz następujące komponenty:

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
1
Moduł do bezkontaktowego pomiaru temperatury
MLX90614
1
Wyświetlacz
Wyświetlacz HDMI

Przygotowanie

Potrzebny jest RPi z najnowszym Raspbianem. Zazwyczaj jest on preinstalowany z Pythonem3, ale jeśli go nie ma, to trzeba zainstalować najnowsze środowisko Pythona i IDE.

Następnie trzeba otworzyć terminal Linuksa i zainstalować następujące biblioteki za pomocą poniższej komendy (patrz rysunek 1):

sudo pip3 install face-recognition
sudo apt-get install espeak
sudo apt-get install espeak python-espeak
sudo pip3 install opencv2
Rysunek 1. Instalacja bibliotek

Kodowanie

Po zainstalowaniu bibliotek, otwórz IDE Pythona i zacznij pisać kod, importując do niego następujące biblioteki:

  • Espeak – Aby ogłosić temperaturę i wykryć twarz osoby.
  • Face_recoginition – Do rozpoznawania twarzy.
  • Data i czas – Aby dodać datę i czas osoby wchodzącej na teren i później zapisać je w bazie danych.
  • Opencv – Do przechwytywania wideo i przetwarzania go klatka po klatce w celu rozpoznania twarzy.

Następnie trzeba ustawić nazwę pliku z obrazem każdej osoby, którą chcemy rozpoznać. Jeśli nie mamy obrazu danej osoby w bazie danych to jest ona traktowana jako nieznana. Następnie należy utworzyć tablicę zawierającą listę nazwisk i obrazów wszystkich rozpoznanych osób. Nazwisko i obrazek muszą być w tej samej kolejności.

Potem, klatka wideo będzie przetwarzana w pętli while, która rozpozna imię osoby i dopasuje je do odpowiedniej twarzy, która została wykryta. Jeśli jest ona różna, to zostanie użyty czujnik MLX90614 do zmierzenia temperatury osoby. Następnie, używając espeak, zostanie ogłoszone imię i temperatura tej osoby.

Następnie instrukcje if(), które napisano sprawdzają czy temperatura jest wyższa niż 37 stopni Celsjusza czy nie. Jeśli temperatura jest wyższa niż 37 stopni Celsjusza, system informuje osobę, aby nie wchodziła na teren obiektu. Przechwytuje również zdjęcie osoby oraz jej temperaturę i zapisuje je w folderze bazy danych wraz ze znacznikiem czasu.

Jeśli temperatura osoby jest niższa niż 37 stopni Celsjusza, system pozwala jej wejść na teren po odpowiedniej sanityzacji. Wizerunek osoby jest również zapisywany w osobnym folderze bazy danych, który zawiera imię i nazwisko oraz temperaturę wraz ze znacznikiem czasu.

Poniżej znajduje się kod, który pokazuje obraz (pobrany z przechwyconego wideo) wraz z nazwiskiem i temperaturą. Obrys prostokątnej ramki przedstawiającej imię i nazwisko oraz obraz będzie zmieniał swój kolor w zależności od wykrytej temperatury (czerwony = wysoka temperatura, zielony = niska temperatura).

Połączenie

Po zakodowaniu należy podłączyć czujnik MLX zgodnie z poniższą tabelą. Podłącz kamerę, wyświetlacz HDMI i czujnik jak pokazano na poniższym rysunku.

Raspberry Pi ↔ moduł kamery
SDA
SDA
SCL
SCL
GND
GND
VCC
3 V

Testowanie

Po zakończeniu konfiguracji, włącz Raspberry Pi i zamontuj urządzenie na ścianie lub drzwiach. Ponownie uruchom kod i poczekaj kilka sekund. Urządzenie pokaże temperaturę i twarz osoby stojącej przy wejściu. W przypadku wykrycia wysokiej temperatury/gorączki urządzenie nie pozwoli wejść tej osobie.

Dalej będzie można sprawdzić w bazie danych informacje o każdej osobie przechodzącej przez proces kontroli termicznej.

Wideo
Do pobrania
Download icon Inteligentna kamera z funkcją rozpoznawania twarzy do kontroli termowizyjnej - kod źródłowy

Artykuł Smart Door Camera with Facial Recognition Feature for Thermal Screening opracowano w wersji polskiej na podstawie współpracy z portalem www.electronicsforu.com.

Tematyka materiału: MLX90614, HDMI
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
UK Logo