Melhoria de Modelos de Reconhecimento Visual

Durante o treinamento de uma rede neural para identificação visual, técnicas simples podem melhorar a precisão da rede. Modificações nas imagens irão aumentar o número de instâncias no treinamento, flexibilizar o modelo e melhorar a precisão: rotação, translação e dimensionamento são os mais comuns.

A equipe do Google Brain, compartilhou as filtragens realizadas por eles visando um incremento substâncial da qualidade do modelo. As operações são estatísticamente distribuídas, da seguinte forma:

def  policy_v3 ():
  """"Additional policy that performs well on object detection."""
  # Each tuple is an augmentation operation of the form
  # (operation, probability, magnitude). Each element in policy is a
  # sub-policy that will be applied sequentially on the image.
  policy = [
      [('Posterize', 0.8, 2), ('TranslateX_BBox', 1.0, 8)],
      [('BBox_Cutout', 0.2, 10), ('Sharpness', 1.0, 8)],
      [('Rotate_BBox', 0.6, 8), ('Rotate_BBox', 0.8, 10)],
      [('Equalize', 0.8, 10), ('AutoContrast', 0.2, 10)],
      [('SolarizeAdd', 0.2, 2), ('TranslateY_BBox', 0.2, 8)],
      [('Sharpness', 0.0, 2), ('Color', 0.4, 8)],
      [('Equalize', 1.0, 8), ('TranslateY_BBox', 1.0, 8)],
      [('Posterize', 0.6, 2), ('Rotate_BBox', 0.0, 10)],
      [('AutoContrast', 0.6, 0), ('Rotate_BBox', 1.0, 6)],
      [('Equalize', 0.0, 4), ('Cutout', 0.8, 10)],
      [('Brightness', 1.0, 2), ('TranslateY_BBox', 1.0, 6)],
      [('Contrast', 0.0, 2), ('ShearY_BBox', 0.8, 0)],
      [('AutoContrast', 0.8, 10), ('Contrast', 0.2, 10)],
      [('Rotate_BBox', 1.0, 10), ('Cutout', 1.0, 10)],
      [('SolarizeAdd', 0.8, 6), ('Equalize', 0.8, 8)],
  ]
  return policy

O Código fonte em TensorFlow pode ser obtida aqui: