Deteccion del parpadeo de los ojos mediante OpenCV


OpenCV es una biblioteca libre de visión artificial originalmente desarrollada por Intel. Desde que apareció su primera versión alfa en el mes de enero de 1999, se ha utilizado en infinidad de aplicaciones. Desde sistemas de seguridad con detección de movimiento, hasta aplicativos de control de procesos donde se requiere reconocimiento de objetos. Esto se debe a que su publicación se da bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y de investigación con las condiciones en ella expresadas.

Open CV es multiplataforma, existiendo versiones para GNU/Linux, Mac OS X y Windows  conteniendo  más de 500 funciones que abarcan una gran gama de áreas en el proceso de visión, como reconocimiento de objetos (reconocimiento facial), calibración de cámaras, visión estérea y visión robótica.

El proyecto pretende proporcionar un entorno de desarrollo fácil de utilizar y altamente eficiente. Esto se ha logrado, realizando su programación en código C y C++ optimizados, aprovechando además las capacidades que proveen los procesadores multi núcleo. OpenCV puede además utilizar el sistema de primitivas de rendimiento integradas de Intel, un conjunto de rutinas de bajo nivel específicas para procesadores Intel.

Veamos algunos ejemplos que usan esta biblioteca:

http://www.youtube.com/watch?v=v0UNbB_vyrM

Esta fantástica  aplicación creada  por  Martin Polak  es capaz de detectar parpadeo de los ojos mediante el cálculo de flujo óptico en la zona de los ojos dentro de la imagen estabilizada de cabeza. Cuando el usuario  ha cerrado los ojos durante más de 5 segundos, la aplicación comienza a sonar para despertarlo . El algoritmo hace uso de OpenCV, una biblioteca de la visión por ordenador de código abierto y el software de aprendizaje automático.

Esta aplicación  se podría  usar   utilizar dentro de los vehículos para evitar permitir dormir  al conductor detrás del volante u otras aplicaciones

bblinking

Por otro lado la aplicación  Eye Location, disponible gratuitamente en Google play aqui  intenta localizar los centros de los ojos de una persona que la cámara está capturando en tiempo real. Se basa en un algoritmo de visión por ordenador que explota la información de crominancia del ojo y la simetría radial del iris con el fin de localizar los centros de los ojos. El algoritmo hace tambien uso de OpenCV, una biblioteca de la visión por ordenador de código abierto y el software de aprendizaje automático. La detección de la cara se realiza utilizando una función de detector de rostro del OpenCV. La aplicación funciona de manera óptima en ambientes bien iluminados, donde se capturan las imágenes con buenos niveles de contraste.

Acceso en Google Play

ÁREAS DE APLICACIÓN DE ESTE TIPO DE APLICACIONES DE RECONOCIMIENTO

•Tipificación de ojos :La función de la tipificación del ojo utiliza la dirección de la mirada y del ojo parpadea para componer mensajes o realizar otras acciones. El objetivo final es ayudar a las personas con ELA, lock-in síndrome, tetraplejia o cualquier otra persona que sólo puede mover los ojos con el uso de su dispositivo de mano para comunicarse, navegar por Internet o facilitar otras tareas cotidianas.
Desplazamiento inteligente : Similar a la característica del Samsung Smart Scroll, que actualmente se basa en el reconocimiento de rostros y de inclinación (http://mashable.com/2013/03/14/smart-scroll/), desplazamiento inteligente puede optimizarse aún más al detectar el cambio de la dirección de la contemplar.
• Spoof prueba cara de desbloqueo:  La característica de la cara de desbloqueo se puede suplantar por lo general usando una foto de el propietario (http://www.geek.com/android/android-face-lock-feature-spoofed-by-photograph-1440953/). Desbloqueo facial puede hacerse más fiable mediante la introducción de un «cheque liveness ‘: una vez a la cara se verifica, el usuario está obligado a seguir un punto en movimiento al azar con sus ojos.
• Estimación de la dirección de la mirada de asistencia al conductor:Al montar el teléfono móvil en el salpicadero de un vehículo, una aplicación de estimación mirada podría supervisar y evaluar la vigilancia del conductor, determinando si el foco del conductor de atención está en el camino.
Evaluaciones de usabilidad:Los movimientos oculares y fijaciones proporcionan una indicación de la cantidad de procesamiento cognitivo requiere una pantalla y por lo tanto lo fácil que es para procesar, lo que conduce a la posible utilización de seguimiento de los ojos de contribuir a la evaluación de la usabilidad de las interfaces de usuario.

 

Para poder crear proyectos haciendo uso de esta librería con Visual Studio , se deben seguir los siguientes pasos:

  1. Bajar OpenCV desde aquí (por ejemplo  la 2.4.0
  2. Hacer doble click al ejecutable. Esto descomprimirá los archivos. Elegir una ubicación para OpenCV y descomprimir (Yo elegí C:\, pero pueden elegir cualquier otra, por lo cual de ahora en  más me referiré a esa ruta elegida como INSTALL_PATH, pero esto debe ser reemplazado SIEMPRE por la ruta que eligió.
  3. Ir a Inicio y escribir en la barra de búsqueda «Variables del sistema». Click en el resultado que aparece como «Editar las variables de entorno del sistema».
  4. Dentro de la pestaña ‘Opciones Avanzadas’ ir a ‘Variables de Entorno’.
  5. En la nueva ventana, buscar dentro del segundo listado (variables del sistema) una variable llamada Path. Seleccionarla y hacer click en editar.
  6. Ir al final del textbox ‘Valor de la variable’, agregar un punto y coma, y agregar las siguientes dos ubicaciones, también separadas por un punto y coma:
    • INSTALL_PATH\opencv\build\x86\vc10\bin
    • INSTALL_PATH\opencv\build\common\tbb\ia32\vc10

    donde
    *ia32 es en caso de tener Windows x32, sino ingresar a intl64.
    *vc10 es en caso de tener Visual C 2010. En caso de tener Visual C 2008, elegir vc9.

Luego, abrir un proyecto existente que utilice OpenCV (éste, por ejemplo), seleccionarlo en el ‘Explorador de soluciones’ y hacer click derecho para seleccionar ‘Propiedades’.

En propiedades dirigirse a:

  • C/C++
    Agregar los siguientes directorios en Additional Include Directories:

    • INSTALL_PATH\opencv\build\include\opencv
    • INSTALL_PATH\opencv\build\include
  • Linker->General
    Agregar el siguiente directorio en Additional Library Directories:

    • INSTALL_PATH\opencv\build\x86\vc10\lib
  • Linker->Input
    Agregar el siguiente listado, tendiendo en cuenta que

    • debe reemplazarse el número por la versión de OpenCV que se utiliza. Por ejemplo, 242 para la versión 2.4.2 o 240 para la 2.4.0.
    • debe quitarse la letra ‘d’ final, si se trata de un Release Project.

opencv_core240d.lib
opencv_imgproc240d.lib
opencv_highgui240d.lib
opencv_ml240d.lib
opencv_video240d.lib
opencv_features2d240d.lib
opencv_calib3d240d.lib
opencv_objdetect240d.lib
opencv_contrib240d.lib
opencv_legacy240d.lib
opencv_flann240d.lib

Si se tratara de una solución, y no de un proyecto simple, repetir esto en cada proyecto.

 

Más información aquí

Como eliminar la molesta publicidad intrusiva en Android


El uso de Smartphone se ha disparado, y algunos anunciantes han comenzado a experimentar con nuevas técnicas agresivas, para mostrar anuncios en los dispositivos móviles. Esto incluye anuncios empujando a la barra de notificaciones estándar de Android, dejando caer los iconos diseñados de forma genérica en el escritorio móvil, y la modificación de la configuración del navegador como marcadores o la página de inicio.

A lo largo de la historia de este blog hemos hablado muchas veces sobre problemas de seguridad en Android, especialmente centrándonos en temas de malware, un problema que siempre ha estado presente en Google Play. En realidad nunca ha sido demasiado problemático, y el tema de los virus en Android siempre ha sido un tema muy controvertido, ya que no queda del todo claro el peligro real que estos representan, sin embargo hay un problema que, si bien no siempre puede llegar a ser peligroso, si que es muy molesto. Hablamos de la publicidad no deseada, aquella que aparece en aplicaciones e incluso se cuela en nuestra barra de notificaciones, realmente molesta y que en algunos casos puede llegar a enviar información privada desde nuestro teléfono al exterior, es decir, de violar claramente nuestra privacidad.  Normalmente esta publicidad se introduce en aplicaciones para hacerse con datos de los usuarios con consentimiento de los desarrolladores, que quizás no sean del todo conscientes del peligro que conllevan. Aunque, eso sí, el porcentaje de aplicaciones con este problema es muy pequeño y no supera el 5%, por lo que aunque podamos sentirnos a salvo, siempre viene bien tomar alguna precaución, y hay aplicaciones que nos ayudan a ello.

Debido a que cada una de estas técnicas pueden mostrar un anuncio fuera del contexto de una aplicación específica, es muy difícil para los usuarios saber exactamente qué aplicación es responsable de cualquier anuncio determinado.

También es común para las redes de anuncios para recopilar información que identifica a un dispositivo o usuario específico para su uso en campañas de marketing. Al igual que para los anuncios basados ​​en el navegador, esta práctica permite a los usuarios ver más anuncios personalizados o relevantes. A pesar de permisos basados ​​en acceso a la información, a menudo es difícil para los usuarios a entender qué aspectos de su información se recogió mediante redes de anuncios.

 

Veamos algunas aplicaciones que nos pueden ayudar en la lucha contra la publicidad no deseada en nuestro terminal:

 

 
AppBrain Ad Detector

Esta aplicación gratuita analiza todas nuestras aplicaciones y nos avisa de los problemas que podemos tener relacionados con malware dentro de anuncios y publicidad, ya llegue por push, a la barra de notificaciones o esté integrada en nuestras apps.

La lista de aspectos que analiza de cada aplicación para comprobar todo esto es enorme, y alcanza las 70, entre las que encontramos notificaciones push, iconos de spam o aplicaciones que tienen acceso a utilidades de tu Android que no deberían tener.

appbrain

No es una aplicación para bloquear anuncios, simplemente nos avisa de actividad sospechosa de ciertas aplicaciones, pero realmente útil.

AppBrain Ad Detector en Google Play

 

 

 

Lookout Ad Network Detector

Muy similar a la anterior, analiza todas tus aplicaciones en búsqueda de rastros de las más comunes redes de anuncios que invaden nuestro teléfono de publicidad potencialmente peligrosa, dándonos información sobre los tipos de anuncios que cada aplicación puede mostrar y qué información recopilan para enviar a estas redes.

Es por lo tanto una forma de obtener toda la información posible sobre lo que estas aplicaciones y su publicidad pueden saber de nosotros. No bloquea anuncios ni los elimina, simplemente nos ayuda a saber cuáles de estos pueden llegar a ser peligrosos para nuestra privacidad.

Lookout Ad Network escáner y detector escanea su terminal Android para detctar la presencia de redes de anuncios en su dispositivo. Con Detector de red Ad Lookout, podrá entender las capacidades de redes publicitarias y ver qué tipo de información privada que están accediendo proporcionando un método para que los usuarios determinen qué red de publicidad y aplicación son las fuentes para este tipo de anuncios.

Esta app  le da una idea de que tipos de anuncios se pueden mostrar , y qué información es recogida por las redes publicitarias. Con fácil acceso a esta información, usted será capaz de decidir si desea mantener la aplicación que tiene ciertas redes de anuncios en su teléfono. Hemos diseñado Ad Network escáner y detector para hacer las prácticas de apoyo a la publicidad móvil más transparente para el usuario medio.

llokout

Lookout Ad Network Detector en Google Play.

 

 

Air Push Detector

airpush

Esta es una sencilla aplicación Android que detecta otras aplicaciones instaladas que parecen utilizar conocidos ad marcos de notificación y ofrece al usuario la capacidad de desinstalar fácilmente.Si el dispositivo se está ejecutando Android 4.1 «Jelly Bean» o superior, no necesita esta aplicación ya! Sólo puede mantener pulsado sobre las notificaciones y el dispositivo le dirá que los está generando.Actualmente estos son los frameworks detectados por esta herramienta:
– Airpush
– LeadBolt
– Appenda
– IAC
– Moolah Medios
– SendDroid
– AppBucks
– Kuguo
– AppLovin ‘

Esta aplicación no * BLOQUE * Estos anuncios. No sólo te dice qué aplicaciones están causando ellos. Debe desinstalar las aplicaciones de esta aplicación identifica para detener los anuncios.

NO HAY OFICIAL de PAGAO O VERSIÓN «PRO» de esta aplicación. Si usted encuentra una aplicación con un nombre similar, la descripción y las capturas, las probabilidades son fuertes simplemente han tomado el código fuente y reeditado como propio sin cambios significativos.

Si el equipo falla, utilizando la función «Report» de Android es probable que te lo arreglen. Dejar comentarios sin ninguna información útil no es 🙂

Esta aplicación es de código abierto – consulte la página de desarrollo para el código fuente completo.

Aitr Push detector en Google Play

 

Air Push Finder

apushfinder

 

¿Le han molestado por Ad. notificación? Airpush Buscador podría ayudarle a encontrar y eliminar las aplicaciones con notificación Airpush fácilmente.

La velocidad de búsqueda de Airpush Finder es muy rápido, sólo necesitan segundo par. Y Airpush Buscador puede detectar las nuevas aplicaciones Airpush / AdLocus.

Es muy fácil de usar Airpush Finder, sólo tienes que abrir Buscador Airpush, entonces usted podría ver lo que el uso de aplicaciones de la notificación Airpush. Si encuentran cualquier aplicación, sólo toca para eliminar la aplicación.

Si usted encuentra cualquier aplicación con la notificación del anuncio. pero Airpush Finder no puede encontrarlos, por favor no dude y póngase en contacto conmigo, gracias.

Air Push Finder en Google Play

 

 

Suspicious Apps

Y por último una pequeña herramienta relacionada con todos estos temas de seguridad en nuestro Android que nos puede venir muy bien para saber exactamente qué está haciendo cada aplicación en nuestro terminal , ya que muchas veces tienen acceso a más de lo que deberían.

suspicius

Suspicious Apps se encarga de analizar todas las apps que tenemos instaladas para informarnos de los derechos a los que tienen acceso y analizar si es raro que tengan acceso a algunos de estos para desarrollar la actividad primaria a la que se tiene que dedicar.

Esta aplicación te ayuda a buscar otras aplicaciones, solicitando sospechosamente mucho privilegios – lo cual  a veces puede señalar que una aplicación sea maliciosa.

Ha instalado muchas aplicaciones sin comprobar los permisos solicitados? Ahora estás preguntando si todo está bien y cada aplicación está haciendo lo que se supone que debe hacer?
Usted tiene miedo de ser spyed por sus aplicaciones? Usted desea proteger su privacidad?

Esta aplicación le ayuda a buscar que los permisos de otras aplicaciones han solicitado y que más o menos lo peligroso estima una aplicación podría ser si era malicioso.

De este modo podemos saber qué aplicaciones están haciendo más de lo que deberían o tienen información que no deberían tener. Muy útil.

Suspicious Apps en Google Play