¿Cuáles son los mejores recursos para aprender visión por computadora para alguien con experiencia en álgebra lineal y de probabilidad (y un poco en aprendizaje automático)? El libro “Visión por computadora: algoritmos y aplicaciones” no es muy amigable para principiantes.

La mejor manera de mejorar la visión por computadora es comenzar a trabajar en pequeñas tareas de programación con imágenes. La visión no es un tema en el que quieras entrar sin programación. Como un hombre sabio dijo una vez a sus estudiantes de doctorado entrantes, “hazte amigo de cada píxel”.

Si buscas en Google cursos de visión por computadora, encontrarás muchos de los materiales de conferencias de universidades de primer nivel que están en línea.

Antes de hacer algo demasiado sofisticado, asegúrese de saber cómo leer imágenes, guardarlas, cambiar su tamaño y aplicar algunas operaciones básicas como un desenfoque. Matlab (si tiene acceso a una licencia) u OpenCV en C ++ si está dispuesto a mejorar en C ++.

¡Y comienza a repasar el álgebra lineal! ¡Cuanto antes se sienta cómodo con las matrices y los vectores, más pronto obtendrá experiencia en visión!

He trabajado en visión artificial por más de 10 años, y aunque no es un campo fácil, ¡definitivamente es gratificante!

Por cierto, creo que lo realmente emocionante de la visión por computadora es el reconocimiento de objetos. Pero al principio no se deje intimidar demasiado por el aprendizaje automático, ¡solo preocúpese por las operaciones simples de imagen!

Hay muchas herramientas excelentes de código abierto que podrá utilizar una vez que se convierta en experto, y algunas nuevas tecnologías en las que está trabajando mi startup que harán que la parte de reconocimiento de objetos sea fácil de integrar para todos los desarrolladores en sus programas. Para ver a qué me refiero, consulte mi campaña de Kickstarter para obtener una tecnología de visión increíble como servicio:

http://www.kickstarter.com/proje…

¡Buena suerte con tu búsqueda para entrar en lo que considero el campo del futuro!

Lee los siguientes libros:
Aprendizaje de OpenCV por Bradski y Kaehler : este libro explica la teoría mientras le enseña a codificar en OpenCV. Es muy práctico y es imprescindible para hacer algo útil en la visión por computadora. Matlab no es el camino a seguir para la visión por computadora. Use OpenCV o VTK / ITK (para imágenes médicas).
Introducción a la visión por computadora en 3D por Trucco y Verri : este libro explica la teoría al tiempo que le brinda los pasos involucrados en un algoritmo en formato tabular. Usado por Sebastian Thrun en Stanford.
Visión por computadora: algoritmos y aplicaciones de Richard Szeliski : este libro está en línea, es gratuito y está escrito por una estereopsis, estructura desde el movimiento, Microsoft Kinect, experto. http://szeliski.org/Book/ Este libro es usado por Noah Snavely en Cornell.

Espero que esto ayude,
Ankur

Empezar con:

(1) Señales y sistemas (2a edición): Alan V. Oppenheim, Alan S. Willsky, con S. Hamid: 9780138147570: Amazon.com: Libros

y entonces:

(2) Procesamiento de señal e imagen bidimensional: Jae S. Lim: 9780139353222: Amazon.com: Libros

y entonces:

(3) Robot Vision (Ingeniería Eléctrica y Ciencias de la Computación del MIT): Berthold KP Horn: 9780262081597: Amazon.com: Libros

y luego cualquiera de estos:

Visión por computadora: un enfoque moderno (2a edición): David A. Forsyth, Jean Ponce: 9780136085928: Amazon.com: Libros
Visión por computadora: algoritmos y aplicaciones (textos en ciencias de la computación): Richard Szeliski: 9781848829343: Amazon.com: Libros
(o el kazillion otros libros que son más o menos lo mismo)

Y para lectura opcional:

