¿Cuáles son algunas buenas ideas de proyectos o ejemplos para un proyecto de curso de Visión de Computadora basado en Aprendizaje Automático?

Si este es su primer proyecto en CV / ML, le recomendaría encarecidamente que encuentre un documento que le guste e implemente el algoritmo descrito para intentar reproducir los resultados (en lugar de intentar inventar algo nuevo). De esta manera, tendrá un objetivo claro en términos de rendimiento: si intenta inventar algo nuevo y obtiene malos resultados, será difícil saber si su algoritmo es malo o si tiene un error en algún lugar de su código (por desgracia Es por eso que la investigación es tan difícil). También lo obligará a comprender realmente el papel y el algoritmo, y a menudo lo que sucede es que se dará cuenta de una forma de mejorarlo, lo que podría conducir a una investigación original. Por cierto, ¡no pienses que es trivial implementar un algoritmo conocido! Es más fácil que inventar algo nuevo, pero te sorprendería la frecuencia con la que los detalles críticos de implementación quedan fuera de los documentos y tienes que resolver las cosas entre líneas.

En cuanto a un ejemplo específico, uno de mis papeles favoritos personales es el papel de detección de rostros Viola Jones (ver Marco de detección de objetos Viola-Jones). Lejos de ser trivial para implementar desde cero, pero factible, como resultado obtendrá un detector facial en tiempo real, ¡siempre es divertido jugar con él!

Clasificación de escena de clase k con cualquier descriptor global (ej .: GIST, imágenes pequeñas, DECAF6) y conectarlo a un SVM.

Implementar la extracción de características, así como el SVM con o sin la ayuda de bibliotecas, es extremadamente útil, ya que es un problema básico sólido que puede producir resultados que pueden evaluarse visualmente fácilmente. Esto significa que aprenderá mucho sobre C, la búsqueda de la cuadrícula Gamma para el SVM, concatenar diferentes vectores de características, normalizarlos, ponderarlos y comparar su rendimiento.

Una cosa genial que hacer sería esto …
Ejecute SLAM en un grupo de robots equipados con sensores Kinect para mapear un laberinto (o cualquier estructura compleja)

La planificación de la ruta para cada robot para maximizar la ganancia de información y minimizar el tiempo, la coordinación de la salida SLAM de cada robot en un solo mapa: estas tareas requieren Machine Learning.

SLAM es visión artificial.

cualquier proyecto de análisis de escena con un montón de características de visión por computadora aprendidas por un algoritmo de aprendizaje automático será un buen proyecto especialmente para robots. Por ejemplo, la detección de obstáculos monoculares o el intento de encontrar puertas en un ambiente interior. Las puertas pueden verse como “obstáculos” para un robot, pero en realidad, son solo otro camino que se puede abrir para el robot. Entonces, un robot que comprende dónde están las puertas en un entorno es importante.

Ankur
Inicio | Orzata – Plataforma de análisis de imagen

Si está familiarizado con CV y ​​sabe poco sobre ML. Te sugiero que primero aprendas más sobre ML (prueba el curso de ML de Andrew Ng en Coursera). Luego puede intentar hacer un proyecto llamado “clasificación de imágenes con regresión softmax / redes neuronales”. Puede extraer características de imágenes utilizando cosas que conoce en CV, como SIFT o HOG. Luego clasifique las imágenes usando algoritmos ML. De hecho, elegiré redes neuronales, actualmente el tema de investigación más candente 🙂

No sé lo impresionante que sería, pero tuve unas horas atrás cuando estudiaba IA en la universidad y hice algo divertido.

Básicamente, conecté una cámara web a una red neuronal y entrené para reconocer diferentes elementos que sostenía en tiempo real. Luego lo até a un motor TTS y sostenía algo y verbalmente decía lo que sostenía como “Estás sosteniendo una botella de coca cola”, etc.

Divertido y no tan difícil de hacer si tienes incluso una clase ANN mal hecha y una biblioteca TTS o algo así. Puede usar la clase Robot en Java para obtener datos de píxeles o puede hacerlo mucho más rápido y conectarlo directamente a una imagen almacenada en la ventana de la cámara web. Tome los datos rgb para todo y normalícelos de 0 a 1.0. Tire de ellos, cárguelos en una instancia de ANN de como 3 * x * y neuronas para la entrada y las capas ocultas (probablemente incluso podrían caer sobre la oculta) donde x e y son las dimensiones de la ventana de la cámara web y entrenarla por ejemplo, mil o diez mil épocas (dependiendo de su máquina) a algún número arbitrario. Luego, simplemente establezca límites difusos para la salida y haga un simple si no o algo para escupir el resultado.

Como el tren 0 a un elemento, 0.5 a otro, 1.0 a otro, por ejemplo. Difuso si más para separarlos.

Ahora tienes algo que para ti no fue tan difícil de escribir, pero se ve impresionante.

Si está en un programa más orientado a la ingeniería, sería útil mantenerse al día con las tendencias actuales de la industria. Por ejemplo, implemente su modelo en un teléfono inteligente para que todo se pueda ejecutar sin conexión.

Puede ser un modelo de transferencia de estilo como DeepDream, por ejemplo, en forma de filtros de Instagram: no necesita una base de datos o un reconocedor de texto. Ajustaría un modelo existente para eso porque hacer todo desde cero puede hacer que se pierda la fecha límite (he visto a estudiantes de doctorado bastante experimentados que luchan para que sus modelos funcionen a tiempo, no hay una manera segura de saber cuánto tiempo necesitará). Pero cuando realmente lo use en un dispositivo, será un toque muy agradable y un proyecto que orgullosamente podría incluir en su currículum.

More Interesting

¿Alguien siente que la programación de sistemas tradicionales es muy diferente del aprendizaje automático?

¿Cuál es la diferencia entre perceptrón y maximización de expectativas?

¿Qué hay de nuevo con Wasserstein GAN?

¿Cómo debe planificar un estudiante de CS su primer verano?

¿Cuál es la medida cuantitativa sofisticada de la similitud de textos además de usar la similitud de coseno?

¿Qué son las medidas completamente aleatorias y cómo / cuándo son útiles?

¿Qué opinas de Keras?

¿Cómo se elige una función de activación? He notado que las funciones más utilizadas se parecen, especialmente cerca de 0. ¿Tienen que ajustarse a algún comportamiento específico? ¿Es este un tema de investigación abierto? ¿Hace una gran diferencia en los resultados?

¿Por qué hay tantas preguntas sobre Machine Learning en Quora?

¿Cuál es la diferencia entre el aprendizaje automático y la forma en que Kepler obtuvo las leyes de Kepler?

¿El aprendizaje automático es algo que no llegará demasiado lejos si no tiene la formación académica adecuada? Dado que hay tanto en Internet, ¿se puede entender?

¿Qué habilidades de programación / habilidades informáticas debo aprender si quiero especializarme en visión por computadora y aprendizaje automático?

¿Cuál es el potencial de las redes neuronales en la compresión de datos?

¿Hay orden entre las características de las incrustaciones de palabras?

¿Qué motor de recomendación / personalización estándar ofrece recomendaciones utilizando tanto el aprendizaje automático como la entrada manual?