7. Aprendizado de Máquina¶
A maioria dos detectores no capítulo sobre imagem era codificada à mão para um alvo específico: faixas de cor ajustadas à mão para rastreamento de blobs, padrões de peso derivados à mão para filtros de borda, suposições geométricas fixas para os localizadores de linha e círculo. Cada algoritmo cobria um tipo de tarefa, e adicionar um novo alvo significava escrever um novo algoritmo. O aprendizado de máquina muda o fluxo de trabalho. Em vez de um algoritmo por alvo, a aplicação carrega um modelo treinado – uma pilha de pesos produzida externamente (off-board) em um desktop com muitas imagens de exemplo – e o executa na câmera. O mesmo motor que executa um detector de rostos executa um estimador de pose de mãos, um rastreador de pose corporal, um classificador de objetos ou qualquer outra coisa para a qual um modelo tenha sido treinado.
O módulo ml é o conjunto de ferramentas. Toda operação se baseia em um único objeto Model que carrega um arquivo de modelo da flash, gerencia seus tensores de entrada e saída quantizados, despacha cada inferência para o motor certo na câmera e roteia os tensores resultantes através de um pós-processador opcional que os converte de volta na forma de resultado sobre a qual a aplicação pode agir – caixas, pontos-chave, classes ou qualquer outra coisa para a qual o modelo serve.
O módulo ml
O pipeline de inferência
Motores de inferência
Decodificando a saída
Conclusão