(4) Vision Science: Photons to Phenomenology: 9780262161831: Medicine & Health Science Books @ Amazon.com
(5) Visión: una investigación computacional en la representación humana y el procesamiento de la información visual, David Marr, Tomaso A. Poggio, Shimon Ullman, eBook – Amazon.com
(y otros libros sobre temas como aprendizaje profundo, coincidencia de patrones, etc.)

Y por favor, haga esto último (o en paralelo), pero no solo haga esto:

Amazon.com: Aprendizaje de OpenCV: Visión por computadora con la biblioteca de OpenCV (9780596516130): Gary Bradski, Adrian Kaehler: Libros

Ahora que estás completamente aburrido. Escúchame.

Este es más o menos el camino de la ingeniería eléctrica y la ciencia de la visión hacia la visión por computadora. Un estudiante universitario que quiere aprender visión por computadora generalmente tomaría clases en esta línea. Estas cosas consisten básicamente en 5 cosas principales:
– teoría de procesamiento de señales e imágenes
– visión por computadora basada en la física (enfoques del primer principio)
– visión por computadora convencional (cómo hackear algoritmos juntos)
– percepción y visión biológica (ciencia de la visión)
– trabajo de laboratorio (opencv; cómo hackear código juntos)

Y la razón es porque para comprender realmente y poder construir algoritmos novedosos, debe comprender la teoría subyacente y el trabajo que se ha realizado antes.

Por ejemplo, este artículo

Modelos de energía espacio-temporal para la percepción del movimiento.

propone algo como esto (lo he modificado un poco para simplificar las cosas):

[matemáticas] h_1 (x, y, t) = sin ((u \ cdot x + v \ cdot y) \ cdot f_s + t \ cdot f_t + \ phi) [/ math]
[matemáticas] h_2 (x, y, t) = sin ((u \ cdot x + v \ cdot y) \ cdot f_s + t \ cdot f_t + \ frac {\ pi} {2} + \ phi) [/ math ]
[matemáticas] y (t) = [(i \ otimes h_1) (t)] ^ 2 + [(i \ otimes h_2) (t)] ^ 2 [/ matemáticas]

para entrada de video [matemática] i (x, y, t) [/ matemática] vector de unidad [matemática] (u, v) [/ matemática]. [math] y (t) [/ math] es el movimiento global extraído en la dirección de [math] (u, v) [/ math] a frecuencias temporales y espaciales [math] f_t [/ math] y [math] f_s [/ matemáticas], respectivamente.

Y podemos modificar nuestra h para obtener:

[matemáticas] g_j (x, y, t) = h_j (x, y, t) \ cdot n (\ mu, u, v, \ sigma_1, \ sigma_2) [/ matemáticas]

donde n (.) es gaussiano 2D.

Y voilá. Tenemos núcleos representativos para la primera capa de una red neuronal convolucional de procesamiento de video después del entrenamiento.

Ahora, ¿cómo podemos conciliar lo que acabamos de discutir con esto:

Método de Horn-Schunck

Eso es para que lo descubras después de leer esos libros. Solo quería ilustrar 1 línea de pensamiento en visión por computadora desde el modelo de energía muy simple desarrollado en los años 80 hasta la red neuronal convolucional muy caliente de la que todos hablan ahora. Todo esto comienza con:

Teorema de representación de Riesz

que es la afirmación matemática que dice que cada sistema lineal (en la práctica) puede representarse de manera única por:

[matemáticas] y (t) = (x \ otimes h) (t) = \ int x (\ tau) h (\ tau – t) d \ tau [/ matemáticas]

(1), (2), (3), (4) y (5) le darían todo lo que necesita para obtener justo después del teorema de representación para la detección de movimiento. Construir sobre eso al aprendizaje profundo es trivial.

Y ahora podemos implementar todo esto en OpenCV, pero no comience con OpenCV.

Y puede elegir casi cualquier otro tema en visión por computadora (con la excepción de quizás un puñado de métodos basados ​​en gráficos y niveles):
– estereopsis
– coincidencia de formas
– detección de bordes
– HoG, detección de rostros, etc.
– y muchos otros

