logo
OpenMV
Câmera doméstica
Aplicativos
Loja
AI
Canais de vendas
Apoiar
OpenMVOpenMV
EscudosEscudos
LenteLente
RobóticaRobótica
LivroLivro
VídeoVídeo
DownloadDownload
DocumentosDocumentos
FórumFórum
OpenMV.ioOpenMV.io
GitHubGitHub

OpenMV4 Plus utiliza o Edge Impulse para treinar uma rede neural de forma autónoma para reconhecimento de máscaras SingTown

Em abril do ano passado, o nosso novo produto OpenMV4 H7 Plus foi lançado. Hoje, vou apresentar a nova funcionalidade do OpenMV4 H7 Plus – utilizar o site online EdgeImpulse para treinar de forma autónoma redes neuronais para classificação e reconhecimento.

Neste tutorial, irá utilizar aprendizagem automática para construir um sistema de reconhecimento que, através da câmara inteligente OpenMV4 H7 Plus, identifica se uma pessoa está a usar máscara facial, ou seja, realiza classificação de imagem.

OpenMV产品图

EdgeImpulse é um site que fornece serviços de treino online de modelos de redes neuronais para dispositivos embutidos, sendo nosso parceiro OpenMV e também parceiro oficial da STMicroelectronics. Atualmente, o EdgeImpulse está aberto gratuitamente para os nossos utilizadores OpenMV, permitindo que estes utilizem a plataforma para treinar modelos de redes neuronais adequados para o OpenMV sem custos.

A adição de redes neurais ao dispositivo embutido OpenMV permite distinguir caçadores furtivos de elefantes, realizar controlo de qualidade em linhas de produção de fábricas e permitir que carros modelo telecomandados conduzam autonomamente, entre outras funcionalidades.

Neste tutorial, irá aprender como recolher imagens para criar um conjunto de dados de alta qualidade, como aplicar a aprendizagem por transferência para treinar uma rede neural e como implementar o sistema no OpenMV.

Além disso, também disponibilizámos um tutorial em vídeo, que pode ser visualizado pesquisando por "OpenMV4 Plus Training Neural Network for Mask Recognition" no site oficial.

Pode consultar todo o conteúdo do projeto no seguinte endereço, incluindo todos os códigos e modelos: https://book.openmv.cc/project/mask.html

A utilização do EdgeImpulse para treinar modelos de redes neuronais online para o OpenMV divide-se principalmente nos seguintes quatro passos: recolha de dados, carregamento, treino e implementação.

01. Recolha de Conjuntos de Dados

Neste tutorial, vamos construir um modelo capaz de distinguir se uma pessoa está a usar máscara facial ou não. Claro que também pode optar por classificar outros objetos. Para que o modelo de aprendizagem automática funcione, é necessário recolher um grande número de imagens de exemplo de rostos com e sem máscara. Durante o treino, estas imagens de exemplo são utilizadas para o modelo praticar a distinção.

Precisamos de utilizar o OpenMV IDE para recolher o nosso conjunto de dados. Os passos para recolher as imagens são os seguintes:

Criar duas categorias:

Abra o menu "Ferramentas" no OpenMV IDE, selecione "Editor de Conjunto de Dados", clique em "Novo Conjunto de Dados", crie uma nova pasta e abra-a. Dentro do conjunto de dados, crie duas pastas adicionais, nomeando-as como "mask" (para guardar fotografias de rostos com máscara) e "face" (para guardar fotografias de rostos sem máscara).

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

Capturar imagens com OpenMV

Primeiro, ligamos o OpenMV, clicamos em "Ligar" no IDE, depois em "Executar". No buffer de quadros Framebuffer, podemos ver a imagem em tempo real do OpenMV. Ao clicar no botão de fotografia na barra de menu lateral, o OpenMV guarda automaticamente essa imagem, que constitui um dos dados do conjunto de dados.

Primeiro, o que pretendemos guardar são os rostos das pessoas que usam máscaras. Ao clicar no botão da fotografia, o IDE tira uma fotografia na parte inferior, que é automaticamente nomeada como 00000, seguida de 00001, e assim sucessivamente.

Utilizando o OpenMV, foram recolhidas 200 fotografias de rostos com máscara (100 de homens e 100 de mulheres) e 200 fotografias de rostos sem máscara (igualmente 100 de homens e 100 de mulheres).

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

* Nota: Certifique-se de recolher fotografias de vários ângulos para garantir a diversidade do nosso treino e aprendizagem.

Se durante a recolha descobrir que uma imagem não foi capturada de forma ideal, pode clicar com o botão direito do rato sobre essa imagem e selecionar eliminar.

02. Carregar

