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

Detecção de pontos-alvo com redes neurais treinadas autonomamente no OpenMV – Reconhecimento de sinais de trânsito em ambientes rodoviários reais

Existem duas tarefas muito comuns na área da visão para a inteligência artificial: classificação e deteção de objetos.

Categoria:Determinar a que categoria a imagem pertence, por exemplo, se é um gato ou um cão.

Detecção de Objetos:Utilizado para determinar a localização, o número e as dimensões de múltiplos objetos distintos numa imagem.

No tutorial em vídeo anterior, explicámos como treinar uma rede neuronal online com a OpenMV4 Plus para classificar diferentes objetos. Esta pode determinar em tempo real se a imagem no campo de visão da OpenMV corresponde a um determinado objeto, por exemplo, se uma face está ou não a utilizar uma máscara, mas não é capaz de fornecer as coordenadas da posição da face ou da máscara, nem o número de faces.

Dado que a detecção de objetos é significativamente mais complexa e exigente em termos de poder computacional do que a classificação, é muito rara no domínio dos microcontroladores. A unidade de controlo principal da OpenMV é o MCU STM32H7; actualmente, adicionámos à OpenMV uma nova funcionalidade que permite executar tarefas semelhantes à detecção de objetos directamente num microcontrolador, com um desempenho notavelmente impressionante.

交通标志识别教程-多个目标的识别

Hoje explicaremosTreinar a deteção de sinais de trânsito em ambientes reais de estrada, detetando os sinais de trânsito presentes nas nossas vias reaispor exemplo, proibição de buzinar, proibição de estacionamento e limite de velocidade de 80 km/h, em vez de um ambiente laboratorial sem interferências.

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

É sabido que o ambiente real é extremamente complexo, especialmente o ambiente rodoviário, com muitos fatores de interferência. Capturámos imagens de sinais de trânsito no ambiente real utilizando dispositivos como telemóveis e treinámos o modelo no sítio web online EdgeImpulse, parceiro da OpenMV, tendo rotulado aproximadamente 270 imagens. O tempo de treino foi de apenas 10 minutos, obtendo-se um modelo com uma precisão F1 score de 92 % e uma taxa de quadros de 10 fps na OpenMV, resultando num desempenho muito fluído e com elevada precisão.

Todos podem treinar qualquer objeto que desejem detetar, com base nos nossos tutoriais em vídeo; por exemplo, diferentes dígitos, diferentes frutas, diferentes marcadores, diferentes peças ou até mesmo quaisquer objetos específicos irregulares. É possível treinar o sistema para identificar a quantidade, as coordenadas e o nome da categoria do objeto específico.

Atenção:Este tutorial em vídeo aborda a funcionalidade de deteção de pontos-alvo com redes neurais, que não só é compatível com o OpenMV4 H7 Plus, mas também com o OpenMV4 H7, uma vez que os modelos treinados de deteção de pontos-alvo FOMO são reduzidos em tamanho, apresentam um excelente desempenho e ocupam apenas algumas dezenas de KB; mesmo tendo menos memória RAM disponível do que o modelo Plus, o OpenMV4 H7 pode executar modelos ligeiramente menores treinados especificamente para este dispositivo.

Apresentamos, de seguida, uma breve introdução ao princípio:

As principais decisões de conceção da deteção de pontos-alvo FOMO no OpenMV baseiam-se na ideia de que muitos problemas de deteção de objetos, na realidade, não exigem o conhecimento do tamanho dos objetos, mas apenas das suas posições na imagem. Assim que conhecemos a posição dos objetos, podemos executar operações subsequentes, tais como o controlo de um veículo por parte do OpenMV para que este se desloque em direção ao alvo detetado, o aterragem precisa de um drone ou o controlo de um braço robótico para agarrar um objeto-alvo específico.

O modelo FOMO é um modelo especialmente concebido pela EdgeImpulse para ambientes de microcontroladores; ao contrário da deteção de objetos convencional, este modelo apenas consegue detetar a localização e o número de múltiplos objetos, sem obter as suas dimensões específicas.

O princípio subjacente do modelo FOMO é extremamente simples e flexível. Primeiro, divide-se a imagem em blocos, cada um com 8×8 píxeis. Assim, uma imagem com resolução de 96×96 resulta numa grelha de 12×12 células; uma imagem com resolução de 360×360 resulta numa grelha de 40×40 células. Em seguida, executa-se, de forma independente, a classificação de imagens em cada célula.

Em comparação com o YOLO V5 ou o MobileNet SSD, o FOMO apresenta um desempenho significativamente superior na deteção de um grande número de pequenos objetos. A deteção de pontos-alvo do FOMO é 30 vezes mais rápida do que a do MobileNet SSD.

Se os objetos a detetar tiverem dimensões semelhantes — por exemplo, se as dimensões dos marcadores a identificar forem aproximadamente iguais, em vez de incluírem simultaneamente um objeto muito grande e outro muito pequeno — o desempenho do FOMO será superior.

A OpenMV utiliza o EdgeImpulse para treinar online uma rede neural de deteção de pontos-alvo, dividido principalmente nas seguintes etapas: aquisição e envio do conjunto de dados de imagens, etiquetagem dos alvos, treino, teste do modelo e implementação.

