FreeTrack es una aplicación de seguimiento de movimiento óptico para Microsoft Windows , publicada bajo la Licencia Pública General GNU , que puede utilizarse con cámaras comunes y económicas. Su principal función es el seguimiento de la cabeza, con aplicaciones en realidad virtual , simulación , videojuegos , modelado 3D , diseño asistido por ordenador y computación manos libres en general para mejorar la accesibilidad informática . El seguimiento puede configurarse con la suficiente precisión como para requerir solo pequeños movimientos de cabeza, de modo que los ojos del usuario nunca se aparten de la pantalla.
Se coloca una cámara para observar un modelo de puntos rígidos que lleva el usuario, cuyos puntos deben aislarse de la luz de fondo mediante filtrado físico y por software. El movimiento se rastrea con hasta seis grados de libertad (6DOF): guiñada, cabeceo, balanceo, izquierda/derecha, arriba/abajo y adelante/atrás. Se admiten dispositivos de vídeo compatibles con Windows, como cámaras web , así como la cámara especial del mando de Nintendo Wii , la cámara Truedepth del iPhone con Eyeware Beam y las cámaras NaturalPoint ( TrackIR , SmartNav y OptiTrack).
FreeTrack puede enviar datos de seguimiento de cabeza directamente a los programas mediante su propia interfaz abierta, así como a través de las interfaces TrackIR , SimConnect y FSUIPC. Los programas que admiten estas interfaces se consideran compatibles con FreeTrack . FreeTrack también puede emular el ratón , el teclado y el joystick (mediante PPJoy) si un programa no admite una interfaz directa.
FreeTrack está programado en Delphi 7 y utiliza DirectShow y DirectX . El seguimiento de la cabeza se logra mediante implementaciones del algoritmo iterativo de estimación de pose de cuatro puntos (POSIT) de DeMenthon [ 1 ] y el algoritmo geométrico de tres puntos de Alter [ 2 ] .
Software
FreeTrack utiliza una cámara para recopilar información en tiempo real sobre el modelo de puntos que lleva el usuario. En concreto, las coordenadas de imagen de los puntos del modelo, que se reciben directamente de la cámara o se extraen de una transmisión de vídeo. Estas coordenadas se utilizan para generar una estimación de la postura real de la cabeza, que el usuario puede transformar de diversas maneras para crear una postura virtual. Una de las transformaciones más básicas consiste en amplificar la rotación para que solo se requieran pequeños movimientos de la cabeza. Finalmente, la postura virtual se envía a la salida que elija el usuario. Todo esto se realiza en segundo plano, y el estado del seguimiento se muestra en la bandeja del sistema .
Se encuentra disponible una vista previa en 3D que muestra la posición y orientación de la cabeza virtual para una postura de cabeza real determinada, y puede visualizarse desde múltiples perspectivas, incluyendo la primera persona. Esto facilita enormemente las pruebas y permite experimentar con diferentes configuraciones.
Cada grado de libertad (eje) tiene una curva de respuesta que se puede modificar para cambiar el movimiento de la cabeza virtual ante un movimiento real de la cabeza. Esto se usa comúnmente para crear una zona muerta central que permita al usuario mayor libertad de movimiento.
Los botones del teclado, el ratón y el joystick se pueden usar para alternar la configuración de seguimiento, incluida la ubicación del centro virtual (como ajustar la posición del asiento en un coche) y para alternar individualmente los ejes y las salidas.
Para las cámaras NaturalPoint, FreeTrack ofrece funciones avanzadas y un nivel de personalización que no está disponible con el software oficial.
Cámara
Resolución
En la mayoría de los casos, una resolución de 320×240 es suficiente, ya que permite obtener una resolución de subpíxeles mucho mayor , suficiente para un control preciso del cursor en un monitor de alta resolución. Las resoluciones de 640×480 y superiores presentan rendimientos decrecientes y conllevan un aumento exponencial del uso de la CPU si no se comprimen lo suficiente antes de llegar al ordenador. Las resoluciones más altas cobran mayor importancia a mayor distancia de la cámara. La Wii utiliza un sensor de baja resolución de 128×96, que, según algunos usuarios, produce un seguimiento inestable y puede requerir suavizado para mejorar la estabilidad a costa de una menor capacidad de respuesta. [ 15 ]
Sensor
Para la misma resolución, los sensores monocromáticos pueden captar detalles más finos mucho mejor que los sensores en color debido a la falta de una matriz de filtros de color .
Velocidad de fotogramas
FreeTrack utiliza la interpolación con dispositivos de vídeo de baja velocidad de fotogramas para mejorar la fluidez del paneo. Sin embargo, la capacidad de respuesta está fundamentalmente limitada por la velocidad de fotogramas; una cámara web de 30 fotogramas/s tiene un retardo de respuesta máximo de 33,3 milisegundos, en comparación con los 8,33 milisegundos de una cámara de 120 fotogramas/s. Para poner esto en perspectiva, el tiempo de reacción de un ser humano a un estímulo visual (reflejo digital) suele ser de unos 200 ms; 30 ms se puede considerar como un ping competitivo en juegos online basados en reflejos, y la frecuencia de actualización de un monitor LCD suele ser de 17 ms.
Una mayor capacidad de respuesta proporciona una mayor sensación de control, pero dado que el movimiento virtual de la cabeza se amplifica, también puede provocar que se mueva a una velocidad poco realista. Por este motivo, algunos programas limitan la velocidad de movimiento de la cabeza, lo que reduce la capacidad de respuesta de las cámaras con mayor velocidad de fotogramas.
Ángulo
Un ángulo de visión más amplio permite una mayor área de seguimiento cuando el sujeto está cerca de la cámara. A mayor distancia, un ángulo amplio no es recomendable, ya que se desperdicia una mayor parte del encuadre y la resolución efectiva disminuye más rápidamente. Además, se puede percibir más luz periférica, lo que puede interferir con el seguimiento. El ángulo de visión se puede reducir mediante el zoom digital, aunque esto conlleva una pérdida de resolución.
uso de CPU
El mando de Nintendo Wii prácticamente no utiliza CPU, las cámaras NaturalPoint consumen una pequeña cantidad y los dispositivos de vídeo en general pueden consumir una cantidad considerable, dependiendo de la marca y la configuración específica de la cámara. Una PlayStation Eye funcionando a la misma resolución y velocidad de fotogramas que una TrackIR 4 exigiría mucho a una CPU de un solo núcleo. Sin embargo, las CPU multinúcleo modernas están reduciendo este problema. Siempre se puede disminuir la resolución y la velocidad de fotogramas para ahorrar recursos de la CPU.
Filtros
FreeTrack requiere que los puntos de seguimiento estén aislados de cualquier otra fuente de luz; esto se logra mejor utilizando LED infrarrojos y un filtro que bloquee la luz visible delante de la cámara. Se puede usar película fotográfica o el medio de almacenamiento magnético de los disquetes como filtros de luz visible económicos. Se puede realizar un filtrado adicional mediante software ajustando la exposición y el umbral.
Todos los dispositivos de vídeo, como las webcams, incorporan un filtro de bloqueo de infrarrojos que se puede retirar para mejorar la sensibilidad a la luz infrarroja, lo que permite un mejor aislamiento de puntos y la posibilidad de seguimiento retroreflectivo. Normalmente, este procedimiento es sencillo y reversible en la mayoría de las webcams.
Los mandos de Wii y las cámaras NaturalPoint están diseñados para el seguimiento de puntos por infrarrojos, por lo que ya cuentan con filtros que bloquean la luz visible.
Modelo de puntos
Configuraciones del modelo
- Punto único: un único punto de seguimiento, por ejemplo, fijado a una gorra de béisbol o a un cable que se extiende hacia delante de la cabeza. Se puede lograr fácilmente con una pequeña fuente de luz, como una linterna de bolsillo . A diferencia de otras configuraciones, esta se limita a dos grados de libertad (guiñada y cabeceo) y puede ser más sensible a la traslación que a la rotación.
- Clip de tres puntos: disposición triangular asimétrica de puntos que se pueden sujetar a los auriculares y colocar a un lado de la cabeza.
- Gorra de tres puntas: disposición triangular simétrica de puntas, generalmente unidas al borde de una gorra de béisbol.
- Gorra de cuatro puntas: disposición simétrica no coplanar de puntas, también unida al borde de una gorra de béisbol.
Es posible construir maquetas de forma casera y a bajo costo utilizando componentes electrónicos fáciles de conseguir. Algunos miembros de la comunidad FreeTrack también pueden adquirir kits de componentes y maquetas completamente ensambladas.
Puntos activos
Un modelo de punto activo utiliza LEDs visibles o infrarrojos (de 5 mm o más) para representar los puntos de seguimiento, alimentados por batería, transformador (adaptador de corriente) o USB . El circuito eléctrico es muy básico y puede ser construido por alguien con poca o ninguna experiencia en electrónica.
Los LED comunes, como los que se encuentran en los mandos a distancia , tienen un haz estrecho y muy concentrado, lo que no resulta adecuado para el seguimiento óptico del movimiento. Se pueden convertir fácilmente en LED de gran angular limando las puntas de sus lentes. Como alternativa, se pueden adquirir LED de gran angular en tiendas especializadas de electrónica, como el Siemens/Osram SFH485P infrarrojo, con un semiángulo de 40 grados.
Puntos de reflexión
Se puede utilizar material retrorreflectante para representar los puntos de seguimiento mediante iluminación con una fuente de luz infrarroja. Esta configuración no requiere cables ni baterías conectados al usuario, pero es más susceptible a la interferencia de la luz ambiental. En la mayoría de los casos, es necesario retirar el filtro interno de bloqueo infrarrojo de la cámara web para aumentar la sensibilidad lo suficiente como para que se pueda ver la luz infrarroja reflejada por los puntos de seguimiento.
Interfaz FreeTrack
FreeTrack cuenta con una interfaz sencilla que puede ser utilizada libremente por programas de terceros, como Eyeware Beam, para acceder a datos de seguimiento de 6 grados de libertad (6DOF), tanto mediciones reales como virtuales. Es independiente del hardware, por lo que no depende de una marca o versión específica y puede utilizarse sin restricciones. ARMA 2 de Bohemia Interactive es el primer juego en ser compatible con la interfaz FreeTrack [ 16 ] y GP Bikes es el primero en ofrecer soporte exclusivo [ 17 ] .
Interfaz TrackIR
FreeTrack es compatible con la versión no cifrada de la interfaz TrackIR de NaturalPoint para el seguimiento de la cabeza, que cuenta con un amplio soporte en juegos de simulación. NaturalPoint ha estado proporcionando a los desarrolladores de juegos una versión cifrada de la interfaz para los títulos más populares desde finales de 2008; estos se pueden identificar como aquellos que requieren la versión 4.1.036 o superior del software TrackIR y son incompatibles con FreeTrack. [ 18 ] Los desarrolladores del primer juego afectado, DCS: Black Shark , [ 19 ] intentaron lanzar su propia interfaz de seguimiento de la cabeza, pero poco después la cancelaron a petición de NaturalPoint. [ 20 ] La compatibilidad con FreeTrack aún es posible utilizando TrackIRFixer para eliminar el requisito de cifrado en los juegos. [ 21 ]
TIRViews.dll es un archivo de biblioteca de vínculos dinámicos distribuido con el software TrackIR que proporciona soporte personalizado para un pequeño número de juegos, en su mayoría antiguos , utilizando interfaces especiales o trucos de memoria para facilitar el control de la vista. [ 22 ] Aunque constituye una violación del EULA del software TrackIR , [ 23 ] es posible usarlo con FreeTrack.
El SDK de interfaz TrackIR de NaturalPoint solo está disponible bajo un acuerdo de licencia firmado [ 24 ] y está cubierto por un NDA , por lo que, si bien FreeTrack es software libre , el componente de interfaz TrackIR debe ser de código cerrado . [ 25 ]
Véase también
Referencias
- ↑ DeMenthon, Daniel; Larry S. Davis (1992). "Model-Based Object Pose in 25 Lines of Code". European Conference on Computer Vision . 15 : 335– 343. CiteSeerX 10.1.1.50.9280 .
- ↑ Alter, TD (1992). "Posición 3D a partir de tres puntos correspondientes bajo proyección de perspectiva débil". AI Memo . 1378 (AIM–1378): 43. CiteSeerX 10.1.1.18.1908 .
- ↑ "8.0 Mega 6 IR LED Webcam Cámara Skype MSN Mic" . Consultado el 07-09-2010 .
- ↑ "Uso de cámaras web ov519 (Eyetoy) con pdp/Gem (fotogramas jpeg)" . Consultado el 8 de mayo de 2010 .
- ↑ "Registro de cambios del SDK de la plataforma CL Eye" . Consultado el 30 de octubre de 2010 .
- ↑ "Cámara Xbox Live Vision en Ubuntu" . Archivado del original el 6 de enero de 2010. Consultado el 8 de mayo de 2010 .
- ↑ "Control automático de despegue, vuelo estacionario y aterrizaje para helicópteros en miniatura con hardware a bordo de bajo costo" (PDF) . Consultado el 8 de mayo de 2010 .
- 1 2 "Controlador de juegos con interfaz gráfica TrackIR3 Pro" . Ars Technica. 25 de agosto de 2004. Consultado el 13 de octubre de 2007 .
- ↑ "TrackIR2, Track IR2 headtracking compra, reseña, destacado" . Consultado el 8 de mayo de 2010 .
- 1 2 3 4 "Comparación de productos TrackIR" . NaturalPoint . Consultado el 13 de octubre de 2007 .
- ↑ "TrackIR 4 Grayscale" . 11 de junio de 2009. Consultado el 8 de mayo de 2010 .
- ↑ "TrackIR 5 Grayscale" . Archivado del original el 14 de julio de 2011. Consultado el 8 de mayo de 2010 .
- ↑ "Resolución y latencia de Wii" . Consultado el 7 de diciembre de 2010 .
- ↑ "Arma 2: Parche v1.05" . Consultado el 20 de julio de 2010 .
- ↑ "PiBoSo Alpha 6 lanzado" . Archivado del original el 15 de julio de 2011. Consultado el 16 de marzo de 2010 .
- ↑ "NaturalPointofView - El monopolio de NaturalPoint TrackIR" . Consultado el 20 de julio de 2010 .
- ↑ "Juegos mejorados con TrackIR : DCS: Black Shark" . NaturalPoint . Consultado el 26 de octubre de 2008 .
- ↑ Tez - Equipo ED (14 de noviembre de 2008). "Interfaz HeadTracker - Foros ED" . Eagle Dynamics . Consultado el 16 de marzo de 2010 .
- ↑ "NaturalPointofView - El monopolio de TrackIR de NaturalPoint: TrackIRFixer" . Consultado el 20 de julio de 2010 .
- ↑ "FreeTrack Forum V2.2 y FSX/FS9" . Consultado el 20 de febrero de 2010 .
- ↑ "Página de descarga del software TrackIR" . NaturalPoint . Consultado el 20 de febrero de 2010 .
- ↑ "Desarrolladores de TrackIR : ¿Qué SDK necesito?" . Consultado el 20 de febrero de 2010 .
- ↑ "Head banging..." Archivado del original el 5 de junio de 2011. Recuperado el 20 de febrero de 2010 .
Enlaces externos
- Sitio web oficial de FreeTrack. Archivado el 24/11/2011 en Wayback Machine.
- Página académica de Daniel DeMenthon : artículos y ejemplos del algoritmo POSIT.
- Canal de YouTube de FreeTrack
- Realidad virtual
- Software gratuito exclusivo para Windows
- Accesibilidad informática
- mandos de juego
- Realidad mixta
- Seguimiento