Cómo comenzar con la visión por computadora

Tome el curso de visión por computadora de Georgia Tech en Udacity. Es un curso gratuito y los ejercicios están en Octave (software libre) o MATLAB (bueno, gratis si su universidad lo compra por usted). Realmente disfruté el curso ya que fue muy bien enseñado y bien diseñado. Para el siguiente paso, pruebe el curso de aprendizaje automático y el curso de aprendizaje profundo en Udacity. La visión por computadora moderna está muy bien ligada con el aprendizaje automático y el aprendizaje profundo y casi en cada artículo ves algo sobre eso. Si planea convertirse en un científico de investigación de visión por computadora muy exitoso eventualmente, se recomienda conocer el cálculo multivariable (como en Calc3 en muchas universidades de EE. UU.), Así como algunos cursos de optimización (como la optimización convexa). Además, suscríbase a algunos canales de YouTube como videos de 2 minutos en los que se resumen los documentos de visión por computadora y si siente una chispa con ese documento específico, puede ver el artículo en YouTube o leer el periódico.

Curso de visión por computadora de Udacity (ud810): Udacity

Curso de aprendizaje automático de Udacity (ud12): Introducción al curso de aprendizaje automático | Udacity

Curso de aprendizaje profundo de Udacity (ud730): aprendizaje profundo | Udacity

Otras sugerencias:

  • Si eres estudiante, asiste a los seminarios / charlas / talleres de visión artificial / aprendizaje automático / IA / aprendizaje profundo / PNL en tu universidad.
  • Suscríbase al Somos somos lo que hacemos | Reúnase y encuentre grupos de visión artificial y aprendizaje automático y asista a las charlas.
  • Si no tiene un grupo de lectura de visión por computadora en su universidad, comience uno. Haga que un profesor de aprendizaje automático / visión artificial / IA apoye su idea y cree una lista de correo y sugiera a otros que se unan a su grupo de lectura semanal. Si tiene más fondos, invite a oradores invitados a las conversaciones de vez en cuando.
  • Apunte y dispare para una conferencia de visión que tiene entre 6 y 9 meses de anticipación y ponga toda su energía en escribir un documento para eso. Por ejemplo, al involucrarse en la redacción de un documento CVPR, aprende mucho. Cómo extraer conjuntos de datos, cómo limpiar otros conjuntos de datos según sus necesidades, cómo trabajar con un marco de aprendizaje profundo y cómo paralelizar su algoritmo o ejecutarlo de manera distribuida para hacerlo más rápido.
  • Vaya a las conferencias CVPR, NIPS, ICLR, ECCV, ICCV o BMVC. Si trabaja en una empresa, pídales que lo envíen al menos a dos conferencias por año para mantenerlo actualizado en el campo. El campo de visión por computadora ha cambiado tan rápido personalmente que tengo dificultades para ponerme al día con todo.
  • Cuando vaya a estas conferencias y talleres, asegúrese de hacer amigos con otras personas. Asegúrese de que otros se sentirían tan incómodos en una conferencia como usted, así que no dude en dar el primer paso para conectarse con ellos con una sonrisa amistosa y pregúnteles si está bien si los agrega en LinkedIn. Además puedes seguirlos en Twitter.
  • Cree un Twitter e intente dedicarlo a sus avances, aprendizajes y trabajo en visión por computadora. La visión por computadora y la comunidad de aprendizaje profundo son muy pronunciadas en Twitter. Aprendí muchas cosas solo de los tweets de las personas que sigo en Twitter. ¡Nunca subestimes el poder de un solo tweet!
  • Intenta responder preguntas de visión por computadora en Quora si es posible. Eso lo empujaría a leer más para proporcionar una respuesta de calidad.
  • Eventualmente, si bien comenzar es muy importante, mantenerlo es mucho más importante y ser parte de una comunidad o grupo de amigos que son tan apasionados como usted en el campo, lo ayudaría a mantenerse animado. Así que trate de fortalecer su comunidad local y contribuya a la visión por computadora de cualquier manera posible y aliente a sus amigos de la visión por computadora.

Tienes muchas opciones.

  • Aplicar a colegios o universidades que ofrecen cursos de visión por computadora.
  • Toma cursos en línea.
  • Aprende por ti mismo.

Me enseñé la visión por computadora y lo hice leyendo directamente literatura de primer nivel sobre visión por computadora y aprendizaje automático y practicando consistentemente. No tomé cursos en línea, comencé de inmediato.

Sin embargo, no fue fácil, los primeros 2 años nada tenía sentido. Seguí adelante, nunca retrocedí, nunca me rendí.

Luego, después de los siguientes 2 años, comencé a tener ideas y comencé a desarrollar ideas que realmente funcionaron cuando las codifiqué.

