logo
OtwórzMV
Kamera domowa
Aplikacje
Sklep
AI
Kanały sprzedaży
Wsparcie
OtwórzMVOtwórzMV
TarczeTarcze
ObiektywObiektyw
RobotykaRobotyka
KsiążkaKsiążka
WideoWideo
PobieraćPobierać
DokumentyDokumenty
ForumForum
OpenMV.ioOpenMV.io
GitHubGitHub

OpenMV4 Plus wykorzystuje Edge Impulse do samodzielnego trenowania sieci neuronowej w celu rozpoznawania maseczek.

W kwietniu ubiegłego roku wprowadziliśmy na rynek nasz nowy produkt – OpenMV4 H7 Plus. Dzisiaj chciałbym przedstawić jego nową funkcję – samodzielne trenowanie sieci neuronowych za pomocą platformy online EdgeImpulse w celu klasyfikacji i rozpoznawania.

W tym samouczku wykorzystasz uczenie maszynowe do zbudowania systemu rozpoznawania, który za pomocą inteligentnej kamery OpenMV4 H7 Plus będzie identyfikował, czy osoba na zdjęciu nosi maseczkę, czyli zrealizuje klasyfikację obrazu.

OpenMV产品图

EdgeImpulse to witryna internetowa oferująca usługi szkolenia modeli sieci neuronowych online dla urządzeń wbudowanych. Jest partnerem naszej firmy SingTown, a także oficjalnym partnerem STMicroelectronics. Obecnie EdgeImpulse jest bezpłatnie dostępny dla użytkowników SingTown, którzy mogą bezpłatnie korzystać z platformy do trenowania modeli sieci neuronowych online przeznaczonych dla SingTown.

Dodanie sieci neuronowej do urządzenia wbudowanego OpenMV umożliwia rozróżnianie kłusowników i słoni, kontrolę jakości na liniach produkcyjnych w fabrykach oraz samodzielne prowadzenie zdalnie sterowanych modeli samochodów.

W tym samouczku nauczysz się, jak zbierać obrazy w celu stworzenia wysokiej jakości zbioru danych, jak zastosować transfer uczenia do trenowania sieci neuronowej oraz jak wdrożyć system na platformie OpenMV.

Ponadto udostępniliśmy samouczek wideo, który można obejrzeć na oficjalnej stronie internetowej, wyszukując "OpenMV4 Plus: Trenowanie sieci neuronowej do rozpoznawania maseczek".

Możesz zapoznać się z całą zawartością projektu pod poniższym adresem, obejmującym wszystkie kody i modele: https://book.openmv.cc/project/mask.html

Użycie EdgeImpulse do trenowania modeli sieci neuronowych online, przeznaczonych dla OpenMV, obejmuje głównie cztery kroki: zbieranie danych, przesyłanie, trenowanie oraz wdrożenie.

01. Zbieranie zbioru danych

W tym samouczku zbudujemy model, który będzie w stanie rozróżnić, czy na twarzy znajduje się maseczka. Oczywiście możesz również wybrać klasyfikację innych przedmiotów. Aby umożliwić działanie modelu uczenia maszynowego, musisz zebrać dużą liczbę przykładowych obrazów twarzy zarówno w maseczkach, jak i bez nich. Podczas treningu te przykładowe obrazy służą do ćwiczenia rozróżniania przez model.

Musimy wykorzystać OpenMV IDE do zebrania naszego zbioru danych. Kroki do zbierania obrazów są następujące:

Utwórz dwie kategorie:

Otwórz menu "Narzędzia" w OpenMV IDE, wybierz "Edytor zestawu danych", kliknij "Nowy zestaw danych", następnie utwórz nowy folder i otwórz go. Wewnątrz zestawu danych utwórz dwa kolejne foldery, nazywając je odpowiednio "mask" (do przechowywania zdjęć twarzy w maseczkach) i "face" (do przechowywania zdjęć twarzy bez maseczek).

口罩识别教程-新建数据集
口罩识别教程-创建分类文件夹

Zbieranie obrazów za pomocą OpenMV

Najpierw łączymy OpenMV, klikamy "Połącz" w IDE, następnie "Uruchom". W buforze klatek Framebuffer widzimy obraz na żywo z OpenMV. Klikając przycisk zdjęcia w lewym menu paskowym, OpenMV automatycznie zapisuje to zdjęcie, co stanowi jeden z elementów zbioru danych.

Najpierw musimy zapisać twarz osoby w masce. Kliknij przycisk zdjęcia, a IDE zrobi zdjęcie w dolnej części, automatycznie nazywając je 00000, następne będzie 00001 i tak dalej.

Zbierz 200 zdjęć twarzy osób w maseczkach (po 100 kobiet i mężczyzn) oraz 200 zdjęć twarzy osób bez maseczek (po 100 kobiet i mężczyzn) za pomocą OpenMV.

口罩识别教程-用OopenMV采集男生戴口罩的图像
口罩识别教程-用OopenMV采集女生戴口罩的图像

* Uwaga: Należy upewnić się, że zdjęcia są zbierane z różnych kątów, aby zapewnić różnorodność naszego treningu i uczenia się.

Jeśli podczas zbierania danych okaże się, że jakieś zdjęcie nie jest wystarczająco doskonałe, można kliknąć na nie prawym przyciskiem myszy i wybrać opcję usunięcia.

02. Przesyłanie

Po zebraniu obrazów za pomocą OpenMV, musisz zarejestrować konto i zalogować się na oficjalnej stronie EdgeImpulse (https://edgeimpulse.com/), aby rozpocząć przesyłanie obrazów. Kroki przesyłania obrazów:

Utwórz nowy projekt na EdgeImpulse, kliknij "keys", wybierz "API Key" i skopiuj "API Key". Za pomocą klucza API połącz OpenMV IDE z Edge Impulse.

口罩识别教程-和Edge Impulse的连通

Wybierz z górnego paska menu w OpenMV IDE opcję "Narzędzia" – "Edytor danych" – "Eksportuj" – "Prześlij" – "Prześlij za pomocą klucza API", skopiuj "Klucz API" i prześlij.

Dane zostaną automatycznie podzielone na zbiór treningowy i testowy podczas przesyłania. Domyślnie wybieramy proporcję "80% i 20%". Zebraliśmy ponad 400 zdjęć twarzy, z czego 80% danych w Training Date jest domyślnie wykorzystywanych do treningu, a pozostałe 20% służy jako zbiór testowy.

口罩识别教程-用OpenMV上传数据集
口罩识别教程-将数据集上传到EdgeImpulse上

03. Zbiór danych treningowych

Gdy zestaw danych jest gotowy, możesz trenować go w interfejsie strony internetowej EdgeImpulse.

Moduł przetwarzania konfiguracji:

Najpierw wybierz "Impulse Design", skonfiguruj moduł przetwarzania:

* Ustaw domyślny rozmiar obrazu na "96 x 96";

Wybierz moduł "Obrazy", co oznacza, że przeprowadzamy trening klasyfikacji obrazów (możesz również użyć EdgeImpulse do klasyfikacji dźwięku, wideo itp.);

Wybierz "Transfer Learning (Images) Transfer Learning (Images)", skonfiguruj model do nauki.

Wybierz "Zapisz impuls Save impulse", wyświetlenie "Successfully" oznacza pomyślną konfigurację.

口罩识别教程-配置处理模块

Przetwarzanie wstępne obrazu:

Kliknij "Obraz" w menu po lewej stronie, ustaw format kolorów na "RGB", a następnie kliknij "Zapisz".

口罩识别教程-图像预处理

Następnie wybierz "Generuj cechy" (Generate features), aby uruchomić proces. Wykonana zostanie wstępna obróbka ponad 400 obrazów, a po prawej stronie wyświetlona zostanie wizualizacja 3D pełnego zestawu danych.

口罩识别教程-数据可视化处理

Konfiguracja modelu transferu uczenia

Kliknij "Uczenie transferowe (Transfer learning)" w menu po lewej stronie, wszystkie parametry ustawień można wybrać jako domyślne lub zmienić zgodnie z wymaganiami:

1. Ustaw domyślną liczbę cykli treningowych Number of training cycles na 10

2. Ustaw współczynnik uczenia (Learning rate) na 0,0005

3. Można zaznaczyć lub nie zaznaczyć opcji "Data augmentation

4. Ustaw domyślną wartość minimalnego współczynnika ufności Minimum confidence rating na 0.8.

Kliknij "Rozpocznij trening Start training", proces treningu trwa około 4 do 5 minut.

Po zakończeniu trenowania modelu możesz sprawdzić dokładność, macierz pomyłek (confusion matrix) oraz oczekiwaną wydajność urządzenia.

口罩识别教程-训练完成后的表现

Testuj model:

Po zakończeniu treningu wykorzystamy dane testowe do sprawdzenia modelu.

Wybierz "Testowanie modelu Model testing", zaznacz pole wyboru obok "Nazwa próbki Sample name", kliknij "Klasyfikuj wybrane Classify selected". Prezentowana tutaj dokładność osiągnęła 97%, co jest niezwykłe jak na model z tak małą ilością danych.

口罩识别教程-测试模型

Odkryto, że ten obrazek wyświetlany na czerwono jest niepewny. Kliknij trzy kropki po prawej stronie tego obrazka, wybierz "Pokaż klasyfikację Show classification", a przejdziesz do interfejsu "Klasyfikacja w czasie rzeczywistym", który zawiera więcej szczegółów dotyczących pliku. Ten interfejs pomoże Ci ustalić przyczynę błędnej klasyfikacji obrazka.

口罩识别教程-无法分类的图片

Jeśli dane znajdują się poza wszystkimi znanymi klastrami (w maseczce/bez maseczki), mogą to być dane, które nie pasują do żadnej wcześniej obserwowanej klasyfikacji – być może z powodu włosów zasłaniających większą część twarzy.

04. Uruchamianie modelu na OpenMV

Po wykonaniu kroków projektowania treningu, trenowania modelu i walidacji modelu, możesz wyeksportować ten model do swojego OpenMV. Wybierz "OpenMV", a następnie "Build", aby wygenerować. Automatycznie utworzone zostaną 3 pliki:

trained.tflite wytrenowany model sieci neuronowej

* labels.txt dwa etykiety kategorii (face i mask)

* ei_image_classification.py to kod do uruchomienia na OpenMV

口罩识别教程-在OpenMV上运行模型

Połącz OpenMV IDE i zapisz te 3 pliki w pamięci Flash wbudowanej w OpenMV. Otwórz plik ei_image_classification.py w OpenMV IDE, aby zobaczyć kod wygenerowany wcześniej w EdgeImpulse. Kliknij Uruchom, a wyniki działania zostaną wyświetlone w terminalu szeregowym.

口罩识别教程-识别戴口罩的人脸.
口罩识别教程-识别不戴口罩的人脸

Dobrze, udało Ci się już dodać funkcję samodzielnego trenowania sieci neuronowych do OpenMV.

Oczekujemy Twoich wyników!

Powiązane artykuły

机房/配电房/单元门敞开识别

AI Stróż oparty na OpenMV: automatyczne powiadomienie o niezamknięciu miejsc kluczowych

Automatyczne wykrywanie, czy drzwi w kluczowych miejscach pozostają otwarte przez dłuższy czas, oraz natychmiastowe powiadamianie o tym fakcie.

越界识别

Alarm w przypadku przekroczenia granicy przez osobę – OpenMV interpretuje pojęcie „bezpiecznej strefy granicznej”

Rozpoznawanie przekroczenia granicy przez osoby lub urządzenia za pomocą wirtualnej linii alarmowej.

占道经营识别

„AI Inspektor Miast” już dostępny – system automatycznego rozpoznawania niezgodnego z przepisami prowadzenia działalności handlowej na terenach publicznych oparty na platformie OpenMV

Automatyczne rozpoznawanie działalności handlowej na drogach publicznych w celu wspierania codziennej administracji miejskiej.

煤气罐违规摆放识别

Nieprawidłowe umieszczenie butli gazowych? Automatyczne wyzwalanie ostrzeżenia o zagrożeniu przy użyciu OpenMV

Automatyczne rozpoznawanie niezgodnych miejsc umieszczenia butli gazowych oraz wcześniejsze wykrywanie zagrożeń związanych z gazem.

绝缘手套佩戴识别

Wykonywanie prac pod napięciem bez stosowania rękawiczek izolacyjnych? OpenMV natychmiast wydaje alarm!

Automatyczne rozpoznawanie, czy pracownicy noszą rękawice izolacyjne, wspierające bezpieczną pracę.

铝板缺陷识别

Zastosowanie inteligentnej kamery OpenMV do rzeczywistego rozpoznawania wad powierzchni płytek aluminiowych

Onlineowe wykrywanie wad powierzchniowych płyt aluminiowych, takich jak zadrapania i wgniecia, wspierające kontrolę jakości.

Popularne kategorie

Język i region
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号