Inicio Facebook

Usando Visual Recognition de Watson en menos de 10 minutos

Durante el pasado lanzamiento de Cognitiva Latinoamérica para Costa Rica, presenté como crear un prototipo cognitivo en 30 minutos (siendo expertos en una industria).
Más info acá: El Financiero - Cree un prototipo cognitivo en 30 minutos

Más información sobre qué es IBM Watson aquí.

Mi objetivo principal en este laboratorio era demostrar como en 30 minutos se puede pasar de una idea a un plan de trabajo para generar algo probable y conocer lo suficiente la tecnología Watson.

Mi objetivo fue crear un software que pudiera detectar melanoma y diferenciarlo de un lunar regular.

Cómo expliqué en el evento, lo primero que se debe hacer con tecnología tan disruptiva es probar la hipótesis más riesgosa (así como lo hacen las startups). Mi hipótesis era: ¿Es IBM Watson capaz de detectar diferencias tan pequeñas como las que existen entre lunares y melanomas?

Trabajo previo:
Suponiendo que era experto en el área, procedí previo a recopilar fotos de melanomas y lunares regulares, las cuales iban a entrenar a Watson.

Este trabajo se puede orientar a cualquier otro reconocimiento visual, tal como industria médica, infraestructura vial, y casi cualquier proceso en el cual se requiera diferenciar entre resultados positivos y negativos.

Más detalle del API que utilicé aquí.

Requisitos:

  • Para este laboratorio creé un repo en Github el cual puede ser aprovechado por cualquiera. Fork here!
  • Cree su cuenta en Bluemix. Gratis por 30 días.
  • Cree un servicio de reconocimiento visual (Visual Recognition). Y extraiga la llave de acceso como se indica a continuación: http://www.ibm.com/watson/developercloud/doc/visual-recognition/classifiers-tutorials.shtml
  • Una vez creado, baje el código del Repo, abra una consola y diríjase al folder cancerdemo-backend y corra:
    • npm install
    • Reemplace la llave de acceso: En la línea 24 del archivo selfcheck/cancerdemo-backend/app.js o en el archivo .env
    • node server
  • Se levantará una pantalla similar a la siguiente.
  • Aparece vacía la sección de clasificadores, ya que se debe entrenar a Watson.
  • Para entrenarlo ocupa al menos 2 ejemplos de imágenes que clasifiquen lo que desee reconocer. Aquí tengo dos .zip ejemplo para replicar la demo que brindé ese día.
  • Se debe ir a la sección de Train del sitio web y cargar los dos .zip.
  • Esperemos unos segundos...

Una vez entrenado, he dejado un endpoint (REST) que recibe una foto y la clasifica. Para esto, se incluye en el Repo un proyecto en Ionic 2 que envía la foto desde un dispositivo móvil, sin embargo no es obligatorio que la foto sea enviada desde un celular. La foto puede ser enviada desde un dispositivo o una web, sin problema.

O bien, se puede probar directo desde su computadora con un cliente de HTTP. Descargue una foto de internet de un melanoma y pruebe Watson con Postman.

  • Diríjase de vuelta al tab "Watson" dentro del web app para copiar el código único. Por ejemplo:
  • Abra Postman y cargue los parámetros siguientes:
  • Al darle click a Send va a consultar al Endpoint llamado custom_classify con la foto de melanoma, el cual a su vez se comunica con el Watson entrenado y le retorna si es o no melanoma.

El siguiente paso del demo de reconocimiento de melanoma es reconocer cada posible característica visual de un lunar cancerígeno por aparte. Eso se lograría contando con más ejemplos de imágenes.

Para el demo la idea era demostrar lo fácil que es probar si IBM Watson sirve o no en su proyecto de manera rápida y poco costosa.

¿Listo para probar si IBM Watson puede resolver los problemas que quiere atacar?

Walter Montes

Read more posts by this author.

San José, Costa Rica

Please Donate To Bitcoin Address: [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]