edición general
413 meneos
4349 clics
Investigadores de la UCLA lanzan como código abierto un potente algoritmo de reconocimiento de imágenes [ENG]

Investigadores de la UCLA lanzan como código abierto un potente algoritmo de reconocimiento de imágenes [ENG]  

Ingenieros de la UCLA han lanzado un nuevo y potente algoritmo de reconocimiento de imágenes bajo la fórmula del código abierto. El algoritmo, denominado Phase Stretch Transform, tiene como principal característica que mejora las imágenes, reconoce texturas y puede distinguir los bordes y otros detalles que aparecen en las imágenes. Incluso es capaz de mostrar detalles no visibles, como estructuras de diversos materiales. [Vía: www.microsiervos.com/archivo/tecnologia/avanzado-reconocimiento-imagen ]

| etiquetas: ucla , código abierto , algoritmo , reconocimiento de imágenes , california
  1. De las noticias que merecen portada y buenos comentarios.

    Una de las aplicaciones que más interesan es la de la detección de células cancerigenas en la sangre.
  2. La verdad es que el titulo y la noticia dejan bastante que desear... cada poco se pubican cientos de articulos cientificos de reconocimiento de imagenes, y la inmensa mayoria de ellos contiene al menos el pseudocodigo de un algoritmo nuevo. Sinceramente, no entiendo el emphasis en que sea "open source", cualquiera puede implementar el codigo de un articulo cientifico (es algo de lo mas corriente).

    Por que he leido, es un filtro que realza ciertos detalles (no reconoce texturas, distinguir los bordes,... sino que ayuda a reconocerlos a otros algoritmos) y lo realmente novedoso se supone que es la mejora en la velocidad de procesameinto frente a la competencia, que permite analizar videos de alta velocidad (de la que no dan absolutamente ninguna comparacion).

    <<Entre otras funciones sus creadores enumeran las que permiten navegar a los coches autónomos, detectar células cancerígenas o realizar análisis de seguridad>> Lo que dice el articulo, es que los investigadores creen que puede ser de utilidad en esos ambitos, no que se haya probado y este usando ya.

    Si cada vez que se publica el codigo algoritmo lo sacamos en las noticias de cientos de blogs, apaga y vamonos.
  3. Malditos EEUU, imperialistas, siervos del capital y de las grandes corporaciones!! (y resto de tópicos que se leen a diario en Menéame)
  4. #1 #2
    Solo comentar que el “reconocimiento de células cancerígenas” no es tan extraño, hay bastantes conjuntos de datos (datasets) para la detección de células cancerígenas para que los científicos prueben sus algoritmos (mirad un poco en kaggle o búsquedas en papers).
  5. #2 Hay decenas de noticias en portada sobre la dimisión de Esperanza Aguirre o sobre los titiriteros, casi ninguna aporta nada realmente nuevo, solo buscan dirigir la opinión de los lectores por lo que podríamos llamar un "efecto de saturación".

    Quizá esta no sea la noticia más relevante sobre el reconocimiento de imágenes, pero supone un soplo de aire fresco.
  6. Abierto pero no libre, así que por mi algo ignorable.

    PS: creo que con GIMP puedo hacer lo mismo con un algoritmo de detección de bordes y aplicando el filtro retinex luego.
  7. #2 ¿Sabes que muchos de esos algoritmos que cualquiera puede implementar tienen patentes y para su uso comercial tienes que pagar?

    De nada.
  8. #6 Los algoritmos de inteligencia artificial corren el enorme riesgo que terminen siendo patentados todos. Luego el hecho que no sea libre pero si se pueda mirar de que trata nos permitirá generar nuevos algoritmos mejores, si lo ignoramos estamos perdiendo la guerra contra las patentes y la libertad.
  9. ¿Es una broma todo esto? El resultado que se ve en las imágenes parece un simple filtro paso-alto lineal de toda la vida que viene incluso en el Paint Shop Pro 5 de 1998, por decir algo. ¿Cómo ha llegado a portada esto?

    Un tal Uqam ha ido bombardeando la Wikipedia con referencias a este método.
  10. Pues me podría venir bien husmear un poco para mi TFG. A favoritos :-P
  11. Celebrar que se publiquen utiles y herramientas soft que motive a la gente con ideas a implementar, mejorar, y acoplar a sus necesidades - como punto de partida- para solventar su emprendimientos. Mas tecnología y menos chorradas.
  12. #7 Patentes en algoritmos, lo que me faltaba por ver. ¿Y por qué te cobran, por el flujo de datos, por los nombres de las variables...? Me parece ponerle puertas al campo, seguro que existen formas de implementar dichos algoritmos sin pagar un céntimo.
  13. La licencia bajo la que está no es de código abierto:

    This function is provided for research purposes only. A license must be obtained from the University of California, Los Angeles for any commercial applications. The software is protected under a US patent.

    Vamos que solo lo puedes usar para investigación, para cualquier otra cosa está limitado.
  14. Hablando de estos algoritmos...

    Alguien conoce alguna buena librería opensource de reconocimiento de imágenes que esté portada a (o usada en) varios lenguajes?
  15. Esto ya se cuenta en el libro Cicatriz :->
  16. #5 Estoy de acuerdo en que se genera ese efecto que comentas, por simplificar un poco que hay modas de noticias, sin embargo no me parece mal que se haga seguimiento a ciertas noticias, especialmente a largo plazo porque me parece que hace mucha falta de eso en el periodismo actual.

    Eso sí, también estoy de acuerdo que esta noticia no aporta mucho más que simplemente darnos la oportunidad de hablar de este tema en los comentarios. Y eso es otro aspecto de meneame que tampoco me gusta demasiado.
  17. #7 Sin querer quitarte razón, si me dices que "muchos" tienen patentes implícitamente me estás diciendo que por lo menos hay algunos que no, o incluso también "muchos".

    De todas formas código abierto no significa que tu puedas coger y utilizarlo sin violar alguna patente, que es lo que de hecho comenta #13.
  18. Vaya M (Mayúscula) de titular (y casi de noticia).

    1. No es un algoritmo de reconocimiento:
    -- Es un algoritmo de transformación de imágenes que facilita la detección de bordes, objetos y formas. Puede ser útil para algoritmos de reconocimiento o de muchas otras cosas (por ejemplo coches autónomos).
    2. No es openSource (ni código abierto)
    -- El código publicado, es un trocito de código Matlab (herramienta propietaria de código cerrado).
    -- El uso del algoritmo (aunque lo reescribas en otro lenguaje) está reservado y patentado y únicamente es libre para investigación.
    3. El algoritmo es realmente bastante simple y usa funciones de cálculo muy rápido y muy optimizadas en muchos sistemas (transformada rápida de fourier básicamente). No dudo que haya buena ciencia detrás... pero no parecen años de investigación.
    ++ Que sea simple y rápido es muy bueno y puede ampliar sus aplicaciones... esto salva la noticia, que no el titular.
  19. #19 Muchas gracias :-)
  20. #14 mira a ver si te vale este listado:
    www.pyimagesearch.com/2014/01/12/my-top-9-favorite-python-libraries-fo

    el blog tb es muy bueno
  21. Venía a decir lo que ponen #13 y #18, vaya puta mierda.
  22. #7 Si, muchos estan patentados en EEUU (de hecho, incluido el de la propia noticia #13)... como ya he dicho, cualquier paper cientifico da el codigo del algoritmo (no he dicho que lo puedas usar para lo que te de la gana), aunque en la UE las patentes de software no son validas.

    No necesitas ningun codigo para patentar un algoritmo (de hecho las patentes de software en EEUU son muy genericas), ni el dar el codigo en Github te impide que tengas que pagar si lo usas para fines comerciales. Lo dicho, ¿Es seria una noticia que lo unico que dice es que unos investigadores han publicado un algoritmo en Github?

    #5 #16 A mi desde luego me parece un sensacionalismo de libro, "codigo abierto" pero patentado; los investigadores creen que sera util para muchas cosas, pero la noticia lo pone como si ya se estubiera usando (en el paper ni siquiera dan los resultados de los datasets de reconocimiento de celulas cancerigenas solo un ejemplo concreto, como dice #4 es un problema bastante estandar); la principal ventaja es la velocidad, pero no se dan comparativas. Yo tambien estoy hasta las narices de las noticias sobre Esperanza Aguirre, pero espero algo mas de calidad en cuanto a noticias cientificas se refiere...
  23. cuidado, que el algoritmo esta patentado
    'The algorithm is patented, so for educational purposes you can use the algorithm but to use it in a commercial application, you need to obtain license from UCLA.'
  24. #2 Algo has malinterpretado, porque el algoritmo sí reconoce texturas y distingue bordes:

    "The algorithm performs a mathematical operation that identifies objects’ edges and then detects and extracts their features. It also can enhance images and recognize objects’ textures."

    Es un algoritmo en sí, por lo que dice el artículo.

    Y respecto a lo de Open Source, como ya apunta #7, el que un algoritmo esté descrito en un documento accesible no quiere decir que su uso sea libre. Así es el mundo de las patentes, y peor que podría ser si se hace caso a ciertas opiniones.
  25. #18 Generalmente en términos de méritos a un investigador le interesa que la patente esté en explotación, por lo que las patentes en propiedad de universidades suelen tener licencias mucho más baratas que las que están en manos de empresas, que buscan dinero, no productividad científica.
  26. #25 Por lo que yo he visto, no, los realza muchisimo y hace mas facil identificarlos, pero no los identifica completamente... identificar los bordes (en vision artificial) quiere decir sacar una imagen nueva donde solo queden los bordes del objeto (y lo mismo con las texturas). Pero por lo que he visto el algorithmo este te lo da todo mezclado, que ayuda muchisimo, pero no es lo mismo; no se si trasteandole los parametros se puede hacer que solo de uno u otro (yo no he visto la opcion).

    De todas formas, sacar los bordes (o las texturas) de un objeto es un problema clasico de vision artificial y hay muchos algoritmos que ya lo hacen (incluso algunos clasicos que funcionan muy bien y muy rapido), por ejemplo uno de los primeros que se estudian es el algoritmo o filtro de Canny (1986) www.youtube.com/watch?v=w52zYkKlj9o , junto con el de Kalman (1960) y el de Sobel (1968).

    La ventaja principal ventaja de este del propuesto en este articulo es su supuesta velocidad, de la que todavia no he podido ver ningun dato.

    Detectar bordes en imagenes no es algo nuevo (como bien dice #4, ni siquiera en celulas cancerigenas, que es uno de los datasets estandar del area de computer vision), yo mismo tuve que hacerlo durante la carrera... otro dataset clasico es el de detectar cancer de mama (dado los datos de las celulas detectadas), muy tipico para aprender redes neuronales (sacan resultados por encima del 98% de precision). Lo importante es saber los resultados que saca en los dataset estandares del campo, comparadolo con los demas algoritmos actuales (es una mejora si acierta mas que los demas, o si acierta lo mismo pero lo hace mas rapido).

    En ese sentido la noticia deja muchisimo que desear, ya que no da ningun dato util, lo unico que dice es que es "open sorce" (cuando en realidad esta patentado), que detecta bordes y texturas (como si eso fuera algo nuevo, cuando se viene haciendo desde los 70s) y que es potentisimo (pero sin compararlo con ningun otro en data sets estandares).
  27. #18
    Algunos comentarios a lo que dijiste:

    1. Efectivamente sirve para transformar una imagen en otra, típicamente una imagen 'física' como una fotografía, típicamente con colores o diferentes tonos de grises, en una imagen típicamente compuesta de líneas, que serían los "bordes" en los que habría un cambio de color o de tono de gris. El resultado sería una imagen de líneas como las que haría un dibujante o como los dibujos de líneas que se dan a los niños para colorear, donde cada niño rellena el espacio delimitado por esas líneas o bordes con un color. Luego ya el para qué se pueden usar esas líneas pues lógicamente puede ser para muchas cosas: para reconocimiento de formas (OCR, caras, iris, objetos, señales de tráfico...), para hacer un filtro 'chuli' de Instagram / Photoshop, ... Y en el caso de coches autónomos, supongo que viene bien para saber las líneas de la carretera (más que para 'reconocer' que es una línea o no, quizá para saber dónde está situada la línea o incluso la situación de otros vehículos o peatones: que no tienes que reconocer si es un niño o perro o bicicleta sino saber que hay un objeto, con bordes, que no es carretera y que no lo debes atropellar). Nota: ojo, los coches autónomos no sólo usan imágenes sino también señales de RADAR, LIDAR, etc. para tener con todo ello un conocimiento bastante completo y rápido del entorno por el que se mueven.

    Existen otros "filtros" o transformaciones de imágenes para detectar bordes, como el filtro/operador de Sobel (básicamente una aproximación del gradiente) o el algoritmo de Canny (que se resumiría como un suavizado previo + aproximación de gradiente), este último mucho más famoso que el PST del artículo por lo que he visto. ( de esto habla también #27 )

    Aunque el nombre a mi me confundió porque la palabra "transform" se suele traducir en español como "transformada" y la transformada suele ser a otro "dominio" / "espacio vectorial" diferente. Por ejemplo, la transformada de Fourier o de Laplace... la "señal" original está en el dominio del tiempo o del espacio y la transformada es en el "dominio" de la frecuencia (ciclos por segundo, ciclos por metro, etc). Viene a ser un cambio de base ortonormal... Pero, vamos, sin enrollarme más, lo que quería decir es que cuando se habla de "transform" o "transformada" el resultado es en un espacio diferente, que si partes de una fotografía (que es…   » ver todo el comentario
  28. #25 Me parece que es un matiz de a qué quieras llamar "reconocer" (algo que en muchos casos puede ser bastante difuso :-D), y ese sentido se refiere a que solo es un preprocesado de la imagen, quién vaya a reconocer esas texturas y bordes será otro algoritmo.
comentarios cerrados

menéame