Puedo dar ejemplos de mis propios alumnos.
Una posible dirección es que elija algunas funciones estándar de OpenCV (por ejemplo, detección de rostros) e intente construir algo interesante a partir de ellas. Por ejemplo, puede desarrollar una aplicación de seguridad de puerta utilizando las funciones de reconocimiento de rostros disponibles en OpenCV. En uno de los proyectos que despertaron el interés público, los estudiantes detectaron características de rostros, ojos, nariz, etc. utilizando el detector de cascada en OpenCV y generaron “interpretaciones de personajes” (sus ojos están muy separados, por lo que es una persona confiable, etc.) encontraron algunas fuentes antiguas (por supuesto, esto fue principalmente por el valor del entretenimiento, como en los horóscopos, no por la ciencia).
Este tipo de estrategia de “visión trivial por computadora, funciones disponibles + algún escenario de aplicación válido (interesante)” le permite familiarizarse con las herramientas de visión por computadora sin profundizar demasiado o abrumarse, una especie de introducción suave.
- ¿Cuáles son algunos buenos proyectos importantes de ML o AI?
- ¿Vale la pena estudiar la teoría del aprendizaje computacional y por qué?
- ¿Cuál es el equivalente de Xerox Parc / Bell Labs / JPL hoy?
- ¿Cuáles son algunas aplicaciones de los resultados de la investigación de operaciones al aprendizaje automático?
- ¿Hay nuevos temas en informática que me den una idea para el proyecto de graduación?
Otra dirección posible es trabajar con una versión a pequeña escala de un problema de nivel de investigación en visión por computadora. Por ejemplo, tengo algunos estudiantes trabajando en la detección, por ejemplo, de personas en imágenes aéreas tomadas desde drones, utilizando funciones HOG. Debe aprender sobre las funciones locales como SIFT, HoG, etc. y cómo se usan en general. Entonces necesitas aprender algo de aprendizaje automático, suficiente para entrenar un SVM o algo así. Luego, recopila imágenes de entrenamiento, extrae funciones, prueba en otras imágenes. Esto constituye, en mi opinión, una buena pero reducida versión de un proyecto de investigación de visión por computadora.
Actualmente, el bombo en la visión por computadora son las redes convolucionales (CNN) y el aprendizaje profundo. MatConvNet es una biblioteca CNN muy fácil de usar desarrollada para Matlab. Existen modelos pre-entrenados desarrollados por los principales grupos de investigación y estos modelos, cuando se usan en MatConvNet, pueden realizar impresionantes trabajos de detección de objetos, etc. en imágenes. Puede jugar con estos e intentar formular una pregunta para investigar o una aplicación para desarrollar o un experimento para probar.
Y luego, podría trabajar en un problema desafiante de la vida real, como decodificar la estructura del circuito de una imagen (como se sugiere en otra respuesta), que puede no parecer elegante en términos de temas de investigación actuales pero bastante relevante en la práctica y muy desafiante.
PD. Si desea profundizar en los últimos temas de investigación (especialmente el aprendizaje profundo), eche un vistazo a los proyectos de cursos de este curso de Stanford (puede ser deprimente de cierta manera, cómo todos estos estudiantes de pregrado / posgrado producen tantos trabajos impresionantes allí ): http://cs231n.stanford.edu/
CS231n Redes neuronales convolucionales para reconocimiento visual