Após a captura de imagens com o OpenMV, é necessário registar uma conta e iniciar sessão no site oficial do EdgeImpulse (https://edgeimpulse.com/) para começar a carregar as imagens. Os passos para carregar as imagens são:

Crie um novo projeto no EdgeImpulse, clique em "keys", selecione "API Key" e copie a "API Key". Utilize a API Key para estabelecer a ligação entre o OpenMV IDE e o Edge Impulse.

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

Selecione na barra de menu superior do OpenMV IDE "Ferramentas" — "Editor de Dados" — "Exportar" — "Carregar" — "Carregar via Chave de API", copie a "Chave de API" e carregue.

Os dados serão automaticamente divididos em conjuntos de treino e teste durante o upload, sendo a proporção padrão selecionada de "80% e 20%". Recolhemos um total de mais de 400 imagens faciais, onde 80% dos Training Date correspondem a 80% dos dados utilizados para treino por padrão, e os restantes 20% são usados como conjunto de teste.

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

03. Conjunto de Dados de Treino

Com o conjunto de dados preparado, pode treinar o conjunto de dados na interface do site do EdgeImpulse.

Módulo de Processamento de Configuração:

Primeiro, selecione "Impulse Design" e configure o módulo de processamento:

* Definir a proporção padrão da imagem como "96 x 96";

* Selecione o módulo "Imagens", indicando que estamos a realizar treino de classificação de imagens (também pode utilizar o EdgeImpulse para classificar sons, vídeos, etc.);

* Selecione "Transferência de Aprendizagem (Imagens) Transfer Learning (Images)", configure o modelo de aprendizagem;

Selecionar "Guardar impulso Save", se aparecer "Successfully" significa que a configuração foi bem-sucedida.

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

Pré-processamento de imagem:

Clique em "Imagem" no menu esquerdo, defina o formato de cor como "RGB" e, em seguida, clique em "Guardar".

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

A seguir, selecione "Gerar Características" para iniciar o processo, que realizará o pré-processamento de imagens em mais de 400 conjuntos de dados, e uma visualização 3D do conjunto de dados completo será exibida no lado direito.

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

Configurar o modelo de aprendizagem por transferência

Clique em "Aprendizagem por Transferência" no menu esquerdo, os parâmetros configurados podem ser todos selecionados como padrão ou alterados conforme necessário:

1. Definir o número de ciclos de treino Number of training cycles como padrão para 10

2. Defina a taxa de aprendizagem Learning rate para 0,0005

3. Pode marcar ou não a opção "Aumento de dados Data augmentation

4. Definir a classificação mínima de confiança Minimum confidence rating como 0.8 por padrão.

Clique em "Iniciar treino Start training", o processo de treino demora aproximadamente 4 a 5 minutos.

Após a conclusão do treino do modelo, pode consultar a precisão, a matriz de confusão e o desempenho esperado do equipamento.

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

* Testar o modelo:

Após o treino, utilizaremos dados de teste para verificar o modelo.

Selecione "Teste de Modelo", marque a caixa de seleção ao lado de "Nome da Amostra" e clique em "Classificar Selecionados". A precisão exibida aqui atingiu 97%, o que é notável para um modelo com tão poucos dados.

口罩识别教程-测试模型

Descobriu que esta imagem exibida em vermelho é incerta. Clique nos três pontos à direita da imagem, selecione "Mostrar classificação Show classification" e entrará na interface de "Classificação em tempo real", que contém mais detalhes do ficheiro. Esta interface ajudará a determinar a razão pela qual a imagem foi classificada incorretamente.

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

Se os dados estiverem fora de todos os clusters conhecidos (com máscara/sem máscara), podem ser dados que não correspondem a nenhuma categoria previamente observada – possivelmente devido ao rosto estar maioritariamente coberto por cabelo.

04. Executar o modelo no OpenMV

Após concluir as etapas de design de treino, treino do modelo e validação do modelo, pode exportar este modelo para o seu OpenMV. Selecione "OpenMV", escolha "Build" para gerar, e serão automaticamente criados 3 ficheiros:

trained.tflite modelo de rede neural treinado

labels.txt duas etiquetas de classificação (face e mask)

* ei_image_classification.py é o código a ser executado no OpenMV

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

Ligue o OpenMV IDE e guarde estes 3 ficheiros na memória Flash interna do OpenMV. Abra o ficheiro ei_image_classification.py no OpenMV IDE para ver o código que acabámos de gerar no EdgeImpulse. Clique em executar e os resultados da execução serão exibidos no terminal série.

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

Muito bem, já conseguiste adicionar com sucesso a funcionalidade de treinar redes neurais de forma autónoma ao OpenMV.

Esperamos pelos seus resultados!

Artigos relacionados

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

Sentinela de IA baseada em OpenMV: Alerta automático para locais críticos não fechados

Detecção automática de portas de locais críticos que permaneçam abertas durante um período prolongado, com alerta imediato.

越界识别

Alerta de intrusão de pessoal; a OpenMV interpreta o «sentido de fronteira de segurança»

Detecção de comportamentos de intrusão de pessoas ou equipamentos através de linhas virtuais de vigilância.

占道经营识别

O «AI Gestor Municipal» chegou: sistema automático de deteção de ocupação ilegal de vias públicas baseado em OpenMV

Identificação automática de atividades comerciais que ocupam indevidamente vias públicas, apoiando a gestão quotidiana das cidades.

煤气罐违规摆放识别

Cilindros de gás colocados de forma inadequada? Utilize a OpenMV para acionar automaticamente alertas de perigo

Identificação automática de posições inadequadas de botijões de gás, permitindo a deteção antecipada de riscos de segurança relacionados com o gás.

绝缘手套佩戴识别

Trabalho em equipamento energizado sem luvas isolantes? A OpenMV emite imediatamente um alerta!

Identificação automática de se os trabalhadores estão a utilizar luvas isolantes, para apoio à execução segura das tarefas.

铝板缺陷识别

Utilização da câmara inteligente OpenMV para deteção em tempo real de defeitos na superfície de placas de alumínio

Detecção online de defeitos na superfície de chapas de alumínio, tais como riscos e depressões, para apoio ao controlo de qualidade.

Categorias populares

Idioma e região
Copyright © 2025 星瞳科技SingTown
粤ICP备17045162号