Casi toca la mayoría de las teorías en los libros.

Mi pensamiento personal es que la visión por computadora es una combinación de matemáticas (análisis real + funcional), física, procesamiento de señales, ciencias de la visión, ciencias de la computación e ingeniería de software. Dejar cualquiera de las piezas es privarte de algo muy profundo 🙂

Seamos realistas, cualquier estudiante de secundaria puede hacer esto:

src = imread (“mi-archivo-imagen.png”);
kernel = Mat :: ones (5,5, CV_32F) / (float) (5 * 5);
filter2D (src, dst, -1, kernel, Point (-1, -1), 0, BORDER_DEFAULT);
imshow (“mi imagen borrosa”, dst);

¿Dónde está la diversión en eso …

Este es uno de los conjuntos más grandes de recursos relacionados con CV que he encontrado en línea hasta ahora:

jbhuang0604 / awesome-computer-vision

He identificado dos enfoques para aprender la visión por computadora.
Funciona mejor si ambos enfoques van de la mano, pero obviamente dependerá del tiempo que pueda dedicarle y el objetivo final del aprendizaje.

  1. Comience con las matemáticas (cálculo, álgebra lineal, teoría de la probabilidad, etc.) si aún no lo sabe. Luego proceda con un buen libro o un curso y complételo con tutoriales de temas específicos para conceptos que requieren más tiempo. Simplemente buscando en Google el nombre del tema obtendrá muchos recursos universitarios. Este enfoque se asegurará de que comprenda los fundamentos y tiene sentido si tiene tiempo.
  2. Elija un proyecto o una aplicación. Comience con los trabajos de investigación y proyectos ya desarrollados relacionados con él. Identifique los conceptos utilizados para resolver el problema y luego búsquelos. Lo más importante es probarlos por su cuenta. Esto le dará mucha confianza para acercarse y familiarizarse con más conceptos que pueden parecer desalentadores al principio. Instale OpenCV o Matlab o SimpleCV o cualquier otro software mencionado en ese enlace (personalmente comencé con OpenCV ya que era de código abierto, pero Matlab también es bastante bueno).

Cuando se sienta más cómodo con el mundo de la visión, puede comenzar con blogs de investigación, los últimos documentos de la conferencia y mucho más.
Ir a través del enlace de arriba. Es un excelente conjunto de recursos.
¡¡Buena suerte!!

PD:
Todavía estoy en la fase de aprendizaje y me encantaría recibir mejores consejos sobre la metodología para un mejor aprendizaje de la visión por computadora.
Cualquier sugerencia / corrección en la respuesta anterior es bienvenida.

Desde un punto de vista práctico, sugeriría leer sobre OpenCV:

http://www.amazon.com/Learning-O
http://quantombone.blogspot.com/

Desde un punto de vista más académico, algunos de los trabajos clave que uno debe considerar al comenzar con Computer Vision incluyen los siguientes:

Además, los libros comúnmente citados que funcionan como encuestas de visión por computadora (algo anticuadas):

http://szeliski.org/Book/ (reciente, 2010)
http://portal.acm.org/citation.c
http://books.google.com/books?hl

Finalmente, en una publicación separada, incluí información para video conferencias que pueden ser útiles para alguien que comienza y busca encuestar el campo:

¿Hay buenas video conferencias sobre visión por computadora?

La mejor manera de mejorar la visión por computadora es comenzar a trabajar en pequeñas tareas de programación con imágenes. La visión no es un tema en el que quieras entrar sin algo de programación. Como un hombre sabio dijo una vez a sus estudiantes de doctorado entrantes, “hazte amigo de cada píxel”.

Si buscas en Google cursos de visión por computadora, encontrarás muchos de los materiales de conferencias de universidades de primer nivel que están en línea.

Antes de hacer algo demasiado sofisticado, asegúrese de saber cómo leer imágenes, guardarlas, cambiar su tamaño y aplicar algunas operaciones básicas como un desenfoque. Matlab (si tiene acceso a una licencia) u OpenCV en C ++ si está dispuesto a mejorar en C ++.

