Diario de DIA4RA: ¡Pruebas unitarias! Speech to text

Diario de DIA4RA Pruebas unitarias speech to text

Retomamos con fuerza el diario de DIA4A para poneros al día de los avances realizados hasta la fecha. Como recordaréis, hemos conseguido que el modelo de detección de objetos y personas desempeñe su cometido sobre las imágenes capturadas a través de la cámara frontal del robot. Ahora que llegan los primeros resultados es momento de traducirlos a entregables. Entre estos, contamos la documentación técnica y ejecutiva de cada modelo y, por supuesto, el cuaderno de pruebas.

Para elaborar el cuaderno de pruebas, hemos desglosado cada modelo en sus funcionalidades básicas. Para acreditar que estas se han alcanzado, hemos acordado grabar un vídeo del robot desempeñando cada funcionalidad. Con la idea de que el vídeo fuese más vistoso y, sobre todo, no abusar del uso de comandos escritos, de cara a hacerlo más atractivo para alguien con un perfil no tan técnico, optamos por aprovechar la Google Cloud Speech To Text API. Como imaginareis, es un servicio de Google que permite la transcripción multi-idioma de voz a texto. Hacemos un paréntesis aquí, para indicar que paralelamente estamos desarrollando nuestro propio modelo de Speech To Text en castellano.

El objetivo para registrar nuestra prueba unitaria para este primer modelo (y para el resto de pruebas unitarias) era grabar un vídeo en el que:

  1. Se explica la prueba a realizar.
  2. Una persona se acerca al robot y le da una orden concisa en forma de comando de voz (por ejemplo: empieza)
  3. El robot en ese momento activa el modelo y empieza a publicar la salida de lo que va reconociendo.
  4. La persona le pide al robot que detenga la prueba mediante otro comando de voz (por ejemplo: termina)
  5. Una segunda persona explica las salidas generadas.

Entrando en detalles:

Para los que os gusta algo más de detalle, os explicamos un poco más a fondo el proceso. Lo primero es comentar algo sobre el nodo de ROS que encapsula la llamada a la API Speech To Text de Google. Este nodo se encuentra desplegado en el robot (a diferencia del nodo que encapsula el modelo desarrollado, que se encuentra en nuestras máquinas ya que requiere del uso de GPU para sus predicciones). La razón de esto es que se trata un nodo ligero que no realiza una computación per se, sino que delega en la API de Google, entonces lo primero será conectarse al robot y levantar este nodo.

Con ello, esperamos que la transcripción de cualquier voz humana que se detecte a través de los micrófonos del robot, sea publicada a través de un topic de ROS. A partir de aquí, se trata de escuchar en dicho topic y detectar el comando de activación de la prueba (algo así como “empieza” o “reconoce”) tras el cual se ejecuta una suscripción al topic de la cámara del robot y el modelo desarrollado comienza a identificar, hasta que se pronuncia el comando de finalización de la prueba (por ejemplo “termina”) “ y se desconecta del topic de la cámara, deteniéndose las predicciones.

 Más entradas del diario


Gracias a los compañeros de la URJC por el nodo que encapsula la Google Cloud Speech To Text API.

dia4ra cdtiEl proyecto empresarial de DATAHACK CONSULTING SL., denominado “DESARROLLO DE INTELIGENCIA ARTIFICIAL EN ROBOTS APLICADOS AL TRATAMIENTO DEL ALZHEIMER Y LA DEMENCIA” y número de expediente 00104725 / SNEO-20171211 ha sido subvencionado por el CENTRO PARA EL DESARROLLO TECNOLÓGICO INDUSTRIAL (CDTI)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *