Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
El aprendizaje automático de imágenes está revolucionando la sanidad, la fabricación, el comercio minorista y muchos otros sectores. Muchos problemas antes difíciles pueden resolverse ahora entrenando modelos de aprendizaje automático (AM) para identificar objetos en imágenes. Nuestro objetivo en este libro es ofrecer explicaciones intuitivas de las arquitecturas de ML que sustentan este campo en rápido avance, y proporcionar código práctico para emplear estos modelos de ML para resolver problemas de clasificación, medición, detección, segmentación, representación, generación, recuento, etc.
La clasificación de imágenes es el "hola mundo" del aprendizaje profundo. Por lo tanto, este libro también proporciona una introducción práctica de principio a fin al aprendizaje profundo. Puede servir de trampolín hacia otros dominios del aprendizaje profundo, como el procesamiento del lenguaje natural.
Aprenderás a diseñar arquitecturas ML para tareas de visión por ordenador y a llevar a cabo el entrenamiento de modelos utilizando modelos preconstruidos populares y bien probados, escritos en TensorFlow y Keras. También aprenderás técnicas para mejorar la precisión y la explicabilidad. Por último, este libro te enseñará a diseñar, implementar y ajustar canalizaciones ML integrales para tareas de comprensión de imágenes.
¿A quién va dirigido este libro?
El público principal de este libro son los desarrolladores de software que quieran hacer aprendizaje automático con imágenes. Está pensado para desarrolladores que vayan a utilizar TensorFlow y Keras para resolver casos de uso habituales en visión por ordenador.
Los métodos tratados en el libro van acompañados de ejemplos de código disponibles en https://github.com/GoogleCloudPlatform/practical-ml-vision-book. La mayor parte de este libro utiliza TensorFlow y Keras de código abierto, y funcionará independientemente de si ejecutas el código in situ, en Google Cloud o en alguna otra nube.
Los desarrolladores que deseen utilizar PyTorch encontrarán útiles las explicaciones textuales, pero probablemente tendrán que buscar en otra parte fragmentos de código prácticos. Aceptamos contribuciones de equivalentes en PyTorch de nuestros ejemplos de código; por favor, haz una solicitud de extracción en nuestro repositorio de GitHub.
Cómo utilizar este libro
Te recomendamos que leas este libro en orden. Asegúrate de leer, comprender y ejecutar los cuadernos que acompañan al libro en el repositorio de GitHub;puedes ejecutarlos en Google Colab o en los cuadernos Vertex de Google Cloud. Te sugerimos que después de leer cada sección del texto pruebes el código para asegurarte de que comprendes plenamente los conceptos y técnicas que se introducen. Te recomendamos encarecidamente que completes los cuadernos de cada capítulo antes de pasar al siguiente.
Google Colab es gratuito y bastará para ejecutar la mayoría de los cuadernos de este libro; Vertex Notebooks es más potente y, por tanto, te ayudará a ejecutar los cuadernos más rápidamente. Los modelos más complejos y los conjuntos de datos más grandes de los Capítulos 3, 4, 11 y 12 se beneficiarán del uso de las TPU de Google Cloud. Dado que todo el código de este libro está escrito utilizando API de código abierto, el código también debería funcionar en cualquier otro entorno Jupyter en el que tengas instalada la última versión de TensorFlow, ya sea tu portátil, o Amazon Web Services (AWS) Sagemaker, o Azure ML. Sin embargo, no lo hemos probado en esos entornos. Si descubres que tienes que hacer algún cambio para que el código funcione en otro entorno, envía una solicitud de extracción para ayudar a otros lectores.
El código de este libro está a tu disposición bajo una licencia Apache de código abierto. Está pensado principalmente como herramienta de enseñanza, pero puede servir como punto de partida para tus modelos de producción.
Organización del Libro
El resto de este libro está organizado como sigue:
-
En el Capítulo 2, presentamos el aprendizaje automático, cómo leer en imágenes y cómo entrenar, evaluar y predecir con modelos de ML. Los modelos que cubrimos en el Capítulo 2 son genéricos y, por tanto, no funcionan especialmente bien en imágenes, pero los conceptos introducidos en este capítulo son esenciales para el resto del libro.
-
En el Capítulo 3, presentamos algunos modelos de aprendizaje automático que sí funcionan bien con imágenes. Empezamos con el aprendizaje por transferencia y el ajuste fino, y luego introducimos una variedad de modelos convolucionales que aumentan en sofisticación a medida que avanzamos en el capítulo.
-
En el Capítulo 4, exploramos el uso de la visión por ordenador para abordar problemas de detección de objetos y segmentación de imágenes. En el Capítulo 4 se puede utilizar cualquiera de las arquitecturas troncales presentadas en el Capítulo 3.
-
En los Capítulos 5 a 9, profundizamos en los detalles de la creación de modelos de aprendizaje automático de visión por ordenador de producción. Recorremos el proceso estándar de aprendizaje automático etapa por etapa, examinando la creación del conjunto de datos en el Capítulo 5, el preprocesamiento en el Capítulo 6, el entrenamiento en el Capítulo 7, el monitoreo y la evaluación en el Capítulo 8 y la implementación en el Capítulo 9. Los métodos tratados en estos capítulos son aplicables a cualquiera de las arquitecturas de modelos y casos de uso tratados en los Capítulos 3 y 4.
-
En el Capítulo 10, abordamos tres tendencias prometedoras. Conectamos todos los pasos tratados en los Capítulos 5 a 9 en una canalización ML de extremo a extremo, en contenedores, y luego probamos un sistema de clasificación de imágenes sin código que puede servir para la creación rápida de prototipos y como punto de referencia para modelos más personalizados. Por último, mostramos cómo incorporar la explicabilidad a las predicciones de los modelos de imágenes.
-
En los Capítulos 11 y 12, demostramos cómo se utilizan los componentes básicos de la visión por ordenador para resolver diversos problemas, como la generación de imágenes, el recuento, la detección de poses y otros. También se proporcionan implementaciones para estos casos de uso avanzados.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Se utiliza para dar énfasis en fragmentos de código y para mostrar comandos u otros textos que el usuario debe escribir literalmente.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento significa una advertencia.
Utilizar ejemplos de código
El material complementario (ejemplos de código, ejercicios, etc.) se puede descargar en https://github.com/GoogleCloudPlatform/practical-ml-vision-book.
Si tienes una pregunta técnica o un problema al utilizar los ejemplos de código, envía un correo electrónico a bookquestions@oreilly.com.
Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.
Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Aprendizaje Automático Práctico para Visión por Ordenador", de Valliappa Lakshmanan, Martin Görner y Ryan Gillard. Copyright 2021 Valliappa Lakshmanan, Martin Görner y Ryan Gillard, 978-1-098-10236-4".
Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en permissions@oreilly.com.
Aprendizaje en línea O'Reilly
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
-
O'Reilly Media, Inc.
-
1005 Gravenstein Highway Norte
-
Sebastopol, CA 95472
-
800-998-9938 (en Estados Unidos o Canadá)
-
707-829-0515 (internacional o local)
-
707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/practical-ml-4-computer-vision.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para obtener noticias e información sobre nuestros libros y cursos, visita http://www.oreilly.com.
Encuéntranos en Facebook: http://facebook.com/oreilly
Síguenos en Twitter: http://twitter.com/oreillymedia
Míranos en YouTube: http://www.youtube.com/oreillymedia
Agradecimientos
Estamos muy agradecidos a Salem Haykal y Filipe Gracio, nuestros revisores superestrella que revisaron todos los capítulos de este libro: su ojo para el detalle se nota en todo el libro. Gracias también a los revisores técnicos de O'Reilly Vishwesh Ravi Shrimali y Sanyam Singhal por sugerir la reordenación que mejoró la organización del libro. Además, nos gustaría dar las gracias a Rajesh Thallam, Mike Bernico, Elvin Zhu, Yuefeng Zhou, Sara Robinson, Jiri Simsa, Sandeep Gupta y Michael Munn por revisar los capítulos que coincidían con sus áreas de especialización. Cualquier error restante es nuestro, por supuesto.
Queremos dar las gracias a los usuarios de Google Cloud, a nuestros compañeros de equipo y a muchas de las cohortes del Laboratorio de Soluciones Avanzadas de Google Cloud por empujarnos a hacer más nítidas nuestras explicaciones. Gracias también a los equipos de ingeniería de TensorFlow, Keras y Google Cloud AI por ser unos colaboradores atentos.
Nuestro equipo de O'Reilly aportó comentarios críticos y sugerencias. Rebecca Novack sugirió actualizar un libro anterior de O'Reilly sobre este tema, y se mostró abierta a nuestra recomendación de que un libro práctico de visión por ordenador implicaría ahora aprendizaje automático, por lo que el libro requeriría una reescritura completa. Amelia Blevins, nuestra editora en O'Reilly, nos mantuvo a flote. Rachel Head, nuestra correctora, y Katherine Tozer, nuestra editora de producción, mejoraron enormemente la claridad de nuestra redacción.
Por último, y lo más importante, gracias también a nuestras respectivas familias por su apoyo.
Get Aprendizaje automático práctico para visión por ordenador now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.