¡Y comienza a repasar el álgebra lineal! ¡Cuanto antes se sienta cómodo con las matrices y los vectores, más pronto obtendrá experiencia en visión!

He trabajado en visión artificial por más de 10 años, y aunque no es un campo fácil, ¡definitivamente es gratificante!

Por cierto, creo que lo realmente emocionante de la visión por computadora es el reconocimiento de objetos. Pero al principio no se deje intimidar demasiado por el aprendizaje automático, ¡solo preocúpese por las operaciones simples de imagen!

Hay muchas herramientas excelentes de código abierto que podrá utilizar una vez que se convierta en experto, y algunas nuevas tecnologías en las que está trabajando mi startup que harán que la parte de reconocimiento de objetos sea fácil de integrar para todos los desarrolladores en sus programas. Para ver a qué me refiero, consulte mi campaña de Kickstarter para obtener una tecnología de visión increíble como servicio:

http://www.kickstarter.com/proje

¡Buena suerte con tu búsqueda para entrar en lo que considero el campo del futuro!

Grandes respuestas aquí ya.

Sí, el mejor enfoque para aprender campos tan complejos es siempre desafiarse con proyectos prácticos. De hecho, estaba aprendiendo de libros como el que se menciona en los detalles de esta pregunta, además de revistas de David Lowe [1] y muchos más del autor de ese libro mientras construía mi sistema de visión por computadora (CV) desde cero.

Aprendí sobre la visión por computadora al terminar un sistema de CV real. Sin embargo, no fue fácil, me tomó 4 años hacer eso. Tuve que superar una gran cantidad de negatividad de mis amigos tóxicos y mis propias inseguridades para reunir el coraje de creer en mis habilidades para aprender y construir soluciones novedosas para problemas realmente difíciles. Me alegro de haberme dado la oportunidad, ahora sé mucho sobre CV y ​​ML gracias a la búsqueda de Google, Stackoverflow y muchas universidades importantes que ofrecen muchas fuentes para leer en línea libremente.

El comienzo fue realmente difícil, pero comencé pequeño y gradualmente aumenté los desafíos. Comencé a implementar técnicas de procesamiento de imágenes como operaciones convolucionales para filtros como Gauss, Binomial y filtros de caja. También pasé algún tiempo leyendo sobre neurociencia, especialmente el llamado área 17 de Brodmann o corteza visual primaria en primates. Llamé al proyecto, “área de proyecto 17” después del área de Brodmann 17.

Aprendí sobre ganglio retiniano, células simples, complejas e hipercomplejas. También existe la llamada hipótesis de las dos corrientes de la corteza visual que comprende las corrientes dorsales y ventrales, también leí sobre todo eso. Pasé mucho tiempo tratando de darle sentido a todo eso.

Me llevó 2 años llegar a un punto en el que entendí las cosas. Una imagen que comienza a formarse en mi cabeza sobre cómo podría construir mi propio sistema. En ese momento, ya había revisado mucha literatura, incluidas las redes neuronales artificiales (ANN). También estaba implementando constantemente los conceptos básicos en CV todo el tiempo.

Luego decidí desarrollar una biblioteca central para construir mi propio sistema de visión por computadora. Lo denominé reconocimiento de objetos motivados biológicamente (BIMOR) porque las ideas estaban de alguna manera motivadas por lo que llegué a entender sobre las teorías de la visión de la neurociencia. Desarrollar la biblioteca fue una tarea desafiante porque en ese momento mis habilidades de codificación estaban por debajo de la media. Tuve que avanzar mejorando mis habilidades de codificación, elegí usar C ++ debido a la eficiencia, ya que también tuve que codificar desde cero las operaciones de alto rendimiento de bajo nivel.