* Aquisição de um conjunto de dados de imagens: captura de imagens de objetos específicos no ambiente real em que pretendemos efetuar a identificação. Realizamos a aquisição de imagens reais no mesmo ambiente em que será feita a identificação; assim, o ambiente real de treino e o ambiente real de deteção são, essencialmente, idênticos, o que resulta num desempenho melhor.

*Objetivo da anotação: delimitar cada objeto a detetar no nosso conjunto de dados e associá-lo ao respetivo nome, de modo a facilitar o treino subsequente, bem como a deteção da localização e do nome dos objetos.

* Modelo de treino: Após a conclusão da anotação, procede-se ao treino do modelo com os parâmetros da rede neural convolucional por nós concebidos.

* Modelo de teste: Realizamos testes com base no modelo treinado; caso os resultados não sejam satisfatórios, aumentamos correspondente­mente o conjunto de dados de treino ou ajustamos os parâmetros de treino e prosseguimos com o treino até obtermos um modelo satisfatório.

*Implementação: Basta colocar os ficheiros do modelo treinado na unidade USB integrada no OpenMV para executá-los.

A seguir, demonstra-se o processo específico:

01. Recolha e envio do conjunto de dados de imagens

I. Em primeiro lugar, aceda ao website edgeimpulse.com, selecione «Iniciar sessão», introduza o nome do novo projeto e selecione «Imagens» — «Classificar múltiplos objetos»

交通标志识别教程-新建项目.

Dois: selecione a imagem para carregar. Existem várias formas de obter o conjunto de dados da imagem:

1. Capturar imagens em tempo real através do IDE OpenMV. Utilizar a ferramenta «Editor de Conjunto de Dados» integrada no IDE OpenMV para criar um novo conjunto de dados e capturar imagens em tempo real; para obter instruções detalhadas, consultar o nosso tutorial em vídeo anterior sobre classificação de objetos e deteção de máscaras.

交通标志识别教程-.实时采集图像

2. Imagens descarregadas da Internet ou fotografias tiradas diretamente com um telemóvel. Preferencialmente, devem corresponder ao ambiente real em que efetua a deteção. Preparámos cerca de quatrocentas a quinhentas imagens de sinais de trânsito, tais como «Estacionamento Proibido», «Avisar com Sinal Sonoro Proibido» e «Velocidade Máxima 80 km/h», todas capturadas em estradas reais; este conjunto de dados pode ser descarregado a partir do nosso GitHub e do nosso site de tutoriais.

02. Objetivo da Anotação

Carregue aproximadamente 100 imagens por categoria; após o carregamento das imagens, proceda à anotação destas, indicando a localização e a categoria dos objetos que pretende identificar.

交通标志识别教程-上传图片
交通标志识别教程-标记物体

03. Treinar o modelo

Defina os parâmetros do treino, altere a resolução para 128 × 128 e selecione todos os parâmetros predefinidos; em seguida, clique em Guardar.

交通标志识别教程-训练模型1.

Gerar funcionalidades, sendo que três cores representam três marcas distintas.

交通标志识别教程-训练模型2

Definir os parâmetros de treino para deteção de objetos. O número predefinido de épocas de treino é 60, a taxa de aprendizagem é 0,001 e a proporção do conjunto de validação é 20 %. Selecione a opção «Ativar aumento de dados». Para o modelo de transferência de aprendizagem, podemos escolher o MobileNetV2 0,35 ou o MobileNetV2 0,1 predefinidos. (Nota: não é possível utilizar o SSD, pois este não é suportado pela OpenMV.)

Selecione Iniciar Treino. Após a conclusão do treino, o modelo de rede neuronal obtido apresenta uma pontuação F1 de 91,2 %, podendo guardar-se a versão atual.

交通标志识别教程-训练模型3

Selecione o armazenamento, preencha a sua descrição e selecione Guardar.

交通标志识别教程-训练模型4

04. Implementação do modelo

Exportar o ficheiro do modelo treinado. Basta exportar a biblioteca; selecione OpenMV e clique em Build para iniciar a implementação e exportação do modelo.

交通标志识别教程-部署模型1

Ele descarrega automaticamente o modelo que exportámos; aqui está o modelo treinado com as 300 imagens, concluindo assim todo o processo de treino.

交通标志识别教程-部署模型2

05. Executar o modelo

Executar o modelo no OpenMV:

Ligue a OpenMV Plus, guarde os três ficheiros treinados na unidade USB incorporada da OpenMV e abra o ficheiro ei_object_detection.py no IDE da OpenMV. Clique em Executar; os resultados da execução serão apresentados no terminal em série.

交通标志识别教程-运行模型1
交通标志识别教程-运行模型2

Esta funcionalidade também pode ser executada no OpenMV4. Uma vez que o OpenMV4 não possui SDRAM externa, a sua memória é ligeiramente menor; por conseguinte, podemos reduzir o tamanho do modelo para permitir a sua execução no OpenMV4.

Existem dois métodos para reduzir o tamanho do modelo:

I. Reduzir a resolução de treino, alterando-a de 128 × 128 para 96 × 96.

Dois. Modificar o modelo de transferência de aprendizagem utilizado, substituindo o MobileNetV2 0.35 pelo MobileNetV2 0.1.

Por fim, coloque o novo ficheiro treinado no OpenMV4 para executá-lo.

Acima apresentamos o nosso tutorial de deteção de pontos-alvo. Aguardamos com expectativa os 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号