• No results found

CHAPTER 6: RELIABILITY MODELS

6.4 Data Projection

En el mercado existen múltiples soluciones tanto libres como propietarias enfocadas a la vi- sión por ordenador y la realidad aumentada. Entre las más interesantes se destacan:

OpenCV

OpenCV es una biblioteca libre de visión artificial desarrollada inicialmente por Intel. Su uso está muy extendido gracias además de a su potencia, a que se distribuye bajo licencia BSD, que permite que sea usada libremente para propósitos comerciales y académicos con ciertas condiciones.

Con más de 500 funciones, su programación se realiza en código C y C++ y se distribuye de forma multiplataforma para GNU/Linux, Mac OS X, Windows y se ha incluido una versión para Android en las últimas versiones.

OpenSURF

OpenSURF es una librería creada por Chris Evans. Proporciona una implementación libre del algoritmo SURF en diversos lenguajes como C#, Objetive C, Java, CUDA o Android.

ARToolkit

ARToolKit es una librería desarrollada inicialmente por Hirokazu Kato y apoyado por el la- boratorio de tecnología en interface humano (HIT Lab) de la universidad de Washington, el

HIT Lab de la universidad de Canterbury en Nueva Zelanda y por ARToolworks Inc en Sea- ttle.

Está enfocada hacia la realidad aumentada, ofreciendo diversas funciones como métodos para calibrar la cámara, administrar OpenGL, usar de marcadores, etc.

Se ha publicado un software multiplataforma para crear aplicaciones de realidad aumentada sin conocimientos de programación, ATOMIC Authoring Tool.

Se autoriza su uso de forma gratuita para usos no comerciales bajo licencia GNU GPL. Las li- cencias comerciales son administradas por ARToolworks Inc, debiendo contactar con ellos a fin de conocer las diversas tarifas.

BoofCV

BoofCV es una librería de código abierto escrita en java destinada a ser una solución para aplicaciones robóticas y de visión por ordenador en tiempo real. Sin llegar a ser tan completa como puede serlo OpenCV, ofrece multitud de funcionalidades para el procesamiento de imá- genes como interpolación, reducción de ruido, covolucion, detección de puntos, lineas, cali- braciones, etc.

Se distribuye bajo licencia Apache tanto para uso comercial como académico.

Por último, reseñar que el autor ha creado una aplicación para android donde se puede com- probar el rendimiento de las distintas utilidades.

D'Fusion Studio

Es un software de la empresa Total Inmersion diseñado para la creación de aplicaciones de realidad aumentada con distribución no comercial en su modo gratuito.

ARPA

Es otro kit de desarrollo pensado para la creación de aplicaciones de realidad aumentada basa- das en el tracking 2D.

Vuforia provee un kit de desarrollo que facilita la creación de aplicaciones de realidad aumen- tada basadas en el 2DTracking. Incluye una serie de clases y métodos nativos preconstruidos que simplifican en gran medida el desarrollo. Se distribuye con soporte para iOS, Android y Unity3D libre del pago de tarifas por licencias.

En el momento de elegir la mejor solución a implementar en el proyecto, el sdk de Vuforia es- taba escrito en C++ aunque posteriormente se lanzó una versión escrita en Java.

ARLab

ARLab ofrece una serie de SDK en función de las necesidades del desarrollador. Ofrece tanto tracking 2D como tracking 3D de elementos con formas básicas como esferas, cilindros o cu- bos. No se ofrece una versión gratuita de prueba sino que existen diferentes precios por App y SDK contratado.

ARmedia

Una de las opciones más interesantes sin duda es ARmedia. Ofrece tecnología de seguimiento 3D (3D Tracking). Permite el desarrollo de aplicaciones tanto para iOS como para Android. Ofrecen la posibilidad de probar el SDK, pero hay que solicitar una prueba gratuita a su servi- cio de ventas y en cambio ofrece 3 modalidades de suscripción: Entry: 1 mes, Pro: 6 meses, Business: 12 meses.

Metaio

Es la empresa líder del sector, o así se anuncian. Proveen todo tipo de servicios relacionados con la realidad aumentada, 2D Tracking, 3D Tracking, Tracking basado en ficheros CAD con soporte para iOS, Android y Windows. Ofrecen su SDK de forma gratuita mientras se man- tenga la marca de agua en pantalla, exceptuando el tracking basado en uso de ficheros CAD. Para obtener una versión comercial de su SDK existen dos tarifas, una básica para la licencia en 2D Tracking y la licencia PRO que incluye 3D Tracking. Son licencias sin caducidad por lo que no requieren renovarlas.

6.1.1 Elección de la más adecuada