Después de terminar la biblioteca, comencé a trabajar en un motor automático de cosido panorámico llamado Bimostitch (BIMOR + stitch) construido sobre BIMOR. Nuevamente, esa fue una tarea muy desafiante. El objetivo era desarrollar un algoritmo de unión de tal manera que, dado un conjunto de imágenes desordenadas (más de 1), generara un panorama (s). El sistema tiene que determinar qué imágenes coinciden y luego recuperar las distancias focales y las rotaciones 3D de los puntos clave coincidentes. Logré terminar ese proyecto y porté el código a Android a través del NDK (kit de desarrollador nativo) para construir la aplicación llamada Bimostitch, un motor de puntadas panorámicas de última generación.

Construí nuevos subsistemas en el proceso, tales como:

  1. Un detector de funciones simple pero muy robusto. No uso las funciones SIFT, SURF ni FAST en BIMOR.
  2. Un descriptor simple pero efectivo para BIMOR llamado M3oh. De nuevo, no uso los descriptores SIFT ni SURF porque están patentados.
  3. Un nuevo algoritmo de coincidencia escalable rápido para vectores de alta dimensión llamado FastMatcher. Desarrollé este recientemente y lo implementé en el agrupador panorámico de Bimostitch. No vuelve a coincidir con los puntos clave RÁPIDOS, el nombre simplemente significa que es extremadamente rápido para encontrar k vecinos más cercanos a un vector de consulta.

Los enfoques anteriores usan muy poco aprendizaje automático (ML), solo los algoritmos de agrupación como k-means o agrupación jerárquica recíproca del vecino más cercano se utilizan principalmente allí. Entonces, para presentar ML a mis sistemas de visión, decidí comenzar a construir un sistema de visión 3D que aprenda de los ejemplos, ese sistema que llamo sistema integrado de reconocimiento e inferencia (IRIS) para la detección de objetos 3D. IRIS es un sistema de aprendizaje profundo de extremo a extremo diseñado con el objetivo de aprender a localizar objetos en una escena 3D. He estado trabajando en IRIS durante aproximadamente un año y hasta ahora ha sufrido muchos cambios de diseño e implementación.

Entonces, los proyectos anteriores han ampliado mi comprensión de los campos de ML y CV en particular. Trabajar en ellos ha aumentado mi conocimiento dramáticamente y así es como aprendí CV y ​​ML.

Entonces, los mejores recursos solo están disponibles en línea, simplemente comience a trabajar en algo interesante como un proyecto paralelo y su mente tendrá curiosidad por aprender para que pueda resolver las tareas que tiene entre manos.

Por lo tanto, el mejor maestro es la experiencia cuando se trata de campos prácticos como ML y CV. Una gran cantidad de materiales en línea de fácil acceso en línea son suficientes.

