Índice:
- Etapa 1: Firmware Flash Micropython
- Etapa 2: conectar-se ao bit MaiX
- Etapa 3: execute as demonstrações
Vídeo: Sipeed MaiX Bit OpenMV Demos - Visão computacional: 3 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Este é o segundo artigo da série sobre Sipeed AI na plataforma de microcontrolador Edge. Desta vez, escreverei sobre o MaiX Bit (link para Seeed Studio Shop), uma placa de desenvolvimento menor e pronta para a placa de ensaio. Suas especificações são muito parecidas com a da MaiX Dock, placa que usei no último tutorial, já que usam o mesmo chip, Kendryte K210.
Vamos usar o firmware do micropython para experimentar algumas demos do OpenMV. Aqui está a descrição da página inicial do OpenMV:
O projeto OpenMV é sobre a criação de módulos de visão de máquina de baixo custo, extensíveis e baseados em Python e visa se tornar o “Arduino da Visão de Máquina“.… Python torna o trabalho com algoritmos de visão de máquina muito mais fácil. Por exemplo, o método find_blobs () no código encontra blobs de cores e retorna uma lista de objetos de valor 8 que representam cada blob de cores encontrado. Em Python, iterar pela lista de objetos retornados por find_blobs () e desenhar um retângulo ao redor de cada mancha de cor é feito facilmente em apenas duas linhas de código.
Portanto, apesar do MaiX Bit apresentar um acelerador de rede neural dedicado, às vezes pode ser mais fácil apenas usar algoritmos codificados por OpenMV para fazer o trabalho ou usá-los lado a lado.
Alguns casos de uso que me vêm à mente são:
1) Detecção de linha para bot seguidor de linha
2) Detecção de semáforos com detecção de círculo e cor
3) Usando a detecção de rosto para encontrar os rostos para reconhecimento de rosto (com DNN)
Repositório Github para este artigo
Etapa 1: Firmware Flash Micropython
Em primeiro lugar, precisaremos atualizar o firmware do micropython em nossa placa. Um binário pré-compilado está incluído no repositório github para este artigo, junto com kflash.py (um utilitário flash). Se você deseja compilar o firmware a partir do código-fonte, basta baixar o código-fonte em https://github.com/sipeed/MaixPy, instalar o conjunto de ferramentas e compilar o código-fonte no arquivo maixpy.bin. Instruções detalhadas de construção podem ser encontradas aqui.
Atualize o arquivo binário com
sudo python3 kflash.py kpu.bin
Depois de piscar com sucesso, siga para a próxima etapa.
Etapa 2: conectar-se ao bit MaiX
Agora nosso MaiX Bit deve estar acessível através de uma conexão serial USB com baudrate 115200. Você pode usar seu software favorito para comunicação serial ou apenas os comandos cat e echo, o que for adequado às suas necessidades. Eu estava usando a tela para comunicação serial e achei muito conveniente.
O comando para estabelecer uma sessão de comunicação serial com tela é
sudo screen / dev / ttyUSB0 115200
onde / dev / ttyUSB0 é o endereço do seu dispositivo.
Pode ser necessário pressionar o botão reset em seu microcontrolador para ver a mensagem de saudação e o prompt do interpretador Python.
Etapa 3: execute as demonstrações
Agora você pode acessar o modo de cópia pressionando Ctrl + E e copiar e colar os códigos de demonstração. Para executá-los, pressione Ctrl + D no modo de cópia.
Se não quiser gravar os vídeos, você precisa comentar as falas de gravação do vídeo. Caso contrário, o código lançará uma exceção se não houver um cartão SD inserido
Aqui estão breves descrições de cada demonstração:
Encontrar círculos - usa a função find_circles do OpenMV. Precisa de mais ajustes para sua aplicação específica, particularmente o limite (controla quais círculos são detectados na transformação de Hough. Apenas os círculos com uma magnitude maior ou igual ao limite são retornados) e os valores r_min, r_max.
Encontrar retângulos - usa a função find_rects do OpenMV. Você pode brincar com o valor limite, mas o valor que tenho na demonstração funciona muito bem para encontrar retângulos.
Encontre rostos, encontre olhos - usa a função find_features com Haar Cascades para detectar olhos e rosto frontal na imagem. Você pode brincar com os valores de limite e escala para obter a compensação certa entre velocidade e precisão.
Encontrar linhas infinitas - usa a função find_lines para encontrar todas as linhas infinitas na imagem usando a transformação de hough.
Detectar cor - usa a função get_statistics para obter o objeto percentil e então converte os valores médios da tupla LAB em tupla de valores RGB. Eu mesmo escrevi este exemplo e ele funciona muito bem, mas tenha em mente que os resultados da detecção de cores serão afetados pelas condições de luz ambiente.
Você pode encontrar muitos outros demos interessantes no repositório github OpenMV! Eles são principalmente compatíveis com o micropython MaiX Bit, a única coisa que você precisa lembrar é adicionar sensor.run (1) após definir o formato de pixel e o tamanho do quadro.
Boas experiências com código OpenMV. Se você tiver alguma dúvida ou quiser compartilhar alguns de seus resultados interessantes, não hesite em me contactar no Youtube ou LinkedIn. Agora, com licença, vou fazer alguns robôs!
Recomendado:
Detecção de objetos com placas Sipeed MaiX (Kendryte K210): 6 etapas
Detecção de objetos com placas Sipeed MaiX (Kendryte K210): Como continuação do meu artigo anterior sobre reconhecimento de imagem com placas Sipeed MaiX, decidi escrever outro tutorial, com foco na detecção de objetos. Houve algum hardware interessante surgindo recentemente com o chip Kendryte K210, incluindo S
Como executar servo motores usando Moto: bit Com Micro: bit: 7 etapas (com imagens)
Como operar servo motores usando Moto: bit Com Micro: bit: Uma maneira de estender a funcionalidade do micro: bit é usar uma placa chamada moto: bit da SparkFun Electronics (aproximadamente US $ 15-20). Parece complicado e tem muitos recursos, mas não é difícil operar servo motores a partir dele. Moto: o bit permite que você
Mochila # 1: Câmera OpenMV: 7 etapas
Mochila nº 1: Câmera OpenMV: SPIKE Prime As mochilas são extensões do LEGO Education SPIKE Prime. A câmera Open MV é o cérebro da câmera Mochila que permite integrar os recursos de processamento de imagem e visão de máquina da câmera Open MV ao LEGO SPIKE Prime. Todos nós
Cálculo da Mecânica Quântica Computacional: 4 Passos
Cálculo da Mecânica Quântica Computacional: Cálculos computacionais em química e física podem revelar propriedades muito interessantes em alguns espécimes (especialmente se eles estão sujeitos a modificações para melhor eficiência de um determinado composto original). nos procedimentos, além de fatores de d
Medições de luz e cor com o Pimoroni Enviro: bit para o Micro: bit: 5 etapas
Medições de luz e cor com o Pimoroni Enviro: bit para o Micro: bit: Eu estive trabalhando em alguns dispositivos que permitem medições de luz e cor anteriormente e você pode encontrar muito sobre a teoria por trás dessas medições nos instructables aqui e aqui. lançou recentemente o enviro: bit, um add-on para o m