Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
OpenCV
Es una biblioteca libre de visin artificial originalmente desarrollada por Intel. Desde que
apareci su primera versin alfa en el mes de enero de 1999, se ha utilizado en infinidad de
aplicaciones. Desde sistemas de seguridad con deteccin de movimiento, hasta aplicativos de
control de procesos donde se requiere reconocimiento de objetos. Esto se debe a que su
publicacin se da bajo licencia BSD, que permite que sea usada libremente para propsitos
comerciales y de investigacin con las condiciones en ella expresadas.
OpenCV (Open Source Computer Vision Library) es una librera de cdigo abierto para la visin
artificial. La visin artificial es un subcampo de la inteligencia artificial, cuyo propsito es
programar un ordenador para que sea capaz de analizar las caractersticas de una imagen o
escena. OpenCV se construy para proporcionar una estructura comn para la visin artificial y
para acelerar su uso en los productos comerciales. Siendo un producto bajo licencia BSD
(Berkeley Software Distribution), OpenCV hace que utilizar y modificar su cdigo sea fcil para
las empresas. La librera consta de ms de 2500 algoritmos optimizados, incluyendo un amplio
conjunto de algoritmos clsicos y actuales de visin artificial. Estos algoritmos se pueden
utilizar para el reconocimiento facial, identificacin de objetos, seguir el movimiento de
objetos, identificar imgenes dentro de otra imagen a partir de una base de datos, etc. Con
una comunidad de ms de 47000 usuarios y ms de 7 millones de descargas, esta librera se
utiliza en empresas, grupos de investigacin y organismos gubernamentales. Originalmente,
OpenCV fue escrita en C++. Actualmente, la librera dispone de interfaces en C++, C, Python,
Java y MATLAB y existe soporte para Windows, Linux, Android y Mac OS. En este proyecto,
utilizaremos algunos mdulos de la librera para el reconocimiento facial en las imgenes
descargadas desde el servidor de vdeo. En concreto, utilizaremos los siguientes mdulos:
Android. Este mdulo se utiliza para inicializar los recursos necesarios para utilizar la librera
OpenCV y gestionar la cmara del terminal.
Objdetect. Sirve para la deteccin y clasificacin de los objetos que aparecen en una imagen.
Para la ejecucin de una aplicacin Android que utiliza la librera OpenCV, es necesario instalar
en el terminal la aplicacin OpenCV Manager proporcionada por OpenCV y accesible desde
Google Play.
JavaCV
Es una interfaz para usar OpenCV bajo Java. De hecho comparte la misma documentacin que
OpenCV. Ha quedado relegada a un segundo plano con la salida de la ltima versin de
OpenCV, la 2.4.4, que soporta Java.
La biblioteca elegida para realizar este proyecto ha sido OpenCV, por ser cdigo abierto, contar
con funciones que cubren las necesidades del alcance del problema, una documentacin muy
amplia y un desarrollo con la plataforma Android muy completo.
Fuente:
http://eprints.ucm.es/22577/1/Procesado_de_imagenes_para_plataformas_moviles.pdf
http://bibing.us.es/proyectos/abreproy/90268/fichero/pedcanvaz-
memoriaTFG_v2.1_javadoc.pdf
JJIL es una biblioteca de procesamiento de imgenes de Java. Incluye una arquitectura de
procesamiento de imgenes y ms de 60 rutinas para diversas tareas de procesamiento de
imgenes.
JJIL est especialmente dirigido a las aplicaciones mviles. Incluye interfaces de modo que las
imgenes se pueden convertir entre formatos de nativos para J2ME, Android y J2SE.
JJIL incluye algunas aplicaciones de ejemplo para la deteccin de caras y de lectura de cdigo
de barras EAN-13 (incluyendo UPC).El lector de cdigo de barras requiere que las imgenes de
alta resolucin (actualmente ms all de un telfono con cmara tpica, pero quizs no
androide), pero el cdigo de deteccin de rostros funciona bien con cualquier telfono con
cmara. Se puede aislar cualquier vista frontal razonable de una cara en unos pocos segundos.
Actualizacin, 22/12/08: He subido una nueva versin de la biblioteca JJIL Android, que
permite que las imgenes se convierten de mapas de bits en Android RgbImages JJIL. Tambin
he actualizado la aplicacin FaceDetect-Android por lo que es obras para la corriente SDK de
Android (y se ejecuta en el T-Mobile G1). Es un detector de cara simple. Capturar una imagen y
dibuja una caja verde alrededor de la cara, o una gran X roja si no encuentra nada. Esto es, por
desgracia, redundante con el G1, ya que viene con el cdigo de deteccin de rostros construida
en pero el cdigo es quizs todava til, ya que el clasificador Haar utilizado para la deteccin
de rostros tambin puede dirigirse a otros clasificadores, y en cualquier deteccin de rostros
caso es fresco y es bueno tener ms de una. Usted tendr que obtener FaceDetect en Android
desde el rbol de cdigo fuente para obtener el cdigo, no poda encontrar la manera de
cargar una aplicacin se puede ejecutar en el telfono de aqu (y sin problemas para acceder,
etc.)
Actualizacin, 15/05/2008 : Me divide JJIL en una biblioteca central, todava se llama JJIL, y dos
bibliotecas dependientes de la arquitectura, JJIL-J2ME y JJIL-J2SE. Esto afect la estructura de
rbol de fuentes y las descargas. Usted tendr que enlazar con JJIL y JJIL-J2ME si usted est
construyendo cdigo J2ME-dependiente, y JJIL + JJIL-J2SE si usted est construyendo para J2SE.
Fuente: https://code.google.com/archive/p/jjil/
Por qu usar OpenCV en Android?
Mientras que la mayora de las aplicaciones de Android estn escritas en Java, en 2009 se
anunci Android Native Development Kit (NDK). Android NDK permite a los desarrolladores
implementar parte de las aplicaciones utilizando lenguajes de cdigo nativo como C / C ++.
OpenCV es una biblioteca de funciones de programacin centrada principalmente en la visin
por computador. El lanzamiento de Android NDK permite a los desarrolladores utilizar cdigo
OpenCV optimizado en Android.
Hay otra biblioteca se puede utilizar para el procesamiento de imgenes en Android, OpenCV
se elige debido a la eficiencia y la documentacin rica. Una de las bibliotecas de procesamiento
de imgenes para Android es JavaCV, que es un contenedor para OpenCV. JavaCV contiene
casi toda la funcin que tiene OpenCV, pero no tiene ninguna documentacin rica para
encontrar las funciones para su proyecto.
Fuente: http://eprints.utar.edu.my/1213/1/IA-2014-1101843-1.pdf
En este punto ya se tiene claro que la tarea de manera global no requiere nicamente de una
herramienta para tratar imgenes, sino que, tambin necesita de un software que colabore
con el anlisis de la imagen. Investigando se ha encontrado dos libreras compatibles con el
SDK para Android, la Librera OpenCV y de la Librera Jons Java Imaging Library (JJIL). Las dos
libreras son de cdigo abierto.
OpenCV
Open Source Computer Vision Library (OpenCV), es una biblioteca o librera de software de
cdigo abierto dedicada para la visin artificial y aprendizaje de mquina o aprendizaje
automtico. OpenCV fue construido para proporcionar una infraestructura comn para
aplicaciones de visin artificial y para acelerar el uso de la percepcin de la mquina
(interpretacin de los datos) en los programas comerciales ya existentes. Al ser un producto de
licencia BSD (Berkeley Software Distribution), OpenCV facilita a las empresas utilizar y
modificar el cdigo.
OpenCV tiene ms de 2500 algoritmos optimizados, que pueden ser utilizados para muchas
aplicaciones como las siguientes:
- identificar objetos
- clasificar las acciones humanas en videos
- unir imgenes para producir en conjunto una imagen de alta resolucin de una completa
escena
- reconocer paisajes
Cuenta con interfaces de C++, C, Python, Java y MATLAB. Es compatible con los sistemas
operativos Windows, Linux, Android y Mac OS. Cuando se trabaja con aplicaciones de visin
artificial en tiempo real, OpenCV puede aprovechar las instrucciones MMX11 y SSE12 cuando
estn disponibles en los procesadores (CPUs).
Para finalizar esta seccin se pasa a revisar el paquete OpenCV disponible para Android y las
facilidades que ofrece la librera para su uso. Segn sus necesidades, el desarrollador puede
descargarse el paquete OpenCV desde el sitio web oficial en la seccin de descargas, en el caso
de las versiones para Android, el paquete viene comprimido en formato ZIP con el nombre de
OpenCVversion-android-sdk, donde version es la versin de OpenCV, por ejemplo la ltima
versin estable es la 2.4.9.
La biblioteca JJIL est diseada de tal manera que brinde eficiencia al usarla sobre los telfonos
inteligentes (que normalmente poseen reducida capacidad de clculo y memoria RAM), y que
tenga un aceptable rendimiento en el procesamiento de imagen tanto en el dominio del
tiempo como en el dominio del espacio.
En la creacin de JJIL, adems del lenguaje Java tambin se han usado perfiles y plataformas
que as mismo como brindan eficacia tambin ocasionan significativas restricciones en la
librera, en particular las caractersticas empleadas (perfiles y plataformas) no soportan
clculos con punto flotante, y no son compatibles con algunas caractersticas del lenguaje Java,
como es el caso de los tipos genricos, que no son soportados.
La biblioteca JJIL incorpora las ms comunes operaciones para hacer procesamiento y anlisis
de imagen. Dentro de las operaciones de procesamiento estn la umbralizacin, ecualizacin
del histograma, conversin de un sistema de color a otro, reduccin de tamao de la imagen,
transformacin espacial (cambio de posicin de los pixeles, rotacin, traslacin), filtrado
(deteccin de borde) y agrupacin (segmentacin, agrupacin de pixeles dividiendo la imagen
de manera imaginaria en una cierta cantidad de regiones).
Estructuralmente JJIL est basado en dos conceptos centrales denominados Image (Imagen) y
Pipeline Stage (Fase de Canalizacin). Es as que tener una Imagen significara tener un objeto
que almacena la informacin de una imagen con un tamao definido, adems en este objeto
se tendrn algunos mtodos que entre otras cosas permitirn el acceso a los datos como un
vector. La etapa de canalizacin o tubera es un poco ms compleja y recibe como parmetro
de entrada una imagen y entrega como salida otra imagen.
Los aspectos principales que impiden trabajar de manera cmoda con la librera JJIL son:
carencia de suficiente y adecuada documentacin, falta de ejemplos y la explicacin
generalizada de los algoritmos de procesamiento. Tan solo dos ejemplos son los que se
destacan (se hace una explicacin muy detallada) en JJIL, uno donde se hace deteccin de
cdigo de barras y otro que permite la deteccin del logotipo de Android.
Haciendo comparacin de las dos libreras estudiadas, JJIL tiene menos paquetes que OpenCV
y requiere de mayor tiempo de procesamiento que OpenCV, adems JJIL no tiene su
repositorio actualizado de forma permanentemente, es por ello que normalmente la biblioteca
se la utiliza copiando y pegando los elementos necesarios dentro del directorio adecuado del
proyecto, esta accin permite acomodar la librera a la versin de Android con la que se est
trabajando.
Fuente: http://bibdigital.epn.edu.ec/bitstream/15000/11431/1/CD-6476.pdf
Visin mvil es un marco interesante por Google. Este marco tiene la capacidad de
detectar objetos en fotos y videos. S, has ledo bien! Puede detectar objetos en vdeos
tambin.
Lo que todo se puede detectar en fotos y videos ??
Actualmente, Android API puede detectar
-Face
-Barcode
-Text
IOS API puede DetectOnly 2 cosas, la cara y el cdigo de barras.
Hay pocos API en la nube para mviles, pero de Google Mobile Vision funciona sin
nubes. As que ahora puede detectar rostros, cdigos de barras y texto en la imagen o
el vdeo por tener instalado en un dispositivo API.No se requiere llamada de red para
detectar todos estos.
API visin mvil incluye detectores que localizan los objetos visuales en las imgenes
o fotogramas de vdeo. Esta API devuelve la posicin de un objeto en imgenes o
Detector de rostro:
-Este API de seguimiento de caras humanas en imgenes fijas, vdeo grabado por la cmara y
mvil.
-Es pistas de puntos de referencia faciales como los ojos y la nariz.
-Es proporciona informacin sobre el estado de caras humanas. Actualmente, la API cara
androide apoya solamente 2 clasificaciones: los ojos abiertos y la cara sonriente.
-Es capaz de realizar un seguimiento de mltiples caras en un marco.
Usted puede tratar de deteccin de rostros por pasos mencionados en los laboratorios de
Google de cdigo para la deteccin de rostros.
ImageSource: Google doc visin mvil
Esta API se puede utilizar para crear controles de manos libres para juegos y
aplicaciones. P.ej. reaccionar cuando una persona sonre o guio.
Nota: Esta API no es compatible con el reconocimiento de caras, ya que no determina 2 caras
son probable que corresponden a la misma persona.
Cdigos de barras 1D: EAN-13, EAN-8, cdigo 39, cdigo 93, cdigo 128, UPC-A, UPC-E, ITF,
Codabar
cdigos de barras -2D: PDF-417, azteca, QR, Data Matrix
lo ms importante es que puede detectar mltiples cdigos de barras a la vez y trabajar en
cualquier orientacin. Usted puede tratar de cdigo de barras cdigo de laboratorio para
integrarlo en su aplicacin.
Detector de texto:
Esta API puede detectar texto en cualquier lengua latina (francs, alemn, Ingls,
etc.). El desarrollador puede obtener el texto en segmentos. Los segmentos pueden
ser de bloques, lneas y palabras. La imagen de abajo se explican los bloques, lneas y
palabras conceptos.
ImageSource: Google doc visin mvil
Esta API puede ayudar en la lectura de tarjetas de visita, trabajo de entrada de datos,
convertir un archivo de texto de una imagen, etc. Esta API tambin funciona en la
cmara en vivo. el texto podra ser identificado en cualquier secuencia.
Limitaciones:
detector de -Face no es compatible con el reconocimiento de rostros. Esto no tiene la
capacidad de identificar 2 caras idnticas.
Detector -Face slo admite 2 clasificaciones
-Eyes abrir
-Smiling
detector -Text lee al azar. Existe la posibilidad de que vuelva texto en una secuencia
diferente de la secuencia de texto marco. Pero devuelve la posicin del texto, que
puede ser til para organizarlas en secuencia.
Detector -Text no es fiable al 100%
http://www.techjini.com/blog/mobile-vision-api/