¿Es realista escribir un programa de reconocimiento facial con aprendizaje profundo en 3 meses sin conocimiento previo sobre redes neuronales y demás?

La respuesta es sí.

La cantidad de tiempo requerida para terminar un proyecto de este tipo puede variar de unos pocos días a unos pocos meses, dependiendo de muchos factores.

  • Capacidad de programación: qué tan cómodo se siente al escribir y depurar código. Especialmente en python y c ++ (si planea una implementación en el dispositivo).
  • Experiencia en aprendizaje automático: qué tan buena es su experiencia en aprendizaje automático y los conocimientos matemáticos necesarios. Es decir, ¿puedes leer y comprender artículos y artículos de aprendizaje automático?
  • Su experiencia sobre máquinas y redes neuronales:

Y, por supuesto, depende de la cantidad de dedicación y esfuerzo que usted y su equipo puedan poner en el proyecto.

Hay muchos materiales y proyectos de código abierto que pueden servir de guía para su proyecto, como “FaceNet” de Google.
cmusatyalab / openface

Si. Tres meses son suficientes incluso para un novato. Simplemente no se desvíe ni se preocupe demasiado por optimizar el rendimiento. Concéntrese en realizar un buen experimento y en evaluar los resultados a fondo. El diseño experimental es más importante que el rendimiento de los algoritmos. De todos modos, no reconocerá más de quizás 100 caras, por lo que el ML no necesita funcionar sin problemas. Y no tengas miedo de robar el código de otras personas liberalmente. Codificar una red DL de reconocimiento facial completo desde cero sería una tontería, en mi humilde opinión. Aprenderá más si modifica el código que ya existe, especialmente si lo modifica de varias maneras para ver el efecto de cada cambio.

Yo haría: 1) alinear los datos. Cuantas caras Que caras ¿Qué tan preciso debe ser? 2) alinee otro algoritmo de grabación facial para compararlo con el uso de los mismos datos de entrenamiento. Le recomiendo que también ejecute una segunda arquitectura de reconocimiento facial DL. De esa manera, puede jugar con la comparación de dos arquitecturas de reconocimiento facial DL diferentes. (Como MX-Net y U-Net y Resnet). No te preocupes mucho por implementarlos. Ya existen muchos ejemplos de redes de trabajo en lugares como Kaggle. Solo tendrá que dimensionar el tamaño de la red y escalar las imágenes adecuadamente. 3). Alinee el hardware necesario. Presumiblemente usará una o más máquinas con GPU. 5) diseñe su protocolo experimental en entrenamiento / prueba y evaluación de resultados de los algoritmos, y cómo puede variar los regímenes de entrenamiento (extraiga características o no, agregue visualización / depuración para ver dónde la red encuentra su información, evalúe el efecto en el entrenamiento de etiquetado incorrecto, o no, y así sucesivamente).

Para ser honesto con usted, la parte difícil de su tarea es muy probablemente la implementación de hololenes para usar redes neuronales que escribir redes neuronales para el entrenamiento de imágenes. Lo principal es que hay MUCHO código preescrito para usted que maneja el aspecto de entrenamiento de imagen.

Además, el problema de reconocimiento de imágenes son en su mayoría problemas de optimización de cómo obtener esa precisión de 0.5% adicional o construir algo que sea más rápido para entrenar. Entonces, en tu caso, probablemente no quieras lidiar con ese aspecto.

Para hacer un sistema de reconocimiento facial basado en el aprendizaje profundo. Primero debe asegurarse de que el hardware en Hololens tenga la capacidad suficiente para evaluar redes neuronales capacitadas en tiempo real, ya que eso podría ser bastante computacionalmente intensivo.

Ya estoy asumiendo que su detección de rostros en tiempo real funciona a la perfección.

Entonces, si sus hololenas no pueden evaluar las redes en tiempo real, entonces es posible que desee configurar un servidor remoto que lo haga por usted en una implementación de tipo API REST.

He hecho lo de REST API para detectar y evaluar rostros por sexo y edad en un teléfono inteligente y funcionó bien.

Supongo que solo para una aplicación podría tratarse como una caja negra, pero hay dos problemas con esto.

  1. Debe comprender los requisitos computacionales de la red, que es difícil de hacer.
  2. Debes darte cuenta de que tus resultados no serán tan buenos. La canalización de SOTA para el reconocimiento de rostros ha cambiado de “ye olde ConvNets” a una red profunda mucho más complicada.

¿Son las redes neuronales un requisito previo de su profesor? Si no, puede hacer que OpenCV se ejecute en HoloLens y, a través de eso, reconocimiento facial. De esa manera no necesitará reinventar ninguna rueda.

Tenga en cuenta, sin embargo, que HoloLens no tiene el mejor procesador. Si está buscando un reconocimiento facial que sea capaz de determinar a las personas persona por persona, es posible que deba descargar el trabajo en una computadora externa.

En la actualidad, hay muchas bibliotecas que hacen que estas cosas sean mucho más fáciles que en el pasado, por lo que depende de cuán “desde cero” lo desee su profesor y de qué tan bien interactúen el tensorflow y otras bibliotecas similares con hololenes. A principios de este año, tomé la clase de mi asesor, donde una tarea era clasificar la dirección de la gente mirando cuadro por cuadro. Debido a las bibliotecas que utilizamos, fue bastante fácil, y él lo sabía, pero dijo que hace algunos años (tal vez 10, tal vez más) habría sido una gran cantidad de trabajo hacer que algo así funcionara y no lo haría. han sido factibles como un proyecto de clase.

More Interesting

¿Cómo está cambiando la inteligencia artificial internet?

¿Cuáles serán las 5-10 aplicaciones principales para IA / aprendizaje automático, y qué marcos y cadenas de herramientas serán necesarias para impulsar este trabajo?

¿Puede la inteligencia artificial crear otra inteligencia artificial más inteligente que todas las inteligencias artificiales?

¿Qué estudio de graduación debería elegir: inteligencia artificial o robótica?

¿Cuál es el alcance de la inteligencia artificial en el campo de la astronomía y la astrofísica?

¿Cuáles son los campos más interesantes en los que se está utilizando ML hoy en día?

¿Conoces el aprendizaje automático?

¿Es posible detectar el fraude en tiempo real utilizando el aprendizaje automático?

¿Existe una solución de cadena de bloques o inteligencia artificial para resaltar información manipulada (noticias falsas) en la red?

Cómo convertirse en un científico de aprendizaje automático / aprendizaje profundo en un fondo de cobertura

¿Puede una red neuronal tener datos no estructurados y estructurados al mismo tiempo que una entrada (por ejemplo, si uno está usando el NN para la atención médica)?

¿Qué tan lejos estamos de poder programar una computadora para distinguir buena música de mala música o ruido, de forma similar a como lo hace un humano?

¿Cómo sabemos cuándo entramos en la economía de la automatización donde la inteligencia artificial impregna nuestras ciudades como la fuerza impulsora de la productividad?

¿Cuáles son las diferencias funcionales entre un procesador de computadora diseñado para IA (por ejemplo, Tensor / TPU) y un procesador ordinario (CPU) o GPU?

En el contexto del aprendizaje automático práctico, ¿cuáles son las principales conclusiones de la teoría del aprendizaje estadístico?