YADRO treinou o tablet KVADRA_T para reconhecer vários objetos em um frame em 20 ms
A YADRO explicou como treinou o tablet KVADRA_T para reconhecer simultaneamente uma pessoa, um documento, texto, códigos QR e códigos de barras em um único…
Processado por IA de Habr AI; editado por Hamidun News
A YADRO mostrou como resolveu uma tarefa que, para um dispositivo móvel, soa quase como detecção, mas precisa funcionar mais rápido: o tablet KVADRA_T foi ensinado a reconhecer ao mesmo tempo uma pessoa, um documento, texto, QR codes e códigos de barras em um único frame. O modelo multi-label final entregou um F1-score médio de 94% e ficou dentro dos requisitos de velocidade para rodar diretamente no dispositivo.
Por que não multiclass
Na empresa, explicam que a classificação multiclass comum não servia aqui pela própria natureza do problema. Em uma mesma imagem podem aparecer ao mesmo tempo uma pessoa, um passaporte, linhas de texto e um código para escanear, enquanto o esquema clássico tenta escolher apenas uma classe dominante.
Para uma galeria inteligente ou cenários de verificação, isso não basta: o dispositivo precisa entender a composição completa da cena, e não adivinhar o objeto principal. Rodar um modelo separado para cada tipo de objeto também era uma má opção, porque, no tablet, isso consome rapidamente o orçamento de tempo e recursos.
Por isso, a equipe migrou para uma abordagem multi-label, em que cada classe é determinada de forma independente. Mas, mesmo aqui, um esquema simples com uma única head de classificação compartilhada também não funcionou: as classes pertencem a domínios visuais diferentes, e as características compartilhadas começaram a interferir umas nas outras.
Na primeira versão, com MobileNet V3 e uma única head, o modelo mostrava F1-score em torno de 82%. Depois da migração para uma arquitetura multi-head com heads independentes para diferentes tipos de objeto, a métrica média subiu para 94%, ou seja, cerca de 12 pontos percentuais de uma vez.
Como montaram o dataset
A parte mais difícil do projeto acabou não sendo a escolha do backbone, mas os dados. A equipe não tinha um dataset público multi-label pronto com a combinação de classes necessária, então o conjunto foi montado quase do zero a partir de Roboflow, Kaggle e repositórios open source. Em paralelo, foi preciso acompanhar as licenças para que os dados pudessem ser usados no produto.
No fim, a desenvolvedora reuniu e limpou um conjunto de 193 mil imagens, em que foi especialmente difícil preservar o equilíbrio entre classes relacionadas, como documento e texto. Para a rotulagem automática, primeiro testaram detectores SOTA comuns, principalmente modelos da família YOLO, mas a qualidade deles para essa tarefa se mostrou insuficiente.
Depois disso, a equipe mudou para vision-language models e construiu ao redor delas um pipeline de limpeza e complementação de dados. Assim, foi possível não só rotular as imagens, mas também remover duplicatas e depois fechar de forma pontual as lacunas nas estatísticas de combinações raras de rótulos.
- compararam detectores clássicos e modelos VLM para diferentes classes
- escolheram Qwen2.5-VL-72B-Instruct como rotulador principal, porque ele entregou cerca de 98% de F1-score nas classes
- removeram duplicatas via pHash, e verificaram casos ambíguos via SSIM
- completaram combinações de rótulos que faltavam por meio de filtros de prompt como «há texto, mas não há documento?»
Um problema separado surgiu com a classe texto. Pela natureza da tarefa, o modelo se agarrava facilmente a padrões e linhas parecidos com letras, por isso essa classe precisou ser adicionalmente restringida e balanceada.
Essa abordagem permitiu não apenas reunir um grande dataset, mas torná-lo adequado para um modelo multi-label móvel, em que um erro na distribuição de classes rapidamente vira falsos positivos em imagens reais.
O que os testes mostraram
Depois de uma série de experimentos, a equipe ficou com o MobileNetV3 Large. A resolução do frame de entrada também precisou ser escolhida como um compromisso entre qualidade e velocidade: a variante 1024 deixava o inference pesado demais, então a escolha final foi o formato 640, que preservava métricas próximas, mas acelerava de forma perceptível o processamento.
Os hiperparâmetros foram ajustados com Optuna, enquanto os próprios experimentos e o diagnóstico do treinamento foram conduzidos no ClearML. Isso ajudou a acompanhar distribuições de gradientes, versões de datasets e a qualidade de execuções individuais sem caos manual.
Depois do treinamento, o modelo foi convertido para ONNX e depois para TFLite e RKNN, para funcionar em configurações móveis e com aceleração por hardware. No NPU do tablet KVADRA_T, o inference em 640x640 leva cerca de 20 ms, e o caminho completo de processamento do frame cabe em aproximadamente 30 ms.
Isso é melhor que o limite-alvo de 50 ms que a equipe definiu no projeto. Segundo a desenvolvedora, essa margem de tempo agora pode ser usada na próxima iteração do modelo. A YADRO planeja adicionar a função de classificação multi-label na próxima versão do kvadraOS.
«Pretendo usar os 20 ms de sobra para tornar o modelo mais complexo.»
O que isso significa
A YADRO mostrou algo importante para edge-AI: mesmo em um tablet, dá para alcançar reconhecimento quase em realtime de uma cena complexa se o dataset for montado corretamente, as heads de classificação forem separadas e não se tentar resolver tudo com um único modelo universal.
Para o mercado, este é mais um sinal de que funções úteis de CV serão executadas cada vez mais localmente, e não na nuvem.
Quer parar de ler sobre IA e começar a usar?
AI News é um feed curado de notícias de IA. A Hamidun Academy ensina você a usar IA no trabalho.