A los 4 años de viaje, pude diseñar e implementar con éxito nuevos algoritmos de visión biológicamente motivados que utilizo en mi aplicación de grapado panorámico.


Comenzar con la visión por computadora requiere que se sienta cómodo con las matemáticas, tales como:

  • Álgebra lineal
  • Matrices
  • Vectores
  • Descomposición de valores singulares (SVD). Especialmente cómo usarlo.
  • Optimización numérica
    • Métodos de optimización de primer orden.
    • Métodos de optimización de segundo orden.
  • Probabilidades y estadísticas
    • Variables aleatorias
    • Funciones de distribución de probabilidad
    • Teorema de Bayes

    Y también necesita conocer la programación en cualquiera de los siguientes lenguajes de programación:

    • Pitón
    • Java
    • C ++

    Una vez que haya resuelto estos requisitos previos, puede continuar para comenzar a aprender la visión por computadora.

    • Aprenda sobre modelos de visión de neurociencia como la hipótesis de las dos corrientes.
    • Aprende el procesamiento de imágenes.
    • Filtros como el filtro gaussiano.
    • Operación de convolución
    • Transformada rápida de Fourier y muchas más.
  • Aprenda sobre los modelos de aprendizaje automático (ML) aplicables a problemas de visión por computadora como.
    • Redes neuronales convolucionales (CNN).
    • Redes neuronales profundas completamente conectadas (DNN).
    • Redes neuronales recurrentes (RNN) como la memoria a corto plazo (LSTM) y las redes de unidad recurrente cerrada (GRU).
  • Obtenga información acerca de los detectores de nivel de instancia, como la transformación de características invariantes de escala (SIFT) y las características robustas (SURF).
  • Aprenda sobre las técnicas de visión por computadora en 3D.
  • La regla general es comenzar con las cosas más fáciles de entender y luego pasar a las más avanzadas.

    También debe practicar constantemente codificando algunos ejercicios y construyendo proyectos paralelos cada vez más desafiantes y con el tiempo mejorará.

    Pero sigue trabajando en algo para que puedas seguir mejorando las horas extra, el aprendizaje nunca se detiene.

    Espero que esto ayude.

    [A2A] Respuesta predeterminada, lo que quieras aprender: lee un libro o asiste a un curso en línea y practica.

    Si simplemente desea implementar un clasificador / detector de objetos sin pasar demasiado tiempo estudiando un campo completo, solo estudie las redes neuronales convolucionales (ConvNets). Son el estado del arte en reconocimiento / detección de objetos. Hay un increíble curso de Stanford en línea (llamado CS231n) que comienza desde los principios básicos del aprendizaje automático y es muy práctico. Búscalo en línea.

    Piensa en un sentido más amplio, estás tratando de clasificar o reconocer objetos usando la técnica de visión por computadora. Las técnicas de visión temprana utilizaron la extracción de características, sin embargo, las tendencias recientes tienden a utilizar algoritmos de aprendizaje profundo para la clasificación. Como ejemplo, puede buscar en Google sobre el desafío de clasificación de imageNet.

    Espero que hayas recibido tu respuesta 🙂

    OpenCV: ejemplos

    More Interesting

    En el aprendizaje profundo, ¿son el "aprendizaje incremental" y el "aprendizaje de transferencia" el mismo enfoque?

    ¿Qué está sucediendo en este gráfico de pérdida de precisión de la red?

    ¿Es posible entrenar modelos de aprendizaje automático de procesamiento de datos en dispositivos locales y enviar solo el modelo entrenado al servidor?

    ¿Cuál es el mejor enfoque híbrido para construir un sistema de recomendación para datos de música?

    Cómo lidiar con una matriz escasa de pares de elementos de usuario mientras se construye un sistema de recomendación de filtrado colaborativo basado en perceptrón

    ¿Los diferentes algoritmos de árbol de decisión ofrecen diferencias significativas en el rendimiento?

    ¿Qué consejo le darías a alguien que acaba de comenzar el curso de Andrew Ng sobre aprendizaje automático?

    ¿Qué hace que los parámetros del modelo sean variables latentes?

    En la capacitación de CNN, ¿también se actualizan los pesos correspondientes al mapa de características?

    ¿Qué tipo de proyectos de aprendizaje automático puedo hacer? ¿Qué libros me recomiendan aprender? Estoy interesado en usar Python.

    He estado aprendiendo la red neuronal de retroalimentación y la propagación hacia atrás durante 3 meses y todavía no puedo entenderlo, ¿qué debo hacer?

    ¿Cómo lidian las personas con visión artificial con el sobreajuste?

    ¿Tiene sentido usar la selección de características antes de Random Forest?

    ¿Se puede utilizar el análisis semántico latente para la clasificación de documentos?

    Dada una oración, quiero encontrar la emoción de la persona que la dijo. ¿Cómo puedo hacer esto?