Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
tensorflow
GitHub Repository: tensorflow/docs-l10n
Path: blob/master/site/es-419/lite/models/segmentation/overview.md
25118 views

Segmentación

La segmentación de imágenes es el proceso de dividir una imagen digital en múltiples segmentos (conjuntos de pixeles, también conocidos como objetos de imagen). La meta de la segmentación es simplificar y/o cambiar la representación de una imagen en algo que sea más significativo y fácil de analizar.

La siguiente imagen muestra el resultado del modelo de segmentación de imágenes en Android. El modelo creará una máscara sobre los objetos objetivo con una alta precisión.

Nota: Para integrar un modelo existente, pruebe la librería de tareas de TensorFlow Lite.

Empecemos

Si es nuevo en TensorFlow Lite y trabaja con Android o iOS, se recomienda explorar las siguientes aplicaciones de ejemplo que pueden ayudarle a empezar.

Puede aprovechar la API lista para usar de la Librería de tareas de TensorFlow Lite para integrar modelos de segmentación de imágenes en unas pocas líneas de código. También puede integrar el modelo usando la API Java del intérprete de TensorFlow Lite.

El siguiente ejemplo de Android muestra la implementación de ambos métodos como lib_task_api y lib_interpreter, respectivamente.

Ver ejemplo en Android

Ver ejemplo en iOS

Si utiliza una plataforma distinta de Android o iOS o ya está familiarizado con las API de TensorFlow Lite, puede descargar nuestro modelo de recomendación para principiantes.

Descargue el modelo inicial

Descripción del modelo

DeepLab es un modelo de aprendizaje profundo de última generación para la segmentación semántica de imágenes, en el que la meta es asignar etiquetas semánticas (por ejemplo, persona, perro, gato) a cada pixel de la imagen de entrada.

Cómo funciona

La segmentación semántica de imágenes predice si cada pixel de una imagen está asociado a una clase determinada. Esto contrasta con la detección de objetos, que detecta objetos en regiones rectangulares, y la clasificación de imágenes, que clasifica la imagen en su conjunto.

La implementación actual incluye las siguientes características:

  1. DeepLabv1: Usamos la convolución atrófica para controlar explícitamente la resolución con la que se calculan las respuestas a las características dentro de las redes neuronales convolucionales profundas.
  2. DeepLabv2: Usamos la agrupación de pirámides espaciales atróficas (ASPP) para segmentar de forma robusta objetos a múltiples escalas con filtros a múltiples velocidades de muestreo y campos de visión efectivos.
  3. DeepLabv3: Aumentamos el módulo ASPP con características a nivel de imagen [5, 6] para captar información de mayor alcance. También incluimos parámetros de normalización por lotes [7] para facilitar el entrenamiento. En particular, aplicamos la convolución atrófica para extraer las características de salida en diferentes pasos de salida durante el entrenamiento y la evaluación, lo que permite entrenar de forma eficiente el BN en el paso de salida = 16 y alcanzar un alto rendimiento en el paso de salida = 8 durante la evaluación.
  4. DeepLabv3+: Ampliamos DeepLabv3 para incluir un módulo decodificador sencillo pero eficaz para refinar los resultados de la segmentación, especialmente a lo largo de los límites de los objetos. Además, en esta estructura codificador-decodificador se puede controlar arbitrariamente la resolución de las características extraídas del codificador mediante convolución atrófica para compensar precisión y runtime.

Puntos de referencia del rendimiento

Los números de referencia del rendimiento se generan con la herramienta descrita aquí.

Nombre del modelo Tamaño del modelo Dispositivo GPU CPU
Deeplab v3 2.7 Mb Pixel 3 (Android 10) 16 ms 37 ms*
Pixel 4 (Android 10) 20 ms 23 ms*
iPhone XS (iOS 12.4.1) 16 ms 25 ms**
  • 4 hilos usados.

** 2 hilos usados en el iPhone para obtener el mejor resultado de rendimiento.

Lecturas y recursos complementarios