¿Cuáles son los ciertos algoritmos que un principiante debe dominar para ser competente en visión por computadora?

Para empezar, debe tener los elementos básicos ordenados, como el procesamiento de imágenes, las matemáticas y la programación.

Las matemáticas necesarias para la visión por computadora en realidad no son tan avanzadas. Es lo mismo que el aprendizaje automático (ML).

  • Álgebra lineal
    • Matrices
    • Vectores
    • Descomposición de valores singulares (SVD)
  • Optimización numérica (no lineal)
    • Métodos de optimización de primer orden
    • Métodos de optimización de segundo orden.
  • Estadísticas y probabilidad
    • Teorema de Bayes
    • Variables aleatorias
    • Funciones de distribución de probabilidad
  • Programación
    • Pitón
    • Java
    • C ++
  • Además, con la visión por computadora, necesita saber al menos un poco sobre los modelos de visión de la neurociencia.
    • La hipótesis de las dos corrientes
    • Y algunos otros modelos interesantes, pero no profundice demasiado en la neurociencia, puede perderse fácilmente.

Debe poder comprender cómo funciona una operación de convolución.

También debe comprender el producto escalar y lo útil que es.

Una gran cantidad de algoritmos de visión por computadora se basan en productos de punto para la detección de coincidencias o características. Cuanto mayor sea el valor del producto interno entre dos vectores, más similares son. Tal medida básica de similitud está presente en sistemas de visión muy avanzados.

De hecho, la correlación cruzada es solo un algoritmo de producto de punto deslizante que se utiliza en redes neuronales convolucionales (CNN) para la detección de características.

El algoritmo clásico de ventana deslizante también es solo correlación cruzada.

Los nodos en la red neuronal también implementan un producto de puntos.

Conozca y comprenda el producto básico de puntos, que está en el corazón de muchos sistemas avanzados de visión por computadora.

Sin embargo, solo entender el producto punto no es suficiente.

Para ser competente en CV, debe comenzar proyectos reales de CV en la vida real.

Construir proyectos de CV reales es lo que lo hará competente en CV y ​​lleva mucho tiempo.

Espero que esto ayude.

Ninguna. No lo hagas. Ni siquiera te molestes en intentarlo. Sugeriré algo más que hacer en su lugar.

Soy matemático y me especializo en gráficos por computadora. Los algoritmos actuales de última generación son extremadamente sofisticados. Incluso para mí (afirmó inmodestamente). Pero no necesita comprender cómo funcionan, alguien ya ha implementado el código. Solo necesita saber qué hace y cómo llamarlo.

Aquí hay un pequeño ejercicio en gráficos por computadora y visión que es una habilidad que necesita tener. Establezca una matriz bidimensional de enteros, digamos 100 x 100, y luego complete la matriz con números que representen el rojo para los puntos que se encuentran dentro de un círculo y el azul fuera del círculo. Ahora descubra cómo transformar esto en una imagen visualizable (un mapa de bits adecuado).

Si puede hacer esto y cuándo lo ha hecho, ha demostrado la capacidad de leer y escribir datos de píxeles individuales e interpretar la estructura de los mapas de bits. Este es un conocimiento básico en este campo.

Como dijo Peter, esto realmente no es algo que un programador principiante intente intentar. Este es un campo avanzado que requerirá un alto nivel de matemáticas y una experiencia significativa en la programación de bajo nivel.

More Interesting

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

Como estudiante universitario sin un asesor, ¿cómo realizo una investigación en los campos de VLSI, arquitecturas informáticas y sistemas de baja potencia con el objetivo de publicar artículos en revistas / conferencias de renombre? ¿Cómo planeo publicar artículos?

¿Fue Rijndael / AES el más fuerte de los candidatos históricos de AES? ¿Por qué o por qué no?

Dados los recientes avances en la curación de la ceguera, ¿sigue siendo relevante la investigación en informática de accesibilidad para discapacidades visuales?

¿Cuáles son los documentos fundamentales en lenguajes de programación y programación funcional?

¿Cuáles son algunos de los grandes proyectos implementados utilizando los conceptos de la teoría de gráficos?

¿Los investigadores de matemática o ciencias de la computación teóricas leen documentos o simplemente tratan de pensar originalmente?

¿Cuál es la diferencia entre la visión médica por computadora y la visión general por computadora?

¿Cuál es el estado del arte en bases de datos temporales?

¿Cómo explicaría las pruebas probabilísticamente comprobables y el teorema de PCP a un estudiante universitario en informática?

¿Por qué las empresas como Google, Microsoft y Facebook publican su trabajo en lugar de guardar los hallazgos como secretos industriales?

¿Qué podría ser un posible Ph.D. tema de investigación en el campo de la compresión de video?

¿Cuáles son los temas candentes en informática para escribir un trabajo de investigación?

¿Cuáles son los tipos correctos de aplicaciones móviles?

¿Cuáles son los principales departamentos de investigación en informática en la India?