Serwisy partnerskie:
Close icon
Serwisy partnerskie

Kamera sprawdzająca noszenie maseczki przeciw Covid

Article Image
Elmax
Noszenie maseczki na twarzy jest ważnym środkiem bezpieczeństwa w dzisiejszym scenariuszu od czasu wybuchu choroby koronawirusowej, która jest przenoszona drogą powietrzną. Konieczne jest prawidłowe zakrycie nosa i ust podczas oddychania. Jednak niektórzy ludzie, świadomie lub nieświadomie, nie przestrzegają tej instrukcji, zwłaszcza w miejscach publicznych. Dlatego, aby upewnić się, że ludzie przestrzegają tej zasady, stworzymy kamerę koncepcyjną, która wykorzystuje model uczenia maszynowego (ML) do wykrywania obecności maski na ludzkiej twarzy i jeśli nie jest noszona prawidłowo, wysyła powiadomienie, aby prawidłowo zakryć nos i usta.

Tworzenie modelu ML

W tym projekcie będziemy potrzebować Raspberry Pi do uruchomienia modelu ML. Za pomocą przetwarzania obrazu, będzie on wykrywał obecność maseczki na twarzy. Po stworzeniu modelu ML, wytrenuj go używając Edge Impulse.

Dlatego najpierw stwórz nowy projekt i zainstaluj Edge Impulse na Raspberry Pi.

Rysunek 1.

Następnie otwórz terminal Raspberry Pi i zainstaluj zależności, uruchamiając następujący kod w terminalu.

curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt install -y gcc g++ make build-essential nodejs sox gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
npm config set user root && sudo npm install edge-impulse-linux -g -unsafe-perm

Po instalacji, uruchom go używając edge-impulse-linux

Następnie zostaniesz poproszony o podanie swojego identyfikatora e-mail i hasła do Edge Impulse. Po prostu wprowadź te dane i zaloguj się (patrz rysunek 2).

Rysunek 2.

W kolejnym kroku zostaniesz poproszony o wybranie projektu, z którym urządzenie ma być połączone. Wprowadź nazwę projektu (np. Covid-Mask-Detector) (patrz rysunek 3).

Rysunek 3.

Przygotowanie zestawów danych

Aby przygotować zbiory danych dla modelu ML i później zaimplementować je do treningu wykrywania maseczki, należy użyć kamery Raspberry Pi do przechwycenia obrazu twarzy. Następnie w terminalu Raspberry Pi należy uruchomić komendę edge-impulse-linux.

Rysunek 4. Uruchomienie komendy dla edge impulse

Po wybraniu nazwy projektu, otrzymasz adres URL w terminalu, który należy otworzyć w przeglądarce internetowej, takiej jak Chrome lub Firefox. Po otwarciu adresu URL pojawia się interfejs użytkownika (UI), w którym wyświetlany jest strumień wideo na żywo z kamery Raspberry Pi. Po przechwyceniu kilku obrazów siebie bez noszenia maseczki oznacz je jako "bez maseczki". Powtórz ten sam proces, ale tym razem podczas noszenia maseczki i oznacz je jako "maseczka" (patrz rysunki 4, 5, 6). Następnie kliknij na przycisk "testowanie" i powtórz ten sam proces, jak poprzednio w fazie treningu. Teraz zbiory danych są gotowe do treningu i testów modelu ML wykrywającego maseczki.

Rysunek 5. Status Raspberry pi pokazywany na żywo
Rysunek 6. UI do przechwytywania zbiorów danych

Trening i testowanie modelu ML

W menu Edge Impulse ustawiamy blok przetwarzania i uczenia. W bloku przetwarzania widzimy opcje dla czujnika, obrazu i innych danych. Ponieważ obraz musi zostać przetworzony, należy wybrać tutaj opcję image.

W bloku uczenia się, pierwsza opcja, czyli "Transfer Learning (Images)" jest odpowiednia do klasyfikacji obrazu. Należy więc ją wybrać.

Następnie wprowadź parametry obrazu, a następnie przejdź do uczenia transferowego tak, aby uczenie modelu ML zostało zakończone (patrz rysunki 7, 8, 9, 10).

Rysunek 7.
Rysunek 8.
Rysunek 9.

Testowanie modelu ML

Aby sprawdzić dokładność modelu ML, przejdź do testowania i kliknij "Classify all". Model ML sklasyfikuje wszystkie obrazy we wcześniej utworzonych testowych zbiorach danych i poda wyniki na podstawie ich dokładności. Jeśli nie jesteś zadowolony z poziomu dokładności, możesz dodać jeszcze więcej obrazów z odpowiednią etykietą i przekazać je do modelu ML. Ponadto, podczas tworzenia modelu ML, zwiększ liczbę cykli treningowych, aby zapewnić większą dokładność. Po uzyskaniu zadowalającej dokładności wytrenowanego i przetestowanego modelu ML, możesz go przetestować za pomocą opcji "Klasyfikacja na żywo". W klasyfikacji na żywo, otrzymujesz obraz na żywo z kamery Raspberry Pi. Wystarczy kliknąć na 'Classify t= ', a kamera przechwyci obraz twarzy. Następnie poda wynik określający, czy masz na sobie maseczkę, czy nie.

Rysunek 10.

Wdrażanie modelu ML na Raspberry PI

Teraz wybierz płytkę, na której chcesz wdrożyć model ML. Ponieważ używasz Raspberry Pi z kamerą, wybierz płytkę linuksową i uruchom polecenie Edge-impulse-runner-linex w terminalu Raspberry Pi. W terminalu pojawi się adres URL. Otwórz go w przeglądarce, gdzie można zobaczyć na żywo strumień wideo pochodzący z kamery Raspberry Pi. Teraz za każdym razem, gdy pojawi się przed kamerą, Twoja twarz zostanie wykryta, a wynik zostanie wyświetlony na ekranie (czy masz na sobie maseczkę, czy nie).

Rysunek 11.

Jeśli chcesz, aby po wykryciu maseczki były wykonywane inne zadania, takie jak odtwarzanie dźwięku lub otwieranie i zamykanie bramy, możesz wyeksportować model ML i zaprogramować zadania w Pythonie za pomocą SDK. Sprawdź dokumentację SDK, aby dowiedzieć się więcej.

Fotografia 12.
Fotografia 13.
Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić
Wideo
Do pobrania
Download icon Kamera sprawdzająca noszenie maseczki przeciw Covid - kod źródłowy
Firma:
AUTOR
Źródło
www.electronicsforu.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"