Los requisitos previos para aprender CV son:

  1. Matemáticas
  1. Álgebra lineal
  2. Probabilidades y estadísticas
  3. Optimización numérica
  4. Cálculo
  • Procesamiento de imagen : o generalmente procesamiento de señal digital.
    1. Filtros digitales: desenfoque gaussiano
    2. Transformaciones de imagen: rotaciones, traducciones, escalado y muchos más.
    3. Teorema del espacio a escala para el procesamiento de estímulos naturales. Básicamente implementado usando pirámides de imágenes, el llamado enfoque multiescala.
  • Aprendizaje automático (ML) : un área muy importante que está cambiando muchos subcampos de IA. Necesitas saber sobre:
    1. Redes neuronales convolucionales (CNN).
    2. Redes neuronales totalmente conectadas.
    3. Soporte de máquinas de vectores (SVM)
    4. Redes neuronales recurrentes (RNN) tales como redes de memoria a largo plazo corto (LSTM) o de unidad recurrente cerrada (GRU).
    5. Redes de confrontación generativa (GAN): para muchas tareas como la traducción de imagen a imagen. Mejoras de imagen, transferencia de estilo artístico, etc.
    6. Codificadores automáticos: para reducción de ruido y compresión de imágenes.
  • Programacion :
    1. C / C ++: puede utilizar OpenCV para implementaciones de CV o crear el suyo desde cero utilizando C / C ++.
    2. Java: OpenCV también está disponible en Java.
    3. Python: puede usar nuevamente OpenCV en lenguaje Python. Probablemente esta sea una mejor opción ya que Python es un lenguaje fácil de aprender de muy alto nivel.

    Así que personalmente solo aprendo de las cosas dispersas en línea, no hay una fuente que pueda señalar como la mejor fuente.

    Espero que esto ayude.

    Notas al pie

    [1] Publicaciones de David Lowe

    Ya he compartido los mismos recursos y contenido en ¿Cómo inicio el aprendizaje automático? ¿AI? ¿Procesamiento de imágenes? ¿Visión por computador? PNL? ¿En qué secuencia debo comenzar?

    Para los entusiastas de la visión por computadora, hemos intentado guiar con el punto focal de recursos.

    Para mantener la respuesta breve y precisa, este podría ser el mayor vistazo:
    Cursos:

    • Visión por computadora – Mubarak Shah (UCF): todos los materiales relacionados con el curso están disponibles en línea y lo que es más interesante es que incluso las video conferencias están disponibles.
    • Visión por computadora – Subhransu Maji (UMass Amherst): proporciona acceso a todos los materiales y tareas de la conferencia, pero no hay video conferencias.
    • Reconocimiento visual – Kristen Grauman (UT Austin): proporciona enlaces a algunos de los documentos interesantes y fundamentales en la visión por computadora.
    • Lenguaje y visión – Tamara Berg (UNC Chapel Hill): Este curso está dirigido básicamente a explorar temas que se extienden entre el procesamiento del lenguaje natural y la visión por computadora.
    • Redes neuronales convolucionales para el reconocimiento visual – Fei-Fei Li y Andrej Karpathy (Universidad de Stanford): este curso es una inmersión profunda en los detalles de las arquitecturas de aprendizaje profundo con un enfoque en el aprendizaje de modelos de extremo a extremo para tareas de visión por computadora con un enfoque principal centrarse en la clasificación de imágenes.

    Algunos recursos adicionales:

    • Visión por computadora – Rob Fergus (NYU)
    • Visión por computadora – Derek Hoiem (UIUC)
    • Visión por computadora: fundamentos y aplicaciones – Kalanit Grill-Spector y Fei-Fei Li (Universidad de Stanford)
    • Avances en la visión por computadora – Antonio Torralba y Bill Freeman (MIT)

    Los detalles con respecto a las conferencias, los libros obligatorios y cómo comenzar con la codificación y la presentación estarían en el blog:
    ¿Cómo comenzar su carrera en el campo de la visión artificial y el aprendizaje automático?

    Las siguientes sugerencias se basan en el siguiente supuesto:

    1. Te gustaría aprender Computer Vision sin costo
    2. Puede dedicar al menos una hora (teniendo en cuenta que este no es su trabajo principal del día)
    3. Estás decidido a aprender

    Wiki: Visión por computadora – Wikipedia

    Esto le brinda una comprensión básica de lo que es la visión por computadora y los temas relacionados

    Punto Tutorial: Visión por Computadora y Gráficos por Computadora

    Esto te ayuda a entenderlo un poco en detalle, principalmente sobre teoría.

    El conocimiento sobre los siguientes temas será útil:

    1. Estructuras de datos
    2. MATLAB / Python con Numpy

    Cursos online:

    • Udacity: Introducción a la visión por computadora | Udacity

    Es un título en línea de Georgia Tech, usted aprende sobre

    1. Procesamiento de imágenes
    2. Modelos de cámara y vistas
    3. Características de imagen
    4. Iluminación
    5. Movimiento de la imagen
    6. Rastreo
    7. Clasificacion
    8. Modelos y sistema visual humano
    • AL Shack : Tutoriales para OpenCV, visión por computadora, aprendizaje profundo, procesamiento de imágenes, redes neuronales e inteligencia artificial.
    • Procesamiento de imagen digital – RPI ECSE-4540 por Rich Radke
    • Aprendizaje automático – Stanford CS229 por Andrew Ng
    • Inteligencia Artificial – MIT 6.034 por Patrick Winston

    Simultáneamente hacer:

    • Implementar proyectos:
    • Microsoft Azure Computer Vision API: Visión por computadora: procesamiento y análisis de imágenes | Microsoft Azure
  • Mantenga una pestaña sobre el último trabajo en la industria
    • Noticias del MIT: Visión por computadora | Noticias del MIT
  • Leer trabajos de investigación:
    • Elsevier : resultados de búsqueda

    Un buen libro, que actualmente todavía está disponible gratuitamente, es “Visión por computadora: modelos, aprendizaje e inferencia” de Simon Prince. Lo usamos en nuestro programa de maestría en UCL, y cubre muchas técnicas de aprendizaje automático especialmente diseñadas para la visión por computadora. Puede descargarlo en PDF en http: //www.computervisionmodels

    Utilicé Opencv es uno de los prototipos que desarrollé para la demostración de reconocimiento facial. Puede comprender los conceptos básicos de la visión por computadora y las matemáticas detrás de eso. Puede descargar Opencv y probar algunos códigos de muestra, como la coincidencia de imágenes estáticas, la detección y clasificación de objetos, etc. para obtener el código.

    En mi caso, había creado un prototipo que toma una imagen de la persona parada en su puerta, a través de la cámara montada en la puerta. Luego, la imagen se enviará a la PC que ejecutaba el código de reconocimiento facial. Coincide con la imagen con la base de datos de imágenes (la base de datos de imágenes debe crearse para cada persona que requiera acceso para ingresar a la casa. Digamos que hay 5 personas que desean obtener acceso, debe crear una base de datos de imágenes de cada una con la cara en posición recta , izquierda, derecha, etc.) y abre el sistema de control de acceso si hay una coincidencia; de lo contrario, sonará la alarma para una persona desconocida

    Opencv es bueno para aprender y experimentar, pero no es adecuado para usar en productos comerciales. Hay muchos productos comerciales que funcionan mejor que Opencv, pero no puede obtener los detalles técnicos en el dominio público.

    Entonces busque en Google y encuentre algunos artículos sobre visión por computadora para aprender los conceptos básicos y luego experimente con Opencv para obtener experiencia práctica.

    Lea Learning OpenCV junto con Computer Vision: Algorithms and Applications que ofrece una visión general de las técnicas más avanzadas en visión por computadora y proporciona referencias para que estudie el método con más profundidad.

    La respuesta de este artículo debería proporcionar mucha información valiosa: Primeros pasos en la investigación de la visión por computadora

    Para un comienzo suave:
    – Elija un curso de aprendizaje automático – Para principiantes Aprendizaje automático

    – Practique el uso de bibliotecas OpenCV, tienen muchos buenos libros.

    – Aprenda más sobre temas de visión: me gusta escuchar:
    https://www.youtube.com/playlist

    https://www.youtube.com/playlist

    En el libro de Szeliski: la tabla de contenido me parece buena. Nunca lo toqué por cierto. pero se usa en muchas escuelas.
    Cómo comenzar en Computer Vision (Una guía para estudiantes universitarios de CS) por Arturo Deza en publicaciones
    Un libro más hostil es por forsyth y ponce . Darle una oportunidad.
    La geometría de múltiples vistas de Hartley es, creo, un libro completo. Pero es un poco de trabajo duro. (Nada sobre reconocimiento, solo geomtry y reconstrucción)
    También depende de lo que quieras hacer.
    Algunas veces los libros difíciles son más precisos y fáciles. Un libro que da una visión general es solo una visión general. 🙂

    Open CV es un muy buen comienzo para aprender la visión por computadora práctica. El libro, Learning OpenCV es nuevamente, un muy buen recurso. Si está buscando un enfoque teórico, puede comenzar con un par de libros como “Digital Image Processing 3rd Edition” de Gonzales y Woods. Y, por supuesto, todos esos recursos en línea como wikipedia, sitios especializados, etc.

    Realmente no sé de dónde estás empezando, así que es difícil decirlo. Si ya tiene un historial decente, entonces un buen lugar para comenzar podría ser revisar el estado del arte para diferentes temas de visión por computadora. Por ejemplo, si desea saber algo acerca de los algoritmos de detección de rostros, probablemente debería comenzar por comprender el marco de detección de objetos de Viola-Jones. Si no sabe cómo funciona el flujo óptico, comience por comprender los algoritmos Horn-Schunk y Lucas-Kanade.

    Es posible que solo desee comenzar a explorar diferentes temas a un nivel muy superficial para tener una idea de hacia dónde desea ir más lejos. Para eso, AI Shack tiene vistas generales bastante buenas de varios algoritmos importantes de visión por computadora. ¡Espero que esto ayude!

    Si buscas tutoriales prácticos, prueba OpenCV. Puede encontrar los tutoriales aquí: Tutoriales de OpenCV

    Para un libro, pruebe Szeliski ‘s Computer Vision: Algorithms and Applications
    Aquí hay un enlace directo al PDF: http://szeliski.org/Book/drafts/

    aprenda álgebra lineal (youtube gilbert strang), aprenda programación lineal (curso), aprenda el aprendizaje automático (curso, aprender de datos, youtube) y aprenda algo de optimización (optimización convexa en youtube por boyd).
    Comience con geometría de vista múltiple de Hartley, Zisserman.
    Tome cualquier libro sobre visión por computadora (tal vez visión por computadora: modelos, aprendizaje e inferencia de Simon JD Prince).
    Sigue haciendo proyectos mientras aprendes. Sigue aplicando tus conocimientos.

    También vea esto: me encanta la inteligencia artificial, pero no soy bueno en matemáticas y promedio en codificación, ¿debería continuar?

    (Lee en la voz de Bane): “Tu castigo debe ser más severo”

    Cómo comenzar en Computer Vision (Una guía para estudiantes universitarios de CS) por Arturo Deza en publicaciones

    (también leído en la voz de Bane): “Y solo entonces, tienes mi permiso para morir”.

    Además de los excelentes consejos dados por varias personas en este hilo, puedes echar un vistazo a varios cursos disponibles en YouTube.

    UCF CRCV – Esto es por el Prof. Mubarak Shah de la Universidad de Florida Central, quien es pionero en el campo de la visión por computadora.

    Conferencias de visión por computadora

    More Interesting

    ¿Debería preocuparme si podría terminar mi doctorado a tiempo?

    ¿Cómo compararías Google Research con Microsoft Research?

    ¿Qué documentos debo leer para interesarme en la investigación en informática?

    ¿Cuáles son algunos algoritmos de alineación de secuencia?

    ¿Cuál es el lenguaje de programación que debo elegir para realizar una investigación en el área de Visión por Computador?

    ¿Cómo se gana el premio al mejor artículo en una conferencia de informática?

    ¿Fue la sofisticación de los algoritmos o los límites del poder computacional lo que limitó la investigación de IA en los años 70 y 80?

    ¿Quiénes son los mejores informáticos teóricos?

    Cómo publicar una investigación de inteligencia artificial si actualmente no estoy en la academia o en un entorno de investigación de la industria

    ¿Qué se debe hacer para convertirse en un buen investigador en informática? ¿Cuáles deberían ser los principios básicos para ser un buen investigador?

    ¿Qué sería si Matrix Chain Multiplication se resuelve mediante el método Greedy?

    ¿Cuán cercanos / similares son el procesamiento de imágenes digitales y la visión por computadora? ¿Cuál es más difícil / importante?

    ¿Por qué la informática teórica se llama teórica?

    ¿Qué universidades contienen los departamentos de informática más prácticos?

    Estoy haciendo un gran proyecto escolar sobre visión por computadora y robótica. ¿Cuáles son algunos libros no técnicos que podría leer sobre estas áreas temáticas?