Arduino Object Detection Track APP
O aplicativo pode detectar e rastrear vários tipos de objetos da câmera do seu telefone, como linhas, bolhas de cor, círculos, retângulos e pessoas. Tipos de objetos detectados e posições da tela podem ser enviados para um dispositivo receptor Bluetooth, como o HC-05.
Se estiver usando um micro-controlador apropriado, e. Os usuários do Arduino ou do Raspberry Pi podem analisar os objetos detectados para outros projetos baseados em robótica. Um exemplo típico seria anexar um telefone a um kit de robô de 2 ou 4W, que pode rastrear / seguir uma bola ou pessoa.
Principais recursos do aplicativo:
1. Color Blob Detect e Track
2. Circle Detect and Track
3. Line Detect
4. As pessoas detectam e rastreiam usando o histograma de gradientes (HoG)
5. Detecção de objetos de etiqueta TensorFlow Lite Coco (por exemplo, pessoas, gatos, carros, TV, etc)
6. Use modelos personalizados de Tensorflow.
7. Envie os parâmetros do objeto detectado pelo Bluetooth.
Observe que todas as operações de processamento de imagem funcionam melhor em boas condições de iluminação. Se você não conseguir detectar objetos, tente alterar algumas das configurações. Observe também que os algoritmos de rastreamento implementados são simplistas e, portanto, não funcionarão de forma confiável quando vários objetos se sobrepõem uns aos outros.
Para usar modelos personalizados do Tensorflow, carregue um modelo de arquivo mobilenet compatível. Um exemplo disso é o pet_detect.tflite e o pet_labels.txt. No entanto, você precisa renomeá-las para custom.tflite e custom.txt e colocá-las na pasta de documentos públicos de armazenamento interno de seus telefones. Além disso, certifique-se de ativar a permissão do aplicativo android para acesso ao armazenamento.
Formatos de Transmissão de Dados Bluetooth:
Toda a comunicação de dados é enviada como texto ASCII no seguinte formato:
"Tipo de objeto": "ID": "XPos", "YPos", "Width", "Height"
Exemplo de Objeto de Blob Color: "CO: 0: -40,60,0,0"
Onde ID é um número entre 0 e 4 sem rastreamento, ou qualquer número de ID de rastreamento inteiro único com opção de rastreamento.
As posições x e y referem-se ao centro do blob de cor, com 0,0 no centro da tela de pré-visualização da câmera.
Exemplo de objeto de círculo sem rastreamento: "CC: 0: -40,60,20,0"
Onde x, y posições dão centro de círculo, e largura dá raio de círculo.
No modo de rastreamento, x, y, w, h fornecem o retângulo interno do círculo.
Exemplo de objeto de círculo com filtro na cor: "FC: 0: -40,60,20,0"
Onde x, y posições dão centro de círculo, e largura dá raio de círculo.
Exemplo de Objeto de Linha: "LO: 0: -40,60,20,200"
Onde as posições x, y fornecem o ponto de primeira linha e w, h dá o segundo ponto de linha.
Exemplo Pessoas Objeto Não Acompanhamento: "PO: 0: -40,60,20,0"
Onde x, y posições dão superior esquerdo do retângulo, e w, h dá largura e altura.
Exemplo Pessoas Objeto com Filtro na Cor: "FP: 0: -40,60,20,0"
Onde as posições x, y dão a parte superior esquerda do retângulo, e w, h dá largura e altura do retângulo.
Todos os objetos rastreados: "TO: 0: -40,60,20,40".
onde x, y posições dão centro de retângulo, e w, h dá largura e altura do centro do retângulo. Observe que, ao filtrar em círculo e pessoas, os IDs de objetos rastreados serão redefinidos como zero para objetos coloridos sobrepostos.
Objetos TensorFlow: "ObjectTitle: 0: -40,60,20,40"
Onde ObjectTitle é qualquer objeto classificado do TensorFlow, por exemplo "Pessoa", "Copo", "Garrafa", etc. As posições X, Y dão o centro do retângulo, e w, h dá largura e altura do centro do retângulo. Observe que, se a filtragem na interseção do blob colorido garantir que o rastreamento do blob em cores esteja ativado.
Formato para Filtro em TensorFlow: "FTF: Person: -40,60,20,40". Onde "Person" pode ser qualquer um dos tipos de objeto TensorFlow detectados disponíveis definidos no coco_labels_list.txt (consulte o Google TensorFlowLite).
Ajuda online completa no Git Hub: /
https://github.com/GemcodeStudios/ObjectDetectionTracking
Copyright Gemcode Studios 2019