Para construir la aplicación se valoraron las distintas ofertas existentes en el mercado. Era de sentido común optar desde un primer momento por un kit de desarrollo que simplificase en gran medida el trabajo del desarrollador. Por tanto, librerías como OpenCV o BoofCV que ofrecen funciones realmente muy potentes pero que a su vez habrían conllevado un período de desarrollo de la aplicación mucho mayor fueron desechadas.

Los kit de desarrollo de realidad aumentada tienen la ventaja de administrar las distintas ta- reas del proceso. Administran la extracción de características o descriptores, buscan coinci- dencias en la base de datos, calculan la pose y renderizan el modelo 3D.

Otro filtro determinante es el lenguaje de programación. Librerías como OpenCV o el SDK de Vuforia a día de la elección se encontraban unicamente escritas en C++.

Android permite el uso de código C o C++ en sus aplicaciones pero añade un alto grado de complejidad al desarrollo. En el caso de querer utilizar código escrito en este lenguaje, se debe hacer uso de la herramienta Android NDK (Native Development Kit). El código nativo en C o C++ se escribirá en los archivos basados en JNI (Java Native Interface) acompañados de dos archivos Aplication.mk y Android.mk necesarios para el proceder del NDK.

Por ello, aunque se hicieron varios test de 2D Tracking con el SDK de Vuforia se relegó su uso a último recurso.

Finalmente la elección redujo a dos opciones, las que integran el 3D Tracking entre sus carac- terísticas. El SDK de ARmedia, y el de Metaio.

ARmedia por su parte muestra unas características realmente interesantes también. Al igual que Metaio, ofrece herramientas para crear el TrackingMap de forma sencilla siguiendo otros procedimientos que pueden ofrecer un rendimiento superior al Toolbox de Metaio. Sin embar- go, solo ofrecen una prueba del SDK previo contacto con su departamento de ventas, lo que unido a la facilidad de uso de Metaio le dejan como segunda opción.

tener restricciones en el número de Apps creadas. Además, las herramientas auxiliares Tool- box y Metaio Creator poseen un diseño intuitivo.

6.2 MetaioSDK

Metaio provee un kit de desarrollo tanto para el sistema operativo Android como para IOS y Windows. Una de las principales ventajas es que facilita una serie de clases preconstruidas que nos simplifican en gran medida el desarrollo. La evidencia de esto se demuestra al rende- rizar un modelo 3D o al acceder a las funciones de la cámara del dispositivo.

Por otra parte ofrece la posibilidad de utilizar nuestro propio código maximizando la capaci- dad de personalización.

El SDK se oferta en tres modalidades:

– Una licencia básica que permite la publicación de aplicaciones basadas en el 2D Tra- cking.

– Una licencia Pro que incluye entre otros aspectos, la publicación de aplicaciones basadas en el 2D Tracking, su tecnología patentada de 3D Tracking tanto Markerless como basadas en datos CAD. También incluye una versión 100 % operativa de la herramienta Metaio Creator.

– La licencia gratuita o demo utilizada en este proyecto resulta a coste 0 asumiendo ciertas restricciones que se explicarán a continuación.

Versión gratuita

Dado el precio de las licencias (2950€ para la versión básica y 4950€ para la PRO), el presu- puesto inexistente para este proyecto y sus fines académicos no se planteó la idea de desem- bolsar cantidad alguna en la adquisición de una licencia. Bien es cierto que Metaio ofrece un 50% de descuento en sus producto para estudiantes pero aún con ello resulta inviable para el proyecto. En su lugar se optó por utilizar la versión gratuita, la cual contiene ciertas limita- ciones de uso.

Esta versión no apta para uso comercial, permite utilizar la mayoría de funcionalidades del SDK aceptando la inclusión de la llamada marca de agua de Metaio durante el tiempo de eje- cución del Tracking.

Metaio Creator

Metaio Creator es una herramienta indispensable cuya función principal en este proyecto fue situar de una forma gráfica el modelo 3D sobre la nube de puntos y posteriormente exportar los llamados Tracking configuration files que contienen todos los datos indispensables para realizar el Tracking.

Las limitaciones de la versión gratuita vienen dadas por la imposibilidad de importar más de dos “trackables”, en nuestro caso los ficheros *.creator3dmap. También se ve mermada la opción de añadir modelos 3D a la escena permitiendo unicamente visualizar 2 modelos 3D si- multáneamente. Este último hecho no influyó en el resultado final, pues el SDK permite aña- dir varios elementos a la escena.

Otra característica reservada a la versión de pago, quizá la más interesante, es el uso de “tra- ckables” basados en datos CAD.

Related documents