Treinando modelos de Object Detection no Create ML

Anna Andrade
Apple Developer Academy | Mackenzie
4 min readJun 16, 2022

Neste artigo veremos o passo-a-passo para criar e treinar modelos de Object Detection no Create ML, tendo referência um Tech Talks da WWDC19.

Para começar a treinar o nosso modelo de Object Detection no Create ML, é importante a separação de uma quantidade inicial de fotos dos objetos a serem treinados e os dados a respeito dessas imagens a serem treinados. Por exemplo: se queremos treinar o modelo para descobrir se é um cachorro ou um gato, precisamos ensiná-lo com fotos de cachorros, onde possui o dado "cachorro" e fotos de gatos, onde possui o dado "gato".

A partir desses dados e fotos, adicionaremos no Create ML e criaremos o Core ML model. Abaixo temos o passo a passo para este treinamento do modelo de Core ML.

Object Detection

Com o Object Detection o app consegue detectar objetos reais capturados pela câmera e responder a isso de acordo com as informações que foram treinadas no modelo de Machine Learning.

Classificação das Imagens

Com a classificação de imagens, você consegue:

  • Construir um modelo que possui uma simples descrição da imagem, podendo ser um ou mais de um objeto
  • Por ex.: Uma foto de um cachorro brincando com um frisbee em um parque (identifica o cachorro e o frisbee)

Caso queira, o app pode fazer coisas mais sofisticadas. Para isso, precisa ensinar mais detalhes ao seu modelo.

Para treinar o modelo de object detection:

  • Nomear regiões que você gostaria que o modelo reconheça (ex.: o cachorro) e as coordenadas x, y, width e height
  • Medida em pixels do lado esquerdo ao centro de cada objeto
  • São medidas em um formato JSON da seguinte forma:
Fonte: Training Recommendation Models in Create ML — WWDC19

(Caso queira, o código desta imagem está aqui: Github )

  • Colocar tudo no arquivo JSON: imagem, anotações, label referente ao que é a imagem, coordenadas, tamanho

Assim que fizer suas anotações, arraste-os para o mesmo arquivo das suas imagens

Fonte: Training Recommendation Models in Create ML — WWDC19

Training Data está pronto.

O próximo passo é fazer um Training data para coreML

Object Detection no Create ML

Usando o Object Detection no Create ML:

  • Checar os dados (ex.: se possui todas as imagens e o JSON file)
  • Abrir o create ML (pode ser aberto direto pelo xcode ou pelo finder)
  • Quando o create ML abre, abrir um novo projeto

Para criar um novo projeto:

  • Escolher um dos templates
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Para o exemplo de Object Detector:
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Arrastar o Training Data para o Create ML
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Neste exemplo da imagem abaixo, usamos Training Data para identificar dados, então as 6 classes seriam os 6 lados vistos em 1003 fotos diferentes, com diferentes ângulos e iluminação
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Começamos treinando o modelo apertando o botão de play
Fonte: Training Recommendation Models in Create ML — WWDC19
  • O modelo fica melhor a cada vez que as perdas ficam menores no gráfico, então neste gráfico conseguimos ver que a performance do modelo fica melhor a cada vez que a linha de perdas diminui
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Matematicamente neste ponto ele está bom, agora na aba de output conseguimos testar algumas imagens para ver se o modelo está identificando corretamente
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Testando o modelo para verificar se está identificando corretamente e com uma boa porcentagem de acerto
Fonte: Training Recommendation Models in Create ML — WWDC19
  • Após certificar que o modelo está bem treinado, já pode arrastá-lo e salvá-lo no projeto do xcode

Seu object detection está bem treinado e pronto para ser usado!

Dica:

  • Treinar inicialmente pelo menos 30 fotos para seu modelo e aos poucos ir aumentando e treinando melhor o seu modelo

--

--

Anna Andrade
Apple Developer Academy | Mackenzie

Oie! Aqui compartilho algumas novidades e curiosidades de tecnologia. Apple fangirl assumida e aprendendo a codar aos poucos!