FreeTrack es una aplicación de seguimiento de movimiento óptico de propósito general para Microsoft Windows , publicada bajo la Licencia Pública General GNU , que se puede utilizar con cámaras económicas comunes. Su enfoque principal es el seguimiento de la cabeza con usos en realidad virtual , simulación , videojuegos , modelado 3D , diseño asistido por computadora y computación de manos libres en general para mejorar la accesibilidad de la computadora . El seguimiento se puede hacer lo suficientemente sensible como para que solo se requieran pequeños movimientos de la cabeza para que los ojos del usuario nunca abandonen la pantalla.
Lanzamiento estable | v2.2 / 7 de octubre de 2008 |
---|---|
Sistema operativo | Microsoft Windows |
Tipo | Seguimiento de movimiento óptico |
Licencia | Licencia pública general GNU |
Sitio web | www.free-track.net |
Se coloca una cámara para observar un modelo de punto rígido que lleva el usuario, cuyos puntos deben aislarse de la luz de fondo mediante un filtrado físico y de 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 video compatibles con Windows, como cámaras web , así como cámaras especiales de Nintendo Wii Remote y NaturalPoint ( TrackIR , SmartNav y OptiTrack).
FreeTrack puede enviar datos de seguimiento de cabeza a programas directamente utilizando su propia interfaz abierta, así como las interfaces TrackIR , SimConnect y FSUIPC. Los programas que admiten estas interfaces se consideran compatibles con FreeTrack . FreeTrack también puede emular el mouse , el teclado y el joystick (a través de PPJoy) si un programa no admite una interfaz directa.
FreeTrack está codificado en Delphi 7 y usa DirectShow y DirectX . El seguimiento de la cabeza se logra utilizando implementaciones del algoritmo iterativo de estimación de pose de cuatro puntos de DeMenthon (POSIT) [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. Específicamente, las coordenadas de la imagen de los puntos del modelo, que se reciben directamente de la cámara o se extraen de un flujo de video. Estas coordenadas se utilizan para generar una estimación de la pose real de la cabeza, que el usuario puede transformar de varias formas para crear una pose virtual. Una de las transformaciones más fundamentales implica amplificar la rotación de modo que solo se requieran pequeños movimientos de la cabeza. Finalmente, la pose virtual se envía a las salidas elegidas por el usuario. Todo esto se hace en segundo plano, con el estado de seguimiento que 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 pose de cabeza real dada y se puede ver desde múltiples perspectivas, incluida la primera persona. Esto es de gran ayuda con las pruebas y facilita la experimentación con diferentes configuraciones.
Cada grado de libertad (eje) tiene una curva de respuesta que se puede modificar para cambiar la forma en que se mueve la cabeza virtual para un movimiento de cabeza real dado. Esto se usa comúnmente para crear una región de zona muerta central para que la cabeza del usuario pueda estar más relajada allí.
Los botones del teclado, el mouse y la palanca de mando 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 automóvil) y alternar individualmente los ejes y las salidas.
Para las cámaras NaturalPoint, FreeTrack puede proporcionar funciones avanzadas y un nivel de personalización que no está disponible con el software oficial.
Cámara
Cámara | Resolución del sensor | FPS | Sensor | Ángulo (°) | Producción | uso de CPU | Precisión de subpíxeles | LED de infrarrojos | Aprox. Precio (dólares americanos) |
---|---|---|---|---|---|---|---|---|---|
Cámara web ideal | 640 × 480 | ≥60 | monocromo | 42 | altamente comprimido | pequeña | Depende del software | sí | ? |
Cámara web IR OEM [3] | 640 × 480 | 30 | color | 42 | JPEG comprimido | pequeña | Depende del software | sí | $ 5 |
Sony PlayStation EyeToy | 640 × 480 | 30 | color | 56 | JPEG comprimido [4] | pequeña | Depende del software | No | $ 16 |
Sony PlayStation 3 Eye | 640 × 480 | 187 @ 320x240 ( CLEye ), 125 @ 320x240 (Directshow), 75 @ 640x480 (DirectShow) [5] | color | 75, 56 | JPEG comprimido, sin procesar | pequeña | Depende del software | No | $ 24 |
Microsoft Xbox Live Vision | 640 × 480 | 60 @ 320 × 240, 30 @ 640 × 480 | color | ? | JPEG comprimido, [6] sin formato | pequeña | Depende del software | No | $ 14 |
Mando de Nintendo Wii | 128 × 96 | 100 ( Bluetooth ), 250 ( I2C ) [7] | color | 41 | coordenadas de puntos | ninguno | 1/8 | No | $ 23 |
NaturalPoint TrackIR 1 [8] | 60k píxeles (por ejemplo, 300 × 200) | 60 | monocromo | 33 | umbral binario | mínimo | sí | retirado | |
NaturalPoint TrackIR 2 [8] | 60k píxeles (por ejemplo, 300 × 200) | 100 | monocromo | 33 | umbral binario [9] | mínimo | sí | retirado | |
NaturalPoint TrackIR 3 [10] | 355 × 288 | 80 | monocromo | 33 | umbral binario | mínimo | sí | retirado | |
NaturalPoint TrackIR 3 Pro [10] | 355x288 | 120 | monocromo | 33 | umbral binario | mínimo | sí | retirado | |
NaturalPoint TrackIR 4 Pro [10] | 355 × 288 (submuestreo a 710 × 480) | 120 | monocromo | 46 | umbral binario [11] | mínimo | 20/01 | sí | $ 99.95 |
NaturalPoint TrackIR 5 [10] | 640 × 480 | 120 | monocromo | 51,7 | umbral de escala de grises [12] | mínimo | 1/150 | sí | $ 149.95 |
NaturalPoint SmartNav 1/2 | 60k píxeles (por ejemplo, 300 × 200) | 60 | monocromo | 33 | umbral binario | mínimo | sí | retirado | |
NaturalPoint SmartNav 3 [13] | 355 × 288 | 120 | monocromo | 33 | umbral binario | mínimo | 20/01 | sí | retirado |
NaturalPoint SmartNav 4 [13] | 640 × 480 (submuestreo a 1280 × 480) | 100 | monocromo | 41 | umbral de escala de grises [14] | mínimo | 1/150 | sí | $ 400 a $ 500 |
Resolución
En la mayoría de los casos, una resolución de 320 × 240 es suficiente, esto es capaz de producir una resolución de subpíxeles mucho más alta , suficiente para permitir un control preciso del cursor en un monitor de alta resolución. Las resoluciones de 640 × 480 y superiores tienen rendimientos decrecientes y corresponden a una exponencial [ ¿por qué? ] aumenta el uso de la CPU cuando no se comprime lo suficiente antes de llegar a la computadora. Las resoluciones más altas se vuelven más importantes a mayores distancias de la cámara. La Wii utiliza un sensor de 128 × 96 de baja resolución, que algunos consideran que produce un seguimiento de nerviosismo 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 resolver detalles más finos mucho mejor que los sensores de color debido a la falta de una matriz de filtros de color .
Cuadros por segundo
FreeTrack utiliza la interpolación con dispositivos de video de baja velocidad de fotogramas para mejorar la suavidad del panorama. Sin embargo, la capacidad de respuesta se limita fundamentalmente a 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 al estímulo visual (reflejo de los dedos) suele ser de unos 200 ms; 30 ms se puede considerar como un ping competitivo en los juegos reflejos en línea, y la frecuencia de actualización del monitor LCD suele ser de 17 ms.
Una mayor capacidad de respuesta proporciona una mayor sensación de control, pero dado que el movimiento de la cabeza virtual se amplifica, también puede hacer que se mueva de manera irrealmente rápida. Por esta razón, algunos programas limitan la velocidad de movimiento de la cabeza, desperdiciando parte de la capacidad de respuesta de las cámaras de mayor velocidad de fotogramas.
Ángulo
Un ángulo de visión más amplio permite una región de seguimiento más grande cuando está muy cerca de la cámara. A distancias mayores, no es deseable un gran angular, una mayor parte del marco no se utiliza y la resolución efectiva cae más rápidamente. También se puede ver más luz periférica, lo que puede interferir con el seguimiento. El ángulo de visión se puede reducir utilizando el zoom digital a costa de la resolución.
uso de CPU
El control remoto de Nintendo Wii no usa efectivamente CPU, las cámaras NaturalPoint usan una pequeña cantidad y los dispositivos de video generales pueden usar una cantidad significativa, dependiendo de la marca y la configuración específica de la cámara en uso. Una PlayStation Eye con la misma resolución y velocidad de fotogramas que TrackIR 4 sería muy exigente con una CPU de un solo núcleo. Sin embargo, las CPU modernas de varios núcleos hacen que esto sea un problema menor. La resolución y la velocidad de fotogramas siempre se pueden reducir para conservar los recursos de la CPU.
Filtros
FreeTrack requiere que los puntos de seguimiento estén aislados de todas las demás luces; Esto se hace mejor usando LED infrarrojos y un filtro de bloqueo de luz visible en frente de la cámara. La película fotográfica o el medio de almacenamiento magnético dentro de los disquetes se pueden utilizar como filtros de luz visible económicos. Se puede realizar un filtrado adicional en el software ajustando la exposición y el umbral.
Todos los dispositivos de video, como las cámaras web, tienen un filtro de bloqueo de infrarrojos incorporado, que se puede quitar para mejorar la sensibilidad a la luz infrarroja, lo que permite un mejor aislamiento del punto y la posibilidad de seguimiento retrorreflectante. Normalmente, este es un procedimiento sencillo y reversible para la mayoría de las cámaras web.
Las cámaras Wii Remotes y NaturalPoint están diseñadas para el seguimiento de puntos infrarrojos, por lo que ya tienen filtros de bloqueo de luz visible.
Modelo de puntos
Configuraciones de modelo
- Un solo punto: un solo punto de seguimiento, por ejemplo, unido a una gorra de béisbol o un cable que se extiende hacia adelante de la cabeza. Se puede lograr fácilmente con una pequeña fuente de luz como una linterna . A diferencia de otras configuraciones, esta está limitada 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 puntos: disposición triangular simétrica de puntos, generalmente unida al borde de una gorra de béisbol.
- Gorra de cuatro puntos: disposición simétrica no coplanar de puntos, también unida al borde de una gorra de béisbol.
Los modelos se pueden hacer en forma de bricolaje a un costo mínimo utilizando componentes electrónicos fácilmente disponibles. Algunos miembros de la comunidad FreeTrack también pueden comprar kits de componentes y modelos completamente construidos.
Puntos activos
Un modelo de punto activo utiliza LED visibles o infrarrojos (de 5 mm o más) para representar los puntos de seguimiento, alimentados por batería, transformador (paquete de enchufes) o USB . El circuito eléctrico es muy básico y puede ser realizado por alguien con poca o ninguna experiencia en electrónica.
Los LED comunes, como los que se encuentran en los controles remotos , tienen un haz estrecho y altamente enfocado que no es adecuado para el seguimiento óptico del movimiento. Se pueden convertir fácilmente en LED de gran angular limando las puntas de las lentes hacia abajo. Alternativamente, los LED de gran angular se pueden comprar en minoristas especializados en electrónica, como el infrarrojo Siemens / Osram SFH485P, con un medio ángulo de 40 grados.
Puntos reflectantes
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 o baterías conectados al usuario, pero es más susceptible a la interferencia de la luz de fondo. En la mayoría de los casos, es necesario quitar el filtro de bloqueo de infrarrojos interno de una 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 tiene una interfaz simple que puede ser utilizada libremente por programas de terceros para acceder a los datos de seguimiento de 6DOF, tanto medidas reales sin procesar como virtuales. Es independiente del hardware, por lo que no depende de una marca o versión específica de hardware y se puede utilizar sin restricciones. ARMA 2 de Bohemia Interactive es el primer juego que admite la interfaz FreeTrack [16] y GP Bikes es el primero en tener soporte exclusivo. [17]
Interfaz TrackIR
FreeTrack es compatible con la versión no cifrada de la interfaz TrackIR de seguimiento de la cabeza de NaturalPoint que tiene un amplio soporte en juegos de simulación. NaturalPoint ha estado proporcionando a los desarrolladores de juegos una versión encriptada de la interfaz para títulos más populares desde finales de 2008, estos pueden identificarse como 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 cabeza, pero poco después la cancelaron a petición de NaturalPoint. [20] La compatibilidad con FreeTrack aún es posible usando 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 una pequeña cantidad de juegos en su mayoría más antiguos , utilizando interfaces especiales o trucos de memoria para facilitar el control de la vista. [22] Aunque es una violación del EULA del software TrackIR , [23] es posible usarlo con FreeTrack.
El SDK de la interfaz TrackIR de NaturalPoint solo está disponible bajo un acuerdo de licencia firmado [24] y está cubierto por un NDA , por lo que mientras FreeTrack es un software gratuito , el componente de la interfaz TrackIR debe ser de código cerrado . [25]
Ver también
- Lista de juegos compatibles con FreeTrack
- TrackIR
Referencias
- ^ DeMenthon, Daniel; Larry S. Davis (1992). "Pose de objeto basado en modelo en 25 líneas de código". Congreso Europeo de Visión por Computador . 15 : 335–343. CiteSeerX 10.1.1.50.9280 .
- ^ Alter, TD (1992). "Postura 3D desde tres puntos correspondientes bajo proyección de perspectiva débil" (AIM-1378): 43. CiteSeerX 10.1.1.18.1908 . Cite journal requiere
|journal=
( ayuda ) - ^ "8.0 Mega 6 IR LED Webcam Web Cam Camera Skype MSN Mic" . Consultado el 7 de septiembre de 2010 .
- ^ "Uso de cámaras web ov519 (Eyetoy) con pdp / Gem (marcos 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" . 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 .
- ^ a b "Controlador de juego de heads-up TrackIR3 Pro" . ars technica. 25 de agosto de 2004 . Consultado el 13 de octubre de 2007 .
- ^ "TrackIR2, compra de seguimiento de cabeza Track IR2, revisión, destacado" . Consultado el 8 de mayo de 2010 .
- ^ a b c d "Comparación de productos TrackIR" . NaturalPoint . Consultado el 13 de octubre de 2007 .
- ^ "TrackIR 4 escala de grises" . Consultado el 8 de mayo de 2010 .
- ^ "TrackIR 5 Escala de grises" . 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" . Consultado el 16 de marzo de 2010 .
- ^ "NaturalPointofView - El monopolio de NaturalPoint TrackIR" . Consultado el 20 de julio de 2010 .
- ^ "Juegos mejorados de TrackIR: DCS: Black Shark" . NaturalPoint . Consultado el 26 de octubre de 2008 .
- ^ Tez - Equipo de ED. "Interfaz HeadTracker - Foros ED" . Eagle Dynamics . Consultado el 16 de marzo de 2010 .
- ^ "NaturalPointofView - El Monopolio de NaturalPoint TrackIR: 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 desde el original el 5 de junio de 2011 . Consultado el 20 de febrero de 2010 .
enlaces externos
- Sitio web oficial de FreeTrack
- Página académica de Daniel DeMenthon : artículos y ejemplos del algoritmo POSIT
- Canal de YouTube FreeTrack