ES2701165T3 - Métodos y aparatos para facilitar el reconocimiento de gestos - Google Patents
Métodos y aparatos para facilitar el reconocimiento de gestos Download PDFInfo
- Publication number
- ES2701165T3 ES2701165T3 ES12715413T ES12715413T ES2701165T3 ES 2701165 T3 ES2701165 T3 ES 2701165T3 ES 12715413 T ES12715413 T ES 12715413T ES 12715413 T ES12715413 T ES 12715413T ES 2701165 T3 ES2701165 T3 ES 2701165T3
- Authority
- ES
- Spain
- Prior art keywords
- gesture
- template
- previously defined
- defined threshold
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/17—Image acquisition using hand-held instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- User Interface Of Digital Computer (AREA)
- Telephone Function (AREA)
- Image Analysis (AREA)
Abstract
Un método que comprende: construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla, en donde el gesto de entrada comprende un movimiento de un aparato (10; 102; 302); determinar, por medio de al menos un procesador (20; 110), si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido; en un caso en el que la relación no satisface el umbral previamente definido, eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada; y en un caso en el que la relación satisface el umbral previamente definido: determinar una matriz de rotación basándose, al menos en parte, en la matriz construida; usar la matriz de rotación para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada; y determinar si el gesto de entrada concuerda con el gesto de plantilla rotado, basándose, al menos en parte, en una comparación entre el gesto de plantilla rotado y el gesto de entrada.
Description
DESCRIPCIÓN
Métodos y aparatos para facilitar el reconocimiento de gestos
Campo tecnológico
Las formas de realización a modo de ejemplo de la presente invención se refieren, en general, a la tecnología de interfaz de usuario y, más en concreto, se refieren a métodos y aparatos para facilitar el reconocimiento de gestos.
Antecedentes
La era de las comunicaciones modernas ha traído consigo una expansión tremenda de las redes cableadas e inalámbricas. Las tecnologías de interconexión de redes inalámbricas y móviles han abordado demandas relacionadas con los consumidores, al tiempo que proporcionan más flexibilidad e inmediatez de la transferencia de información. De forma simultánea a la expansión de las tecnologías de interconexión de redes, una expansión en la potencia de cómputo ha dado como resultado el desarrollo de unos dispositivos informáticos económicamente viables que son capaces de aprovechar los servicios posibilitados por las tecnologías de interconexión de redes modernas. Esta expansión en la potencia de cómputo ha conducido a una reducción en el tamaño de los dispositivos informáticos y ha dado lugar a una nueva generación de dispositivos móviles que son capaces de realizar una funcionalidad que, hace solo unos pocos años, requería una potencia de procesamiento que solo podría ser proporcionada por los ordenadores de sobremesa más avanzados. En consecuencia, los dispositivos informáticos móviles que tienen un factor de forma pequeño se han vuelto ubicuos y son usados para acceder a aplicaciones y servicios de red por consumidores de todos los trasfondos socioeconómicos.
La evolución en la potencia y la viabilidad económica de los dispositivos informáticos móviles ha incluido el lanzamiento de unos dispositivos informáticos que incluyen tecnologías de interfaz de usuario potenciadas. Una tecnología de interfaz de usuario de ese tipo es el control de un dispositivo mediante la realización de un gesto de movimiento. A este respecto, algunos dispositivos incluyen un sensor de tipo acelerómetro, un giróscopo, o similares que puede detectar vibraciones, orientaciones y otro movimiento de un dispositivo móvil. Algunas aplicaciones usan este movimiento como una fuente de entrada de usuario además de o en lugar de un teclado, una pantalla táctil y una entrada de voz tradicionales. Por ejemplo, se ha propuesto que se usen gestos para controlar de forma remota una televisión o un reproductor de medios, navegar por interfaces de usuario, iniciar aplicaciones favoritas y jugar a juegos móviles. No obstante, hasta la fecha, la puesta en práctica de la tecnología de reconocimiento de gestos y el uso de gestos como una forma de entrada de usuario ha estado limitada en cierta medida debido a dificultades en el reconocimiento de entradas de gesto.
El documento US 2009/0265671 se refiere a dispositivos móviles que llevan a cabo un reconocimiento de gestos de movimiento. Se da a conocer un método en el que el movimiento se procesa para controlar un dispositivo electrónico portátil. El procesamiento incluye recibir, en el dispositivo, unos datos de movimiento detectado que se obtienen de unos sensores de movimiento del dispositivo y basándose en el movimiento del dispositivo en el espacio. Los sensores de movimiento incluyen al menos tres sensores de movimiento de rotación y al menos tres acelerómetros. Se determina que un modo operativo particular se encuentra activo mientras tiene lugar el movimiento del dispositivo, siendo el modo uno de múltiples modos operativos diferentes del dispositivo. El gesto o gestos de movimiento se reconocen a partir de los datos de movimiento a partir de un conjunto de gestos de movimiento que se encuentran disponibles para su reconocimiento en el modo operativo activo.
El documento US 2008/0174550 da a conocer un dispositivo de entrada de movimiento para un dispositivo informático, que comprende: un alojamiento; un sensor de aceleración de tres ejes que está dispuesto en el alojamiento para emitir unas señales de inercia en relación con la orientación y el movimiento del dispositivo de entrada de movimiento con una brújula de tres ejes que está dispuesta en el alojamiento, para emitir unas señales de campo magnético en relación con la orientación de campo magnético del dispositivo de entrada de movimiento, en donde el dispositivo de entrada de movimiento se dota de un componente de transferencia para transferir las señales de campo magnético y las señales de inercia al dispositivo informático.
Breve sumario
En el presente documento se proporcionan métodos, aparatos y productos de programa informático para facilitar el reconocimiento de gestos. Los métodos, aparatos y productos de programa informático de acuerdo con diversas formas de realización pueden proporcionar varias ventajas a los dispositivos informáticos, los usuarios de dispositivos informáticos, los desarrolladores de soporte físico y los desarrolladores de aplicaciones. Algunas formas de realización a modo de ejemplo mejoran de forma ventajosa el reconocimiento de gestos mediante la reducción de la dependencia de la orientación de un dispositivo cuando se introdujo el gesto. A este respecto, se determina una matriz de rotación entre un gesto de entrada y un gesto de plantilla y el gesto de plantilla se rota hasta un sistema de coordenadas del gesto de entrada para facilitar el reconocimiento del gesto de entrada. Además, algunas formas de realización a modo de ejemplo aplican uno o más filtros para eliminar de toda consideración ulterior gestos de plantilla para el reconocimiento de un gesto de entrada antes de aplicar una unidad de clasificación de reconocimiento de gestos para
determinar si el gesto de entrada concuerda con un gesto de plantilla respectivo. La aplicación de estos filtros puede reducir la tasa de falsos reconocimientos de gestos. Además, la aplicación de tales filtros puede reducir la complejidad computacional y el consumo de potencia que se requieren para el reconocimiento de gestos, debido a que el número de cálculos que se llevan a cabo se puede reducir mediante la separación por filtrado de uno o más gestos de plantilla antes de aplicar una unidad de clasificación de reconocimiento de gestos para determinar si el gesto de entrada concuerda con un gesto de plantilla respectivo. Por consiguiente, algunas formas de realización a modo de ejemplo pueden mejorar la experiencia de usuario a través de la reducción de falsos reconocimientos de gestos sin requerir un consumo de potencia considerable o requisitos de soporte físico onerosos que serían poco prácticos a los dispositivos móviles.
En una primera forma de realización a modo de ejemplo, se proporciona un método, que comprende construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla. El método comprende adicionalmente determinar si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido. En un caso en el que la relación no satisface el umbral previamente definido, el método también comprende eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. En un caso en el que la relación satisface el umbral previamente definido, el método comprende adicionalmente determinar una matriz de rotación basándose, al menos en parte, en la matriz construida.
En otra forma de realización a modo de ejemplo, se proporciona un aparato que comprende al menos un procesador y al menos una memoria que almacena código de programa informático. La al menos una memoria y código de programa informático almacenado están configurados, con el al menos un procesador, para dar lugar a que el aparato de la presente forma de realización a modo de ejemplo al menos construya una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla. La al menos una memoria y código de programa informático almacenado están configurados, con el al menos un procesador, para dar lugar adicionalmente a que el aparato de la presente forma de realización a modo de ejemplo determine si una relación que se determina basándose, al menos en parte, en la matriz construida, satisface un umbral previamente definido. La al menos una memoria y código de programa informático almacenado están configurados, con el al menos un procesador, también para dar lugar a que el aparato de la presente forma de realización a modo de ejemplo, en un caso en el que la relación no satisface el umbral previamente definido, elimine de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. La al menos una memoria y código de programa informático almacenado están configurados, con el al menos un procesador, para dar lugar adicionalmente a que el aparato de la presente forma de realización a modo de ejemplo, en un caso en el que la relación satisface el umbral previamente definido, determine una matriz de rotación basándose, al menos en parte, en la matriz construida.
En otra forma de realización a modo de ejemplo, se proporciona un producto de programa informático. El producto de programa informático de la presente forma de realización a modo de ejemplo incluye al menos un medio de almacenamiento legible por ordenador que tiene unas instrucciones de programa legibles por ordenador almacenadas en el mismo. Las instrucciones de programa de la presente forma de realización a modo de ejemplo comprenden unas instrucciones de programa que están configuradas para dar lugar a que un aparato lleve a cabo un método. El método de la presente forma de realización a modo de ejemplo comprende construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla. El método de la presente forma de realización a modo de ejemplo comprende adicionalmente determinar si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido. En un caso en el que la relación no satisface el umbral previamente definido, el método de la presente forma de realización a modo de ejemplo también comprende eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. En un caso en el que la relación satisface el umbral previamente definido, el método de la presente forma de realización a modo de ejemplo comprende determinar una matriz de rotación basándose, al menos en parte, en la matriz construida.
En otra forma de realización a modo de ejemplo, se proporciona un aparato que comprende unos medios para construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla. El aparato de la presente forma de realización a modo de ejemplo comprende adicionalmente unos medios para determinar si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido. El aparato de la presente forma de realización a modo de ejemplo también comprende unos medios para, en un caso en el que la relación no satisface el umbral previamente definido, eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. El aparato de la presente forma de realización a modo de ejemplo comprende adicionalmente unos medios para, en un caso en el que la relación satisface el umbral previamente definido, determinar una matriz de rotación basándose, al menos en parte, en la matriz construida.
El sumario anterior se proporciona meramente para fines de resumen de algunas formas de realización a modo de ejemplo de la invención con el fin de proporcionar una comprensión básica de algunos aspectos de la invención. Por consiguiente, se apreciará que las formas de realización a modo de ejemplo que se han descrito en lo que antecede son meramente ejemplos y no se debería entender que reduzcan el alcance de las reivindicaciones adjuntas. Se apreciará que el alcance de la invención engloba muchas formas de realización potenciales, algunas de las cuales se describirán adicionalmente en lo sucesivo, además de las que se resumen en el presente caso.
Breve descripción de los dibujos
Habiendo descrito de este modo, en términos generales, algunas formas de realización de la invención, a continuación se hará referencia a los dibujos adjuntos, que no están necesariamente dibujados a escala, y en los que:
la figura 1 ilustra un diagrama de bloques de un aparato de reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 2 es un diagrama de bloques esquemático de un terminal móvil de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 3 ilustra un sistema para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 4 ilustra una puesta en práctica de capas de soporte lógico para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 5 ilustra un flujo de proceso a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo;
las figuras 6a - 6c ilustran una rotación a modo de ejemplo de un gesto de plantilla hasta un sistema de coordenadas de un gesto de entrada de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 7 ilustra un diagrama de flujo de acuerdo con un método a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 8 ilustra un diagrama de flujo de acuerdo con otro método a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo;
la figura 9 ilustra un diagrama de flujo de acuerdo con un método adicional a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo; y
la figura 10 ilustra un diagrama de flujo de acuerdo con aún otro método a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo.
Descripción detallada
El alcance de la presente invención se define por medio de las reivindicaciones independientes. Algunas formas de realización de la presente invención se describirán a continuación más plenamente en lo sucesivo en el presente documento con referencia a los dibujos adjuntos, en los que se muestran algunas, pero no todas las formas de realización de la invención. De hecho, la invención se puede materializar de muchas formas diferentes y no se debería entender como limitada a las formas de realización que se exponen en el presente documento; más bien, estas formas de realización se proporcionan de tal modo que la presente divulgación satisfará los requisitos legales aplicables. Números de referencia semejantes se refieren a elementos semejantes por la totalidad del presente documento.
Tal como se usan en el presente documento, los términos “datos", “contenido", “información", y términos similares, se pueden usar de forma intercambiable para hacer referencia a datos que se pueden transmitir, recibir, visualizar y / o almacenar de acuerdo con diversas formas de realización a modo de ejemplo. Por lo tanto, no se debería interpretar que el uso de término alguno de ese tipo limite el alcance de las reivindicaciones. Además, cuando en el presente documento se describe que un dispositivo informático recibe unos datos a partir de otro dispositivo informático, se apreciará que los datos se pueden recibir directamente del otro dispositivo informático o se pueden recibir indirectamente por medio de uno o más dispositivos informáticos intermedios, tales como, por ejemplo, uno o más servidores, relés, encaminadores, puntos de acceso de red, estaciones de base, y / o similares.
La expresión “medio legible por ordenador” tal como se usa en el presente documento hace referencia a cualquier medio que esté configurado para participar en la provisión de información a un procesador, incluyendo instrucciones para su ejecución. Un medio de ese tipo puede adoptar muchas formas, incluyendo, pero sin limitarse a, un medio de almacenamiento legible por ordenador no transitorio (por ejemplo, medios no volátiles, medios volátiles) y medios de transmisión. Los medios de transmisión incluyen, por ejemplo, cables coaxiales, hilo de cobre, cables de fibra óptica, y ondas portadoras que se desplazan a través del espacio sin hilos o cables, tales como ondas acústicas y ondas electromagnéticas, incluyendo ondas de radio, ópticas y de infrarrojos. Los ejemplos de los medios legibles por ordenador no transitorios incluyen un disco flexible, un disco duro, una cinta magnética, cualquier otro medio magnético no transitorio, un disco compacto - memoria de solo lectura (CD-ROM, compact disc read only memory), disco compacto de tipo disco compacto regrabable (CD-RW, compact disc compact disc - rewritable), un disco versátil digital (DVD, digital versatile disc), Blu-Ray, cualquier otro medio óptico no transitorio, una memoria de acceso aleatorio (RAM, random access memory), una memoria de solo lectura programable (PROM, programmable read only memory), una memoria de solo lectura programable y borrable (EPROM, erasable programmable read only memory), una FLASH - EPROM, cualquier otro cartucho o chip de memoria, o cualquier otro medio no transitorio a partir del cual pueda leer un ordenador. La expresión medio de almacenamiento legible por ordenador se usa en el presente documento para hacer referencia a cualquier medio legible por ordenador excepto medios de transmisión. No obstante, se apreciará que, cuando se describe que algunas formas de realización usan un medio de almacenamiento legible por ordenador, otros tipos de medios legibles por ordenador pueden sustituir a o usarse además del medio de almacenamiento legible por ordenador en formas de realización alternativas.
Adicionalmente, tal como se usa en el presente documento, la expresión ‘conjunto de circuitos' hace referencia a (a) puestas en práctica de circuitos solo en soporte físico (por ejemplo, puestas en práctica en conjuntos de circuitos analógicos y / o conjuntos de circuitos digitales); (b) combinaciones de circuitos y producto o productos de programa informático que comprenden instrucciones de soporte lógico y / o de soporte lógico inalterable que están almacenadas en una o más memorias legibles por ordenador que colaboran entre sí para dar lugar a que un aparato lleve a cabo una o más funciones que se describen en el presente documento; y (c) circuitos, tales como, por ejemplo, un microprocesador o microprocesadores o una porción de un microprocesador o microprocesadores, que requieren un soporte lógico o soporte lógico inalterable para su accionamiento incluso si el soporte lógico o soporte lógico inalterable no se encuentra físicamente presente. Esta definición de ‘conjunto de circuitos' es de aplicación a todos los usos de esta expresión en el presente documento, incluyendo en cualquiera de las reivindicaciones. Como un ejemplo adicional, tal como se usa en el presente documento, la expresión ‘conjunto de circuitos' también incluye una puesta en práctica que comprende uno o más procesadores y / o porción o porciones de los mismos y el soporte lógico y / o soporte lógico inalterable adjunto. Como otro ejemplo, la expresión ‘conjunto de circuitos' tal como se usa en el presente documento también incluye, por ejemplo, un circuito integrado de banda de base o un circuito integrado de procesador de aplicaciones para un teléfono móvil o un circuito integrado similar en un servidor, un dispositivo de red celular, otro dispositivo de red y / u otro dispositivo informático.
En la actualidad, hay varias cuestiones técnicas que pueden obstaculizar el reconocimiento de entradas de gesto, que están retardando el desarrollo y la puesta en práctica de aplicaciones de soporte físico y de soporte lógico que utilizan entradas de gesto. Una cuestión técnica de ese tipo es que las señales de acelerómetro dependen de la orientación actual de un dispositivo. Esto quiere decir que, si un usuario o el desarrollador entrena un gesto (por ejemplo, crea una plantilla de gesto) cuando el dispositivo se sujeta mirando hacia delante, el usuario tendrá que asegurar que la totalidad de los siguientes gestos de entrada se han de llevar a cabo con la misma orientación (mirando hacia delante). No obstante, cuando un usuario repite un gesto en instantes diferentes en lugares diferentes, puede que el usuario no lleve a cabo el gesto en la misma orientación exacta que la plantilla. Esta barrera técnica reduce en gran medida la facilidad de uso de la puesta en práctica de gestos de movimiento en los dispositivos informáticos.
Una segunda cuestión técnica es la necesidad de unas tasas de reconocimiento elevadas con condiciones de falsa alarma bajas para proporcionar una experiencia de usuario aceptable. Debido a que muchos gestos de movimiento simples y socialmente aceptables propuestos no siempre se pueden distinguir del movimiento diario de los dispositivos móviles de mano, los gestos que se llevan a cabo y que se reconocen usando tecnologías existentes desencadenarán, de forma inherente, un número más grande de falsas alarmas en el uso cotidiano del dispositivo móvil. Por consiguiente, en la actualidad es limitado el alcance de uso y el control de dispositivos usando gestos de movimiento.
Una tercera cuestión técnica es la limitación de la potencia de cómputo de los dispositivos móviles. El algoritmo de reconocimiento ha de tener una complejidad computacional baja y un uso de memoria liviano. De lo contrario, el motor de reconocimiento de movimientos puede ocupar la mayor parte de los recursos de procesador y consumir una potencia grande de la batería del dispositivo. Por consiguiente, las operaciones habituales de los dispositivos móviles se pueden ver afectadas de forma negativa.
Algunas formas de realización a modo de ejemplo facilitan el reconocimiento de gestos al tiempo que se abordan una o más de estas cuestiones técnicas. Por ejemplo, algunas formas de realización a modo de ejemplo abordan la primera cuestión técnica mediante el uso de un método de orientación absoluta para hallar una matriz de rotación específica entre un gesto de entrada y un gesto de plantilla. El gesto de plantilla se puede rotar a continuación en su sistema de coordenadas cartesianas hasta el sistema de coordenadas cartesianas del gesto de entrada, dando como resultado la creación de un nuevo gesto de plantilla. Una unidad de clasificación de reconocimiento de gestos, tal como un algoritmo de Distorsión de Tiempo Dinámica (DTW, Dynamic Time Warping), se puede aplicar para determinar si el nuevo gesto de plantilla concuerda con el gesto de entrada. Por consiguiente, algunas formas de realización a modo de ejemplo posibilitan que un usuario sujete un dispositivo en cualquier orientación y que lleve a cabo gestos de forma arbitraria en una línea (gestos en 1D), un plano (gestos en 2D) o en el espacio (gestos en 3D). Siempre que un gesto se repita de una forma similar a un gesto de plantilla, la unidad de clasificación de reconocimiento de gestos combinada con la rotación basada en la orientación absoluta de acuerdo con algunas formas de realización a modo de ejemplo puede hallar una buena concordancia de gesto de plantilla y llevar a cabo un reconocimiento de gestos de movimiento independiente de la orientación del dispositivo.
Además, algunas formas de realización a modo de ejemplo abordan la segunda cuestión técnica mediante la puesta en práctica de una o más técnicas de filtrado durante el proceso de reconocimiento de gestos para separar por filtrado uno o más gestos de plantilla de entre un conjunto de gestos de plantilla antes de aplicar la unidad de clasificación de reconocimiento de gestos a los gestos de plantilla filtrados. Por consiguiente, los filtros pueden actuar como un control de admisión para rechazar los movimientos de la mano en segundo plano y, por lo tanto, reducir en gran medida la tasa de falsos reconocimientos. La puesta en práctica de tales técnicas de filtrado puede abordar adicionalmente la tercera cuestión técnica. A este respecto, la aplicación de una o más técnicas de filtrado durante el procedimiento de rotación puede eliminar de toda consideración ulterior uno o más gestos de plantilla antes de la compleción del procedimiento de rotación para un gesto de plantilla dado. Debido a que la rotación basada en la orientación absoluta implica una cierta cantidad de cálculo sobre estos filtros, puede reducir la complejidad computacional para lograr la independencia de la orientación. Además, la separación por filtrado de gestos de plantilla no puestos en concordancia
antes de la aplicación de una unidad de clasificación de reconocimiento de gestos puede dar como resultado una conservación significativa de la potencia de cómputo.
Haciendo referencia a continuación a la figura 1, la figura 1 ilustra un diagrama de bloques de un aparato de reconocimiento de gestos 102 para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo. Se apreciará que el aparato de reconocimiento de gestos 102 se proporciona como un ejemplo de algunas formas de realización y no se debería entender que reduzca en modo alguno el alcance de las reivindicaciones. A este respecto, el alcance de la divulgación engloba muchas formas de realización potenciales además de las que se ilustran y se describen en el presente documento. En este sentido, a pesar de que la figura 1 ilustra un ejemplo de una configuración de un aparato de reconocimiento de gestos, también se pueden usar otras configuraciones para poner en práctica formas de realización de la presente invención.
El aparato de reconocimiento de gestos 102 se puede materializar como un ordenador de sobremesa, un ordenador portátil, un terminal móvil, un ordenador móvil, un teléfono móvil, un dispositivo de comunicación móvil, un dispositivo de juegos, una cámara digital / cámara de vídeo de mano, un reproductor de audio / vídeo, un dispositivo de televisión, una grabadora de vídeo digital, un dispositivo de posicionamiento, un controlador de juegos, un controlador de televisión, un controlador de dispositivo electrónico, un conjunto de chips, un dispositivo informático que comprende un conjunto de chips, cualquier combinación de los mismos, y / o similares. A este respecto, el aparato de reconocimiento de gestos 102 puede comprender cualquier dispositivo informático u otro aparato que esté configurado para facilitar el reconocimiento de gestos de acuerdo con una o más formas de realización a modo de ejemplo que se dan a conocer en el presente documento. En algunas formas de realización a modo de ejemplo, el aparato de reconocimiento de gestos 102 se materializa como un dispositivo informático móvil, tal como el terminal móvil que se ilustra en la figura 2.
A este respecto, la figura 2 ilustra un diagrama de bloques de un terminal móvil 10 representativo de algunas formas de realización a modo de ejemplo de un aparato de reconocimiento de gestos 102. Se debería entender, no obstante, que el terminal móvil 10 que se ilustra y que se describe en lo sucesivo en el presente documento es meramente ilustrativo de un tipo de aparato de reconocimiento de gestos 102 que puede poner en práctica y / o beneficiarse de diversas formas de realización de la invención y, por lo tanto, no se debería interpretar que limite el alcance de la divulgación. A pesar de que se ilustran varias formas de realización del dispositivo electrónico y estas se describirán en lo sucesivo en el presente documento para fines de ejemplo, otros tipos de dispositivos electrónicos, tales como teléfonos móviles, ordenadores móviles, asistentes digitales portátiles (PDA, portable digital assistant), buscapersonas, ordenadores portátiles, ordenadores de sobremesa, dispositivos de juegos, televisiones, y otros tipos de sistemas electrónicos, pueden emplear diversas formas de realización de la invención.
Tal como se muestra, el terminal móvil 10 puede incluir una antena 12 (o múltiples antenas 12) en comunicación con un transmisor 14 y un receptor 16. El terminal móvil 10 también puede incluir un procesador 20 que está configurado para proporcionar señales a y recibir señales a partir del transmisor y el receptor, de forma respectiva. El procesador 20 se puede materializar, por ejemplo, como diversos medios, incluyendo un conjunto de circuitos, uno o más microprocesadores con procesadores de señales digitales adjuntos, uno o más procesador o procesadores sin un procesador de señales digitales adjunto, uno o más coprocesadores, uno o más procesadores de múltiples núcleos, uno o más controladores, un conjunto de circuitos de procesamiento, uno o más ordenadores, diversos otros elementos de procesamiento, incluyendo circuitos integrados tales como, por ejemplo, un ASIC (application specific integrated circuit, circuito integrado para aplicaciones específicas) o FPGA (fieldprogrammable gate array, disposición de puertas programable en campo), o alguna combinación de los mismos. Por consiguiente, a pesar de que se ilustra en la figura 2 como un único procesador, en algunas formas de realización el procesador 20 comprende una pluralidad de procesadores. Estas señales que son enviadas y recibidas por el procesador 20 pueden incluir una información de señalización de acuerdo con una norma de interfaz aérea de un sistema celular aplicable y / o cualquier número de técnicas de interconexión de redes cableadas o inalámbricas diferentes, comprendiendo, pero sin limitarse a, técnicas de Wi-Fi, de red de acceso local inalámbrica (WLAN, wireless local access network) tales como las normas 802.11, 802.16 del Institutos de Ingenieros Eléctricos y Electrónicos (IEEE, Institute of Electrical and Electronics Engineers), y / o similares. Además, estas señales pueden incluir datos de habla, datos generados por el usuario, datos solicitados por el usuario, y / o similares. A este respecto, el terminal móvil puede ser capaz de operar con una o más normas de interfaz aérea, protocolos de comunicación, tipos de modulación, tipos de acceso, y / o similares. Más en concreto, el terminal móvil puede ser capaz de operar de acuerdo con diversos protocolos de comunicación de primera generación (1G), de segunda generación (2G), de 2.5G, de tercera generación (3G), protocolos de comunicación de cuarta generación (4G), protocolos de comunicación de Subsistema Multimedia de Protocolo de Internet (IMS, Internet Protocol Multimedia Subsystem) (por ejemplo, protocolo de inicio de sesión (SIP, session initiation protoco!)), comunicación futura, y / o similares. Por ejemplo, el terminal móvil puede ser capaz de operar de acuerdo con protocolos de comunicación inalámbrica de 2G ES-136 (Acceso Múltiple por División en el Tiempo (TDMA, Time Division Múltiple Access)), Sistema Global para comunicaciones Móviles (GSM, Global System for Mobile communications), ES-95 (Acceso Múltiple por División de Código (CDMA, Code Division Múltiple Access)), y / o similares. El terminal móvil también puede ser, por ejemplo, capaz de operar de acuerdo con protocolos de comunicación inalámbrica de Servicio General de Radio por Paquetes (GPRS, GeneralPacket Radio Service) de 2.5G, Entorno de GSM de Datos Potenciados (EDGE, Enhanced Data g Sm Environment), y / o similares. Además, por ejemplo, el terminal móvil puede ser capaz de operar de acuerdo con protocolos de comunicación inalámbrica de 3G
tales como Sistema de Telecomunicaciones Móviles Universal (UMTS, UniversalMobile Telecommunications System), Acceso Múltiple por División de Código 2000 (CDMA2000, Code División Múltiple Access 2000), Acceso Múltiple por División de Código de Banda Ancha (WCDMA, Wideband Code Division Múltiple Access), Acceso Múltiple por División de Código Síncrona por División en el Tiempo (TD-SCDMA, Time Division - Synchronous Code Division Múltiple Access), y / o similares. El terminal móvil puede, adicionalmente, ser capaz de operar de acuerdo con protocolos de comunicación inalámbrica de 3.9G tales como Evolución a Largo Plazo (LTE, Long Term Evolution) o Red Universal Terrestre de Acceso de Radio Evolucionada (E-UTRAN, Evolved Universal Terrestrial Radio Access Network) y / o similares. Adicionalmente, por ejemplo, el terminal móvil puede ser capaz de operar de acuerdo con protocolos de comunicación inalámbrica de cuarta generación (4G) y / o similares así como protocolos de comunicación inalámbrica similares que se puedan desarrollar en el futuro.
Algunos terminales móviles del Sistema de Telefonía Móvil Avanzado de Banda Estrecha (NAMPS, Narrow - band Advanced Mobile Phone System), así como del Sistema de Comunicación de Acceso Total (TACS, Total Access Communication System), también se pueden beneficiar de las formas de realización de la presente invención, tal como debería ser el caso con los teléfonos de modo doble o superior (por ejemplo, teléfonos digitales / analógicos o de TDMA / CDMA / analógicos). Adicionalmente, el terminal móvil 10 puede ser capaz de operar de acuerdo con protocolos de Wi-Fi o de Interoperabilidad Mundial para Acceso por Microondas (WiMAX, Worldwide Interoperability for Microwave Access).
Se entiende que el procesador 20 puede comprender un conjunto de circuitos para poner en práctica las funciones lógicas y de audio / vídeo y del terminal móvil 10. Por ejemplo, el procesador 20 puede comprender un dispositivo de procesador de señales digitales, un dispositivo de microprocesador, un convertidor de analógico a digital, un convertidor de digital a analógico, y / o similares. Las funciones de control y de procesamiento de señales del terminal móvil se pueden atribuir entre estos dispositivos de acuerdo con sus capacidades respectivas. El procesador puede comprender adicionalmente un codificador de voz (VC, voice coder) interno 20a, un módem de datos (DM, data modem) interno 20b, y / o similares. Además, el procesador puede comprender una funcionalidad para operar uno o más programas de soporte lógico, que se pueden almacenar en memoria. Por ejemplo, el procesador 20 puede ser capaz de operar un programa de conectividad, tal como un navegador web. El programa de conectividad puede permitir que el terminal móvil 10 transmita y reciba contenido web, tal como contenido basado en la ubicación, de acuerdo con un protocolo, tal como Protocolo para Aplicaciones Inalámbricas (WAP, Wireless Application Protocol), protocolo de transferencia de hipertexto (http, hypertext transferprotocol), y / o similares. El terminal móvil 10 puede ser capaz de usar un Protocolo de Control de Transmisión / Protocolo de Internet (TCP / IP, Transmission Control Protocol/ Internet Protocol) para transmitir y recibir contenido web a través de Internet u otras redes.
El terminal móvil 10 también puede comprender una interfaz de usuario que incluye, por ejemplo, un auricular o altavoz 24, un timbre 22, un micrófono 26, un visualizador 28, una interfaz de entrada de usuario, y / o similares, que se pueden acoplar operativamente con el procesador 20. A este respecto, el procesador 20 puede comprender un conjunto de circuitos de interfaz de usuario que está configurado para controlar al menos algunas funciones de uno o más elementos de la interfaz de usuario, tales como, por ejemplo, el altavoz 24, el timbre 22, el micrófono 26, el visualizador 28, y / o similares. El procesador 20 y / o el conjunto de circuitos de interfaz de usuario que comprende el procesador 20 se pueden configurar para controlar una o más funciones de uno o más elementos de la interfaz de usuario a través de instrucciones de programa informático (por ejemplo, soporte lógico y / o soporte lógico inalterable) que están almacenadas en una memoria a la que puede acceder el procesador 20 (por ejemplo, la memoria volátil 40, la memoria no volátil 42, y / o similares). A pesar de que no se muestra, el terminal móvil puede comprender una batería para alimentar diversos circuitos en relación con el terminal móvil, por ejemplo, un circuito para proporcionar una vibración mecánica como una salida detectable. El visualizador 28 del terminal móvil puede ser de cualquier tipo apropiado para el dispositivo electrónico en cuestión, incluyendo algunos ejemplos un panel de visualización de plasma (PDP, plasma display panel), un visualizador de cristal líquido (LCD, liquid crystal display), un diodo de emisión de luz (LED, light - emitting diode), un visualizador de diodos de emisión de luz orgánicos (OLED, organic light - emitting diode display), un proyector, un visualizador holográfico o similares. La interfaz de entrada de usuario puede comprender dispositivos que permiten que el terminal móvil reciba datos, tales como un teclado numérico 30, un visualizador táctil (que no se muestra), una palanca de control (que no se muestra) y / u otro dispositivo de entrada. En las formas de realización que incluyen un teclado numérico, el teclado numérico puede comprender teclas numéricas (0 - 9) y teclas relacionadas (#, *) y / u otras teclas para accionar el terminal móvil.
En algunas formas de realización a modo de ejemplo, el terminal móvil 10 puede incluir un sensor de gestos 36. El sensor de gestos 36 puede comprender un acelerómetro, un giróscopo, un magnetómetro, un podómetro, alguna combinación de los mismos, o similares. A este respecto, el sensor de gestos 36 puede comprender una entidad que está configurada para determinar un estado de movimiento del terminal móvil 10 y / o una propiedad de un estado de movimiento del terminal móvil 10. Por ejemplo, el sensor de gestos 36 se puede configurar para detectar y emitir datos acerca de una longitud en tiempo, longitud en distancia, tasa, aceleración, dirección, gravedad y / u otra propiedad de un gesto u otro movimiento del terminal móvil 10.
Tal como se muestra en la figura 2, el terminal móvil 10 también puede incluir uno o más medios para compartir y / u obtener datos. Por ejemplo, el terminal móvil puede comprender un transceptor de radio frecuencia (RF) de corto alcance y / o una unidad de interrogación 64 de tal modo que los datos se pueden compartir con y / u obtenerse a partir de dispositivos electrónicos de acuerdo con técnicas de RF. El terminal móvil puede comprender otros transceptores de corto alcance, tales como, por ejemplo, un transceptor de infrarrojos (IR) 66, un transceptor de Bluetooth ™ (BT) 68 que funciona usando tecnología inalámbrica de marca Bluetooth ™ desarrollada por el Grupo de Interés Especial de Bluetooth ™, un transceptor de bus serie universal inalámbrico (USB, universal serial bus) 70 y / o similares. El transceptor de Bluetooth ™ 68 puede ser capaz de operar de acuerdo con normas de radio de la tecnología de Bluetooth ™ de potencia ultra-baja (por ejemplo, Wibree ™). A este respecto, el terminal móvil 10 y, en particular, el transceptor de corto alcance puede ser capaz de transmitir datos a y / o de recibir datos a partir de dispositivos electrónicos dentro de una distancia del terminal móvil, tal como dentro de 10 metros, por ejemplo. A pesar de que no se muestra, el terminal móvil puede ser capaz de transmitir y / o de recibir datos a partir de dispositivos electrónicos de acuerdo con diversas técnicas de interconexión de redes inalámbricas, incluyendo Wi-Fi, técnicas de WLAN tales como las técnicas de la norma 802.11 de IEEE, las técnicas de la norma 802.15 de IEEE, las técnicas de la norma 802.16 de IEEE, y / o similares.
El terminal móvil 10 puede comprender una memoria, tal como un módulo de identidad de abonado (SIM, subscriber identity module) 38, un módulo de identidad de usuario extraíble (R-UIM, removable user identity module), y / o similares, que pueden almacenar elementos de información en relación con un abonado móvil. Además del SIM, el terminal móvil puede comprender otra memoria extraíble y / o fija. El terminal móvil 10 puede incluir la memoria volátil 40 y / o la memoria no volátil 42. Por ejemplo, la memoria volátil 40 puede incluir Memoria de Acceso Aleatorio (RAM, Random Access Memory), incluyendo rAm dinámica y / o estática, memoria caché en chip o fuera de chip, y / o similares. La memoria no volátil 42, que puede estar embebida y / o ser extraíble, puede incluir, por ejemplo, memoria de solo lectura, memoria flash, dispositivos de almacenamiento magnético (por ejemplo, discos duros, unidades de disco flexible, cinta magnética, etc.), unidades y / o medios de disco óptico, memoria de acceso aleatorio no volátil (NVRAM, non - volatile random access memory), y / o similares. Al igual que la memoria volátil 40, la memoria no volátil 42 puede incluir un área de memoria caché para el almacenamiento temporal de los datos. Una o más de la memoria volátil 40 o la memoria no volátil 42 se pueden materializar como una memoria no transitoria y tangible. Las memorias pueden almacenar uno o más programas de soporte lógico, instrucciones, fragmentos de información, datos, y / o similares que pueden ser usados por el terminal móvil para llevar a cabo algunas funciones del terminal móvil. Por ejemplo, las memorias pueden comprender un identificador, tal como un código de identificación de equipo móvil internacional (IMEI, internationalmobile equipmentidentification), que es capaz de identificar de forma única el terminal móvil 10.
Volviendo a la figura 1, en algunas formas de realización a modo de ejemplo, el aparato de reconocimiento de gestos 102 incluye diversos medios para llevar a cabo las diversas funciones que se describen en el presente documento. Estos medios pueden comprender uno o más de un procesador 110, la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116, el sensor de gestos 118 o la unidad de reconocimiento de gestos 120. Los medios del aparato de reconocimiento de gestos 102 tal como se describe en el presente documento se pueden materializar como, por ejemplo, un conjunto de circuitos, elementos de soporte físico (por ejemplo, un procesador, circuito lógico combinacional, y / o similares, programado de forma conveniente), un producto de programa informático que comprende unas instrucciones de programa legibles por ordenador (por ejemplo, soporte lógico o soporte lógico inalterable) que están almacenadas en un medio legible por ordenador (por ejemplo, la memoria 112) que pueden ser ejecutadas por un dispositivo de procesamiento configurado de forma conveniente (por ejemplo, el procesador 110), o alguna combinación de los mismos.
En algunas formas de realización a modo de ejemplo, uno o más de los medios que se ilustran en la figura 1 se pueden materializar como un chip o conjunto de chips. Dicho de otra forma, el aparato de reconocimiento de gestos 102 puede comprender uno o más encapsulados físicos (por ejemplo, chips), incluyendo materiales, componentes y / o hilos en un montaje estructural (por ejemplo, una placa base). El montaje estructural puede proporcionar resistencia física, conservación del tamaño y / o limitación de la interacción eléctrica para un conjunto de circuitos de componentes que está incluido en el mismo. A este respecto, el procesador 110, la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116, el sensor de gestos 118 y / o la unidad de reconocimiento de gestos 120 se pueden materializar al menos parcialmente como un chip o conjunto de chips. Por lo tanto, el aparato de reconocimiento de gestos 102 se puede, en algunos casos, configurar para o puede comprender un componente o componentes que están configurados para poner en práctica formas de realización de la presente invención en un único chip o como un único “sistema en chip". En este sentido, en algunos casos, un chip o conjunto de chips puede constituir unos medios para llevar a cabo una o más operaciones para proporcionar las funcionalidades que se describen en el presente documento y / o para posibilitar una navegación de interfaz de usuario con respecto a las funcionalidades y / o servicios que se describen en el presente documento.
El procesador 110 se puede materializar, por ejemplo, como diversos medios, incluyendo uno o más microprocesadores con procesadores de señales digitales adjuntos, uno o más procesador o procesadores sin un procesador de señales digitales adjunto, uno o más coprocesadores, uno o más procesadores de múltiples núcleos, uno o más controladores, un conjunto de circuitos de procesamiento, uno o más ordenadores, diversos otros elementos de procesamiento, incluyendo circuitos integrados tales como, por ejemplo, un ASIC (application specific
integrated circuit, circuito integrado para aplicaciones específicas) o FPGA (fieldprogrammable gate array, disposición de puertas programable en campo), otros uno o más tipos de procesadores de soporte físico, o alguna combinación de los mismos. Por consiguiente, a pesar de que se ilustra en la figura 1 como un único procesador, en algunas formas de realización el procesador 110 comprende una pluralidad de procesadores. La pluralidad de procesadores se pueden encontrar en comunicación operativa entre sí y se pueden configurar de forma colectiva para llevar a cabo una o más funcionalidades del aparato de reconocimiento de gestos 102 tal como se describe en el presente documento. La pluralidad de procesadores se pueden materializar en un único dispositivo informático o distribuirse a lo largo de una pluralidad de dispositivos informáticos que están configurados de forma colectiva para funcionar como el aparato de reconocimiento de gestos 102. En las formas de realización en las que el aparato de reconocimiento de gestos 102 se materializa como un terminal móvil 10, el procesador 110 se puede materializar como o comprender el procesador 20. En algunas formas de realización a modo de ejemplo, el procesador 110 está configurado para ejecutar unas instrucciones que están almacenadas en la memoria 112 o a las que puede acceder de otro modo el procesador 110. Estas instrucciones, cuando son ejecutadas por el procesador 110, pueden dar lugar a que el aparato de reconocimiento de gestos 102 lleve a cabo una o más de las funcionalidades del aparato de reconocimiento de gestos 102 tal como se describe en el presente documento. En este sentido, ya se configure por medio de métodos de soporte físico o de soporte lógico, o por medio de una combinación de los mismos, el procesador 110 puede comprender una entidad capaz de realizar operaciones de acuerdo con una o más formas de realización a modo de ejemplo mientras está configurada en consecuencia. Por lo tanto, por ejemplo, cuando el procesador 110 se materializa como un ASIC, FPGA o similares, el procesador 110 puede comprender un soporte físico configurado específicamente para llevar a cabo una o más operaciones que se describen en el presente documento. Como alternativa, como otro ejemplo, cuando el procesador 110 se materializa como una unidad de ejecución de instrucciones, tales como las que se pueden almacenar en la memoria 112, las instrucciones pueden configurar específicamente el procesador 110 para llevar a cabo uno o más algoritmos y operaciones que se describen en el presente documento.
La memoria 112 puede comprender, por ejemplo, una memoria volátil, una memoria no volátil, o alguna combinación de las mismas. A este respecto, la memoria 112 puede comprender un medio de almacenamiento legible por ordenador no transitorio. A pesar de que se ilustra en la figura 1 como una única memoria, la memoria 112 puede comprender una pluralidad de memorias. La pluralidad de memorias se pueden materializar en un único dispositivo informático o se pueden distribuir a lo largo de una pluralidad de dispositivos informáticos que están configurados de forma colectiva para funcionar como el aparato de reconocimiento de gestos 102. En diversas formas de realización a modo de ejemplo, la memoria 112 puede comprender un disco duro, una memoria de acceso aleatorio, una memoria caché, una memoria flash, un disco compacto - memoria de solo lectura (CD-ROM, compactdiscreadonlymemory), un disco versátil digital - memoria de solo lectura (DVD-ROM, digital versatile disc read only memory), un disco óptico, un conjunto de circuitos que está configurada para almacenar información, o alguna combinación de los mismos. En las formas de realización en las que el aparato de reconocimiento de gestos 102 se materializa como un terminal móvil 10, la memoria 112 puede comprender la memoria volátil 40 y / o la memoria no volátil 42. La memoria 112 se puede configurar para almacenar información, datos, aplicaciones, instrucciones, o similares para posibilitar que el aparato de reconocimiento de gestos 102 lleve a cabo diversas funciones de acuerdo con diversas formas de realización a modo de ejemplo. Por ejemplo, en algunas formas de realización a modo de ejemplo, la memoria 112 está configurada para almacenar temporalmente unos datos de entrada para su procesamiento por el procesador 110. Adicionalmente o como alternativa, la memoria 112 se puede configurar para almacenar instrucciones de programa para su ejecución por el procesador 110. La memoria 112 puede almacenar información en forma de información estática y / o dinámica. La información almacenada puede incluir, por ejemplo, un conjunto previamente almacenado de gestos de plantilla. Esta información almacenada puede ser almacenada y / o usada por el sensor de gestos 118 y / o la unidad de reconocimiento de gestos 120 durante el transcurso de la realización de sus funcionalidades.
La interfaz de comunicación 114 se puede materializar como cualquier dispositivo o medios que se materialicen en un conjunto de circuitos, un soporte físico, un producto de programa informático que comprende unas instrucciones de programa legibles por ordenador que están almacenadas en un medio legible por ordenador (por ejemplo, la memoria 112) y que son ejecutadas por un dispositivo de procesamiento (por ejemplo, el procesador 110), o una combinación de los mismos que esté configurada para recibir y / o transmitir datos a partir de / a otro dispositivo informático. En una forma de realización a modo de ejemplo, la interfaz de comunicación 114 se materializa como o se controla de otro modo, al menos parcialmente, por medio del procesador 110. A este respecto, la interfaz de comunicación 114 se puede encontrar en comunicación con el procesador 110, tal como por medio de un bus. La interfaz de comunicación 114 puede incluir, por ejemplo, una antena, un transmisor, un receptor, un transceptor y / o soporte físico o soporte lógico de soporte para posibilitar unas comunicaciones con uno o más dispositivos informáticos remotos. La interfaz de comunicación 114 se puede configurar para recibir y / o transmitir datos usando cualquier protocolo que se pueda usar para las comunicaciones entre dispositivos informáticos. A este respecto, la interfaz de comunicación 114 se puede configurar para recibir y / o transmitir datos usando cualquier protocolo que se pueda usar para la transmisión de datos a través de una red inalámbrica, una red cableada, alguna combinación de las mismas, o similares por medio de la cual se pueden encontrar en comunicación el aparato de reconocimiento de gestos 102 y uno o más dispositivos informáticos. A modo de ejemplo, la interfaz de comunicación 114 se puede configurar para recibir datos a partir de y / o transmitir datos a un aparato de detección de gestos 304 a través de una red 306, tal como se ilustra en la figura 3. Adicionalmente, la interfaz de comunicación 114 se puede encontrar en comunicación con la memoria 112, la interfaz de usuario 116, el sensor de gestos 118 y / o la unidad de reconocimiento de gestos 120, tal como por medio de un bus.
La interfaz de usuario 116 se puede encontrar en comunicación con el procesador 110 para recibir una indicación de una entrada de usuario y / o para proporcionar una salida audible, visual, mecánica o de otro tipo a un usuario. En este sentido, la interfaz de usuario 116 puede incluir, por ejemplo, un teclado, un ratón, una palanca de control, un visualizador, un visualizador de pantalla táctil, un micrófono, un altavoz y / u otros mecanismos de entrada / salida. En las formas de realización en las que la interfaz de usuario 116 comprende o se encuentra en comunicación con un visualizador, el visualizador puede comprender, por ejemplo, un visualizador de tubo de rayos catódicos (CRT, cathode ray tube), un panel de visualización de plasma (PDP, plasma display panel), un visualizador de cristal líquido (LCD, liquid crystal display), un diodo de emisión de luz (LED, light - emitting diode), un visualizador de diodos de emisión de luz orgánicos (OLED, organic light - emitting diode display), un proyector (por ejemplo, un proyector que está configurado para proyectar una visualización sobre una pantalla de proyección, una pared y / u otro objeto), un visualizador holográfico, o similares. En las formas de realización en las que la interfaz de usuario 116 comprende un visualizador de pantalla táctil, la interfaz de usuario 116 se puede configurar adicionalmente para detectar y / o recibir una indicación de un gesto de toque u otra entrada al visualizador de pantalla táctil. La interfaz de usuario 116 se puede encontrar en comunicación con la memoria 112, la interfaz de comunicación 114, el sensor de gestos 118 y / o la unidad de reconocimiento de gestos 120, tal como por medio de un bus.
El sensor de gestos 118 se puede materializar como diversos medios, tales como un conjunto de circuitos, un soporte físico, un producto de programa informático que comprende unas instrucciones de programa legibles por ordenador que están almacenadas en un medio legible por ordenador (por ejemplo, la memoria 112) y que son ejecutadas por un dispositivo de procesamiento (por ejemplo, el procesador 110), o alguna combinación de los mismos y, en algunas formas de realización, se materializa como o se controla de otro modo por medio del procesador 110. En las formas de realización en las que el sensor de gestos 118 se materializa por separado del procesador 110, el sensor de gestos 118 se puede encontrar en comunicación con el procesador 110. El sensor de gestos 118 se puede encontrar adicionalmente en comunicación con una o más de la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116 o la unidad de reconocimiento de gestos 120, tal como por medio de un bus.
En algunas formas de realización a modo de ejemplo, el sensor de gestos 118 puede comprender un acelerómetro, un giróscopo, un magnetómetro, un podómetro, alguna combinación de los mismos, o similares. A este respecto, el sensor de gestos 118 puede comprender una entidad que está configurada para determinar un estado de movimiento y / o una propiedad de un estado de movimiento de un aparato, tal como el aparato de reconocimiento de gestos 102. Por ejemplo, el sensor de gestos 118 se puede configurar para detectar y emitir datos acerca de una longitud en tiempo, longitud en distancia, tasa, aceleración, dirección, gravedad y / u otra propiedad de un gesto u otro movimiento de un aparato. En las formas de realización en las que el aparato de reconocimiento de gestos 102 comprende un terminal móvil 10, el sensor de gestos 118 puede comprender el sensor de gestos 36.
La unidad de reconocimiento de gestos 120 se puede materializar como diversos medios, tales como un conjunto de circuitos, un soporte físico, un producto de programa informático que comprende unas instrucciones de programa legibles por ordenador que están almacenadas en un medio legible por ordenador (por ejemplo, la memoria 112) y que son ejecutadas por un dispositivo de procesamiento (por ejemplo, el procesador 110), o alguna combinación de los mismos y, en algunas formas de realización, se materializa como o se controla de otro modo por medio del procesador 110. En las formas de realización en las que la unidad de reconocimiento de gestos 120 se materializa por separado del procesador 110, la unidad de reconocimiento de gestos 120 se puede encontrar en comunicación con el procesador 110. La unidad de reconocimiento de gestos 120 se puede encontrar adicionalmente en comunicación con uno o más de la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116 o el sensor de gestos 118, tal como por medio de un bus. En algunas formas de realización a modo de ejemplo, la unidad de reconocimiento de gestos 120 puede comprender un procesador de señales de imagen.
La figura 3 ilustra un sistema 300 para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo. A este respecto, la figura 3 ilustra un sistema en el que se pueden poner en práctica algunas formas de realización a modo de ejemplo del aparato de reconocimiento de gestos 102. El sistema 300 puede comprender un aparato de detección de gestos 302 y un aparato de reconocimiento de gestos 304, que se pueden encontrar en comunicación a través de una red 306.
La red 306 puede comprender una o más redes inalámbricas (por ejemplo, una red celular, red de área local inalámbrica, red de área personal inalámbrica, red de área metropolitana inalámbrica, red de área personal inalámbrica), una o más redes cableadas, un enlace inalámbrico (por ejemplo, un enlace de radio, un enlace de Bluetooth, un enlace de ZigBee, un enlace de bus serie universal inalámbrico, un enlace de datos de Infrarrojos, y / o similares u otra interfaz o enlace inalámbrico), o alguna combinación de los mismos y, en algunas formas de realización, puede comprender al menos una porción de Internet.
Cada uno del aparato de detección de gestos 302 y el aparato de reconocimiento de gestos 304 se puede materializar como cualquier dispositivo informático. A modo de ejemplo no limitante, el aparato de detección de gestos 302 y / o el aparato de reconocimiento de gestos 304 se pueden materializar como un ordenador de sobremesa, un ordenador portátil, un terminal móvil, un ordenador móvil, un teléfono móvil, un dispositivo de comunicación móvil, uno o más servidores, uno o más nodos de red, un dispositivo de juegos, una cámara digital / cámara de vídeo de mano, un
reproductor de audio / vídeo, un dispositivo de televisión, un receptor de radio, una grabadora de vídeo digital, un dispositivo de posicionamiento, un controlador de juegos, un controlador de televisión, un controlador de dispositivo electrónico, un conjunto de chips, un dispositivo informático que comprende un conjunto de chips, cualquier combinación de los mismos, y / o similares.
En algunas formas de realización a modo de ejemplo, una entidad que se pone en práctica en el aparato de detección de gestos 302 se puede configurar para detectar el movimiento del aparato de detección de gestos 302 (por ejemplo, un gesto que se realiza con el aparato de detección de gestos 302), y puede recopilar información acerca del movimiento detectado y trasportar esa información hasta el aparato de reconocimiento de gestos 304 por medio de la red 306. A este respecto, en algunas formas de realización a modo de ejemplo, el sensor de gestos 118 se puede materializar al menos parcialmente en un aparato de detección de gestos 302.
El aparato de reconocimiento de gestos 304 puede procesar la información recibida acerca del movimiento del aparato de detección de gestos 302 con el fin de reconocer un gesto que se realiza con el aparato de detección de gestos 302 de acuerdo con cualquiera de las diversas formas de realización a modo de ejemplo que se dan a conocer en el presente documento. Por consiguiente, el aparato de reconocimiento de gestos 304 puede comprender una forma de realización del aparato de reconocimiento de gestos 102.
Como un ejemplo, el sistema 300 puede comprender un sistema en el que un aparato de control móvil se usa para controlar o proporcionar de otro modo una entrada de usuario de forma remota a otro aparato. Por ejemplo, en una puesta en práctica del sistema 300, el aparato de detección de gestos 302 puede comprender un controlador de videojuegos sensible al movimiento, y el aparato de reconocimiento de gestos 304 puede comprender una consola de videojuegos que puede prever un control de juegos basándose en una información de gestos que se recibe a partir del aparato de detección de gestos 302. Como otro ejemplo, el aparato de detección de gestos 302 puede comprender un controlador para una televisión, un reproductor de medios, u otro dispositivo electrónico de consumo, y el aparato de reconocimiento de gestos 304 puede comprender un dispositivo electrónico de consumo respectivo que es controlado por el controlador, que se puede configurar para reconocer un gesto de control basándose en una información que se recibe a partir del aparato de reconocimiento de gestos 304 y llevar a cabo una operación basándose en el gesto de control reconocido.
En este sentido, se apreciará que, cuando un gesto, un gesto de entrada, una información acerca de un movimiento / gesto, unos datos que describen un gesto que es capturado por un sensor de gestos, y / o similares se analiza como si se estuviera procesando, segmentando, reconociendo, y / o similares por medio de la unidad de reconocimiento de gestos 120 u otra entidad del aparato de reconocimiento de gestos 102, el gesto o movimiento puede comprender un gesto que se realiza con el aparato de reconocimiento de gestos 102, o puede comprender un gesto que se realiza con un dispositivo que se puede encontrar en comunicación con el aparato de reconocimiento de gestos 102, tal como un aparato de detección de gestos 302.
En algunas formas de realización a modo de ejemplo, la unidad de reconocimiento de gestos 120 se puede configurar para proporcionar servicios de reconocimiento de gestos para las aplicaciones dentro de un marco de trabajo para aplicaciones. El marco de trabajo para aplicaciones de algunas formas de realización a modo de ejemplo puede comprender un marco de trabajo para aplicaciones abierto que puede permitir que los desarrolladores aprovechen los servicios de reconocimiento de gestos que pueden ser proporcionados por la unidad de reconocimiento de gestos 120 para posibilitar unos controles con gestos para aplicaciones específicas. Haciendo referencia a continuación a la figura 4, la figura 4 ilustra una puesta en práctica de capas de soporte lógico de un marco de trabajo para aplicaciones para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo.
Las capas pueden incluir una capa de sistema operativo 402. La capa de sistema operativo 402 puede comprender y / o puede servir como una capa de base para la puesta en práctica de una o más unidades de accionamiento de sensor 404. Las unidades de accionamiento de sensor 404 pueden proporcionar unas unidades de accionamiento para el accionamiento del sensor de gestos 118. A este respecto, las unidades de accionamiento de sensor 404 pueden proporcionar unas unidades de accionamiento para un sensor de tipo acelerómetro de 3 ejes, un giróscopo de 3 ejes, un magnetómetro de 3 ejes y / u otros sensores que se pueden configurar para facilitar el reconocimiento de gestos de movimiento. La biblioteca de kit de desarrollo de soporte lógico de (SDK, software development kit) de gestos de movimiento 406 se puede poner en práctica y / o controlarse al menos parcialmente por medio de la unidad de reconocimiento de gestos 120, y puede recibir datos de gestos de movimiento que son recopilados por los sensores bajo el control de las unidades de accionamiento de sensor 404. El SDK de gestos de movimiento 406 puede posibilitar que un desarrollador de aplicaciones utilice una interfaz de programación de aplicaciones (API, application programming interface) de reconocimiento de gestos para entrenar y probar gestos de movimiento directamente en su aplicación. Además, el marco de trabajo para aplicaciones 408 puede proporcionar una capa de abstracción más alta para la creación de aplicaciones por los desarrolladores. El marco de trabajo para aplicaciones 408 puede prever que se creen unas API de nivel superior para diferentes categorías de gestos al tiempo que se utiliza la biblioteca de SDK de gestos de movimiento 406. Las diferentes categorías de control con gestos pueden incluir categorías tales como un control de interfaz de usuario de dispositivo móvil (por ejemplo, atajos de gesto a las aplicaciones o control de menú), juegos, salud y bienestar, experiencias educativas para generaciones más jóvenes, asistencia al entrenamiento deportivo y / u otras aplicaciones en las que se puede utilizar el reconocimiento de gestos de movimiento.
La unidad de reconocimiento de gestos 120 se puede configurar para recibir unos datos que describen un gesto de entrada. A este respecto, un gesto de entrada se puede describir por medio de los datos de movimiento que son capturados por el sensor de gestos 118. El gesto de entrada puede comprender cualquier gesto realizado que pueda impartir movimiento a un dispositivo, tal como el aparato 102, el aparato de detección de gestos 302, o similares. En algunas formas de realización a modo de ejemplo, la unidad de reconocimiento de gestos 120 puede recibir un flujo sin procesar de datos que son capturados por el sensor de gestos 118, que puede comprender unos datos que describen múltiples gestos y / u otro movimiento de un dispositivo. En tales formas de realización, la unidad de reconocimiento de gestos 120 se puede configurar para poner en práctica una unidad de delimitación que se puede configurar para segmentar el flujo de datos en unos gestos individuales. Como un ejemplo, puede haber un pausa ligera en el movimiento al inicio y / o al final de un gesto, que puede ser usada por la unidad de delimitación para facilitar la segmentación. Como otro ejemplo, un usuario puede oprimir un botón, realizar un gesto de toque a una pantalla táctil o proporcionar otra entrada para indicar el inicio y / o la compleción de un gesto. Esta entrada puede ser usada por la unidad de delimitación para facilitar la segmentación de gestos. En otras formas de realización a modo de ejemplo, los datos que son capturados por el sensor de gestos 118 se pueden segmentar en gestos de entrada individuales (por ejemplo, por medio del sensor de gestos 118) antes de pasarse a la unidad de reconocimiento de gestos 120. A este respecto, se apreciará que una unidad de delimitación se puede poner en práctica por medio de otra entidad, tal como el sensor de gestos 118) además de o en lugar de la puesta en práctica de una unidad de delimitación por medio de la unidad de reconocimiento de gestos 120.
La unidad de reconocimiento de gestos 120 se puede configurar para comparar un gesto de entrada con cada uno de una pluralidad de gestos de plantilla previamente definidos para intentar hallar un gesto de plantilla que concuerde con el gesto de entrada con el fin de facilitar el reconocimiento del gesto de entrada. Los gestos de plantilla se pueden almacenar, por ejemplo, en la memoria 112, y pueden haber sido definidos por un usuario, un desarrollador de aplicaciones, un fabricante de dispositivos, y / o similares. En la comparación del gesto de entrada con un gesto de plantilla, la unidad de reconocimiento de gestos 120 se puede configurar para determinar una matriz de rotación entre el gesto de entrada y el gesto de plantilla. La unidad de reconocimiento de gestos 120 puede usar la matriz de rotación para rotar el gesto de plantilla hasta el sistema de coordenadas cartesianas del gesto de entrada, dando como resultado la creación de un nuevo gesto de plantilla rotado. La unidad de reconocimiento de gestos 120 puede aplicar una unidad de clasificación de reconocimiento de gestos al gesto de plantilla rotado y el gesto de entrada para determinar si el gesto de plantilla concuerda con el gesto de entrada. La unidad de clasificación de reconocimiento de gestos puede comprender cualquier unidad de clasificación apropiada, tal como DTW, un Modelo Oculto de Márkov (HMM, Hidden Markov Model), Redes Neuronales Artificiales (ANN, Artificial Neural Networks), o similares.
En algunas formas de realización a modo de ejemplo, la unidad de reconocimiento de gestos 120 se puede configurar para aplicar una o más técnicas de filtrado de tal modo que algunos de los gestos de plantilla se pueden eliminar de toda consideración ulterior antes de la rotación del gesto de plantilla y / o antes de la aplicación de la unidad de clasificación de reconocimiento de gestos. Por consiguiente, se pueden reducir la complejidad computacional y el consumo de potencia para el reconocimiento de gestos.
Haciendo referencia a continuación a la figura 5, la figura 5 ilustra un flujo de proceso a modo de ejemplo para facilitar el reconocimiento de gestos usando un filtrado de acuerdo con algunas formas de realización a modo de ejemplo. Tal como se ilustra por medio de 502, un sensor de gestos, tal como el sensor de gestos 118, puede capturar unos datos que describen el movimiento de un aparato. En el ejemplo de la figura 5, el sensor de gestos se ilustra a modo de ejemplo como si se materializara como un acelerómetro, y puede proporcionar datos de acelerómetro. No obstante, se apreciará que se pueden usar sensores de gestos que no sean un acelerómetro además de o en lugar de un acelerómetro dentro del contexto de la forma de realización a modo de ejemplo que se ilustra en la figura 5. Una unidad de delimitación 504 puede segmentar los datos de acelerómetro para determinar un gesto de entrada, que se indica por medio del símbolo s. El gesto de entrada se puede comparar con un conjunto de gestos de plantilla 506. El conjunto de gestos de plantilla se puede indicar como gz, i = 1, 2 ,..., N}. A este respecto, tal como se ilustra por medio de las operaciones 508, un filtrado puede ser aplicado por la unidad de reconocimiento de gestos 120 a cada gesto de plantilla respectivo en el conjunto de gestos de plantilla en el proceso de rotar un gesto de plantilla hasta el sistema de coordenadas del gesto de entrada.
Si un gesto de plantilla se elimina de toda consideración ulterior por filtrado, la unidad de reconocimiento de gestos 120 puede determinar que una distancia entre el gesto de plantilla eliminado y el gesto de entrada es “Dist_máx”, tal como se ilustra por medio de la referencia 510. A este respecto, “Dist_máx” puede comprender un valor que es de una magnitud lo bastante significativa como para que no se determine que el gesto de plantilla eliminado concuerda con el gesto de entrada, o puede comprender una bandera u otro valor que indique el gesto de plantilla como que se esté eliminando. Por consiguiente, la unidad de reconocimiento de gestos 120 puede aplicar uno o más filtros durante y / o antes de llevar a cabo unos cálculos para rotar un gesto de plantilla hasta un sistema de coordenadas de un gesto de entrada. A este respecto, se pueden usar unos filtros para eliminar de toda consideración ulterior algunos gestos de plantilla antes de la rotación de los gestos de plantilla eliminados y / o antes de la aplicación de una unidad de clasificación de reconocimiento de gestos a los gestos de plantilla eliminados.
Si, no obstante, un gesto de plantilla satisface el umbral o umbrales del filtro o filtros aplicados, la unidad de
reconocimiento de gestos 120 puede aplicar una unidad de clasificación de reconocimiento de gestos, tal como un algoritmo de DTW, al gesto de plantilla para calcular una distancia entre el gesto de entrada y el gesto de plantilla, tal como se ilustra por medio de las referencias 512. Después de que se haya procesado cada gesto de plantilla en el conjunto de gestos de plantilla (por ejemplo, o bien se haya eliminado por filtrado o rotado y comparado con el gesto de entrada usando una unidad de clasificación de reconocimiento de gestos), la unidad de reconocimiento de gestos 120 puede determinar el gesto de plantilla que tiene la distancia mínima con respecto al gesto de entrada. Si la distancia mínima es menor que (o igual a) un umbral Th_dtw, la unidad de reconocimiento de gestos 120 puede determinar que el gesto de plantilla que tiene la distancia mínima es una concordancia con el gesto de entrada. Si, no obstante, la distancia mínima supera el umbral, la unidad de reconocimiento de gestos 120 puede determinar que no hay un gesto de plantilla que concuerde con el gesto de entrada.
Habiendo descrito hasta el momento en general el filtrado y el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo, diversas técnicas de filtrado que se pueden poner en práctica de acuerdo con algunas formas de realización a modo de ejemplo se describirán a continuación con más detalle. En algunas formas de realización a modo de ejemplo, la unidad de reconocimiento de gestos 120 puede comparar una o más propiedades de un gesto de plantilla con una o más propiedades correspondientes del gesto de entrada antes de la rotación del gesto de plantilla. Si la comparación de las propiedades respectivas satisface un umbral o umbrales previamente definidos, la unidad de reconocimiento de gestos 120 puede proceder a llevar a cabo unos cálculos para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada. Si, no obstante, la comparación no satisface el umbral o umbrales previamente definidos, la unidad de reconocimiento de gestos 120 puede eliminar de toda consideración ulterior el gesto de plantilla antes de llevar a cabo unos cálculos adicionales para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada.
Por consiguiente, determinar si una comparación de las propiedades satisface un umbral o umbrales previamente definidos puede servir como un filtro. Las propiedades que se pueden comparar pueden incluir, por ejemplo, longitudes del gesto de entrada y el gesto de plantilla, tasas del gesto de plantilla y el gesto de entrada, aceleración del gesto de entrada y el gesto de plantilla, alguna combinación de los mismos, o similares. El umbral previamente definido puede comprender, por ejemplo, un valor, una magnitud, una relación, un grado de desviación, o similares que pueda definir una relación aceptable entre una propiedad del gesto de plantilla y el gesto de entrada. A este respecto, el umbral previamente definido puede comprender una métrica para asegurar que una propiedad del gesto de plantilla no se desvía de forma demasiado significativa (por ejemplo, más de una cantidad aceptable) con respecto a una propiedad respectiva del gesto de entrada. Si una propiedad del gesto de plantilla se desvía de hecho de forma significativa con respecto a la propiedad respectiva del gesto de entrada, se puede considerar que el gesto de plantilla no es una concordancia con el gesto de entrada, y se puede eliminar de toda consideración ulterior. El umbral previamente definido puede ser definido por un usuario, un desarrollador de aplicaciones, un desarrollador de soporte físico, o similares. El umbral previamente definido se puede definir a cualquier valor apropiado para representar un intervalo de tolerancia a errores deseado, una sensibilidad de filtro y / u otro factor.
Como un ejemplo, la unidad de reconocimiento de gestos 120 puede llevar a cabo las siguientes operaciones para comparar la longitud del gesto de plantilla gz con la longitud del gesto de entrada s para asegurar que la diferencia en las longitudes no supera una longitud umbral previamente definida.
1.1 Estimar el vector de gravedad grav (s) a partir de s, y grav (gi) a partir de gz, de forma respectiva;
1.2 Si | longitud (s) - longitud (gi) | < máx {longitud (s), longitud (gi)} / 3,
Remuestrear el más corto de s y gz a máx {longitud (s), longitud (gz)};
Proceder con el cálculo para rotar gz (Ir a la Operación 2.1);
Si no
Devolver Dist_máx; (eliminar de toda consideración ulterior gi)
Con el fin de rotar un gesto de plantilla hasta el sistema de coordenadas del gesto de entrada, la unidad de reconocimiento de gestos 120 puede calcular una matriz de rotación. Estos cálculos pueden incluir las siguientes operaciones:
2.1 Retirar la media de s y gz, de forma respectiva;
2.2 Construir la matriz de covarianza de 3 x 3 C entre s y gz;
2.3 Construir una matriz de 4 x 4 simétrica M a partir de nueve elementos de C como lo siguiente:
M (1, 1) = C (1, 1) C (2, 2) M (1, 2) = C (2, 3) - C (3, 2) M (1, 3) == C (3, 1) - C (1,3) M (1, 4) == C (1, 2) - C (2, 1) C (3, 3)
M (2, 1) = C (2, 3) - C (3, 2) M (2, 2) = C (1, 1) -■ C (2, 2) - M (2, 3) == C (1, 2) r C (2, 1) M (2, 4) =: C (3, 1) - C (1, 3) C (3, 3)
M (3, 1) = C (3, 1) - C (1, 3) M (3, 2) = C (1, 2) C (2, 1) M (3, 3) = -c (1, 1) C (2, 2) - M (3, 4) =: C (2, 3) C (3, 2)
C (3, 3)
M (4, 1) = C (1, 2) - C (2, 1) M (4, 2) = C (3, 1) C (1, 3) M (4, 3) = C (2, 3) h C (3, 2) M (4, 4) == -c (1, 1) - C (2, 2)
C (3, 3)
La unidad de reconocimiento de gestos 120 puede poner en práctica una operación de filtrado mediante la determinación de si una relación que se determina basándose, al menos en parte, en la matriz construida M satisface un umbral previamente definido. Si la relación no satisface el umbral previamente definido, el gesto de plantilla g, se puede eliminar de toda consideración ulterior. Si, no obstante, la relación sí satisface el umbral previamente definido, la unidad de reconocimiento de gestos 120 puede continuar los cálculos para rotar el gesto de plantilla g, hasta el sistema de coordenadas del gesto de entrada s. Por consiguiente, determinar si la relación satisface un umbral previamente definido puede servir como un filtro para eliminar gestos de plantilla que puede que no se consideren una concordancia potencial basándose en la relación determinada. El umbral previamente definido puede comprender, por ejemplo, un valor, una magnitud, una relación, un grado de desviación, o similares que pueda definir una relación aceptable. A este respecto, el umbral previamente definido puede comprender una métrica para asegurar que el gesto de plantilla no se desvía de forma demasiado significativa (por ejemplo, más de una cantidad aceptable) con respecto a una propiedad respectiva del gesto de entrada. El umbral previamente definido puede ser definido por un usuario, un desarrollador de aplicaciones, un desarrollador de soporte físico, o similares. El umbral previamente definido se puede definir a cualquier valor apropiado para representar un intervalo de tolerancia a errores deseado, una sensibilidad de filtro y / u otro factor.
Como un ejemplo, la unidad de reconocimiento de gestos 120 puede determinar si una relación entre el autovalor positivo más grande de M y los otros autovalores de M satisface un umbral previamente definido. Por ejemplo, la unidad de reconocimiento de gestos 120 puede determinar si una relación entre el autovalor positivo más grande de M y los otros autovalores de M supera un umbral previamente definido, tal como 1,5, tal como se usa a modo de ejemplo, y no a modo de limitación, en las siguientes operaciones a modo de ejemplo que pueden ser llevadas a cabo por la unidad de reconocimiento de gestos 120:
2.4 Calcular los cuatro autovalores y los autovectores correspondientes de M;
2.5 Si el autovalor positivo más grande es significativamente mayor que el resto de autovalores (relación > 1,5)
Proceder con el cálculo para rotar g ( I r a la Operación 2.6);
Si no
Devolver Dist_máx; (eliminar de toda consideración ulterior gi)
Suponiendo que el gesto de plantilla g, no se haya eliminado de toda consideración ulterior, la unidad de reconocimiento de gestos 120 puede llevar a cabo las siguientes operaciones para determinar la matriz de rotación para g y s:
2.6 Tomar el autovector con el autovalor positivo más grande como un cuaternión unitario Q;
2.7 Hallar la matriz de rotación R representada por Q;
Después de calcular la matriz de rotación, la unidad de reconocimiento de gestos 120 puede llevar a cabo, de forma opcional, una operación de filtrado adicional antes de rotar el gesto de plantilla hasta el sistema de coordenadas del gesto de entrada. A este respecto, la unidad de reconocimiento de gestos 120 puede usar la matriz de rotación para rotar un vector de gravedad que está asociado al gesto de plantilla hasta un sistema de coordenadas del gesto de entrada. La unidad de reconocimiento de gestos 120 puede comparar el vector de gravedad rotado con un vector de gravedad que está asociado al gesto de entrada para determinar si un ángulo entre el vector de gravedad rotado que está asociado al gesto de plantilla y el vector de gravedad que está asociado al gesto de entrada satisface un umbral previamente definido. Si el ángulo satisface el umbral previamente definido, la unidad de reconocimiento de gestos 120 puede proceder con los cálculos para rotar el gesto de plantilla hasta el sistema de coordenadas del gesto de entrada. Si, no obstante, el ángulo no satisface el umbral previamente definido, el gesto de plantilla se puede eliminar de toda consideración ulterior. A este respecto, un gesto de plantilla se puede registrar, por ejemplo, como una tupla de (gesto, vector de gravedad) durante una fase de entrenamiento y de realización de pruebas. Durante el reconocimiento, el vector de gravedad se puede usar como una marca de agua para filtrar cuando se lleva a cabo el reconocimiento de un gesto de entrada.
El umbral previamente definido puede comprender, por ejemplo, un ángulo, valor de coseno, valor, u otra métrica previamente definida, que pueda definir un ángulo aceptable entre el vector de gravedad rotado que está asociado al gesto de plantilla y el vector de gravedad que está asociado al gesto de entrada. A este respecto, por ejemplo, si el ángulo entre el vector de gravedad rotado que está asociado al gesto de plantilla y el vector de gravedad que está asociado al gesto de entrada supera el valor umbral previamente definido, se puede considerar que el gesto de plantilla no es un candidato aceptable para una concordancia con el gesto de entrada, y se puede eliminar de toda consideración ulterior. Como otro ejemplo, si el umbral previamente definido es un valor de coseno, se pueden calcular el coseno del ángulo entre el vector de gravedad rotado que está asociado al gesto de plantilla y el vector de gravedad que está asociado al gesto de entrada y compararse con el valor de coseno umbral. Si el valor de coseno calculado supera el valor de coseno umbral, se puede considerar que el gesto de plantilla no es un candidato aceptable para una concordancia con el gesto de entrada, y se puede eliminar de toda consideración ulterior. El umbral previamente definido puede ser definido por un usuario, un desarrollador de aplicaciones, un desarrollador de soporte físico, o similares. El umbral previamente definido se puede definir a cualquier valor apropiado para representar un intervalo de tolerancia a errores deseado, una sensibilidad de filtro y / u otro factor.
Como un ejemplo, la unidad de reconocimiento de gestos 120 puede llevar a cabo las siguientes operaciones para comparar el vector de gravedad del gesto de plantilla con el vector de gravedad del gesto de entrada:
3.1 Usar R para rotar grav (gi) en el sistema de coordenadas de g, de vuelta al sistema de coordenadas de s; 3.2 Si el ángulo entre grav (g,) rotado y grav (s) está próximo a cero (por ejemplo, determinar si el cos (ángulo) es menor que un valor de coseno umbral, tal como 0,8),
Proceder con el cálculo para rotar g, (Ir a la Operación 3.3);
Si no
Devolver Dist_máx; (eliminar de toda consideración ulterior gi)
Suponiendo que el gesto de plantilla g, no se haya eliminado de toda consideración ulterior, la unidad de reconocimiento de gestos 120 puede rotar el gesto de plantilla hasta el sistema de coordenadas del gesto de entrada, tal como sigue:
3.3 Usar R para rotar g, de vuelta al sistema de coordenadas de s;
La unidad de reconocimiento de gestos 120 puede llevar a cabo una operación de filtrado adicional antes de usar una unidad de clasificación de reconocimiento de gestos para comparar el gesto de plantilla rotado y el gesto de entrada. A este respecto, la unidad de reconocimiento de gestos 120 puede calcular una distancia por pares entre el gesto de plantilla rotado y el gesto de prueba. Si la distancia es menor que un umbral previamente definido, la unidad de reconocimiento de gestos puede aplicar la unidad de clasificación de reconocimiento de gestos al gesto de plantilla rotado y el gesto de entrada. De lo contrario, el gesto de plantilla se puede eliminar de toda consideración ulterior. El umbral previamente definido puede comprender, por ejemplo, una distancia previamente definida u otra métrica que se pueda usar para asegurar que la distancia por pares no supera un intervalo de tolerancia aceptable. A este respecto, si la distancia por pares es mayor que el umbral, se puede considerar que el gesto de plantilla no es un candidato para poner en concordancia con el gesto de entrada, y se puede eliminar de toda consideración ulterior. El umbral previamente definido puede ser definido por un usuario, un desarrollador de aplicaciones, un desarrollador de soporte físico, o similares. El umbral previamente definido se puede definir a cualquier valor apropiado para representar un intervalo de tolerancia a errores deseado, una sensibilidad de filtro y / u otro factor. En algunas formas de realización a modo de ejemplo, el umbral previamente definido se puede aprender a partir de una distribución empírica de experimentos de prueba para el reconocimiento de gestos.
La unidad de reconocimiento de gestos 120 puede llevar a cabo, por ejemplo, las siguientes operaciones para determinar la distancia por pares entre el gesto de plantilla rotado y el gesto de entrada y determinar si la distancia por pares satisface (por ejemplo, es menor que) un umbral previamente definido:
3.4 Sumar la media de s al g, rotado para obtener un g,' preprocesado;
4.1 Debido a que g i y s tienen la misma longitud, calcular la distancia euclídea por pares entre los mismos; 4.2 Si la distancia euclídea por pares es menor que Th_pair (un umbral más grande que Th_dtw),
Ir a la unidad de clasificación de reconocimiento de gestos (por ejemplo, una unidad de clasificación de DTW); Si no
Devolver Dist_máx; (eliminar de toda consideración ulterior gi)
Las figuras 6a - 6c ilustran una rotación a modo de ejemplo de un gesto de plantilla hasta un sistema de coordenadas de un gesto de entrada de acuerdo con algunas formas de realización a modo de ejemplo. A este respecto, la figura 6a ilustra un gesto de plantilla para dibujar un gesto de círculo con un dispositivo orientado en la posición vertical. La figura 6b ilustra un gesto de prueba (por ejemplo, un gesto de entrada) de un gesto de círculo similar que se lleva a cabo con el dispositivo orientado en la posición horizontal. La figura 6c ilustra el gesto de plantilla de la figura 6a rotado hasta el sistema de coordenadas del gesto de prueba de la figura 6b de acuerdo con una forma de realización a modo de ejemplo. Tal como se puede observar, el gesto de plantilla rotado es sustancialmente similar al gesto de prueba. A este respecto, la distancia por pares entre el gesto de prueba y el gesto de plantilla rotado es 225. La aplicación de un algoritmo de DTW al gesto de prueba y el gesto de plantilla rotado puede dar como resultado una determinación de una distancia alineada entre el gesto de prueba y el gesto de plantilla de 165.
Haciendo referencia a continuación a la figura 7, la figura 7 ilustra un diagrama de flujo de acuerdo con un método a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo. Las operaciones que se ilustran en y que se describen con respecto a la figura 7 se pueden llevar a cabo, por ejemplo, por medio de, con la asistencia de y / o bajo el control de uno o más del procesador 110, la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116, el sensor de gestos 118 o la unidad de reconocimiento de gestos 120. La operación 700 puede comprender construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla. Por ejemplo, la operación 700 puede comprender calcular la matriz C y / o la matriz M, tal como se ha descrito en lo que antecede en la Operación 2.2 y la Operación 2.3. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 700. La operación 710 puede comprender determinar una relación basándose, al menos en parte, en la matriz construida. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 710. La operación 720 puede comprender determinar si la relación satisface un umbral previamente definido. El procesador 110, la memoria 112 y / o la unidad
de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 720. Si, en la operación 720, se determina que la relación no satisface el umbral previamente definido, la operación 730 puede comprender eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 730. Si, no obstante, en la operación 720 se determina que la relación sí satisface el umbral previamente definido, la operación 740 puede comprender determinar una matriz de rotación basándose, al menos en parte, en la matriz construida. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 740.
La figura 8 ilustra un diagrama de flujo de acuerdo con otro método a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo. Las operaciones que se ilustran en y que se describen con respecto a la figura 8 se pueden llevar a cabo, por ejemplo, por medio de, con la asistencia de y / o bajo el control de uno o más del procesador 110, la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116, el sensor de gestos 118 o la unidad de reconocimiento de gestos 120. La operación 800 puede comprender construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla. Por ejemplo, la operación 800 puede comprender calcular la matriz C y / o la matriz M, tal como se ha descrito en lo que antecede en la Operación 2.2 y la Operación 2.3. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 800. La operación 810 puede comprender calcular una pluralidad de autovalores basándose, al menos en parte, en la matriz construida. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 810. La operación 820 puede comprender determinar si una relación entre el autovalor que tiene el valor positivo más grande y otro de los autovalores es mayor que un umbral previamente definido. En algunas formas de realización a modo de ejemplo, esta determinación se puede repetir para las relaciones entre el autovalor positivo más grande y cada uno de los otros autovalores que se calculan en la operación 810. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 820. Si, en la operación 820, se determina que la relación no es mayor que el umbral previamente definido, la operación 830 puede comprender eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 830. Si, no obstante, en la operación 820 se determina que la relación es mayor que el umbral previamente definido, la operación 840 puede comprender determinar una matriz de rotación basándose, al menos en parte, en la matriz construida. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 840.
La figura 9 ilustra un diagrama de flujo de acuerdo con un método adicional a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo. Las operaciones que se ilustran en y que se describen con respecto a la figura 9 se pueden llevar a cabo, por ejemplo, por medio de, con la asistencia de y / o bajo el control de uno o más del procesador 110, la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116, el sensor de gestos 118 o la unidad de reconocimiento de gestos 120. La operación 900 puede comprender comparar una propiedad de un gesto de entrada con una propiedad de un gesto de plantilla. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 900. La operación 910 puede comprender determinar si la comparación satisface un umbral previamente definido. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 910. Si, en la operación 910, se determina que la comparación no satisface el umbral previamente definido, el método puede proceder a la operación 990, en la que el gesto de plantilla se puede eliminar de toda consideración ulterior para el reconocimiento del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 990.
Si, no obstante, en la operación 910 se determina que la comparación sí satisface el umbral previamente definido, el método puede proceder a la operación 920, que puede comprender construir una matriz basándose, al menos en parte, en el gesto de entrada y el gesto de plantilla. Por ejemplo, la operación 920 puede comprender calcular la matriz C y / o la matriz M, tal como se ha descrito en lo que antecede en la Operación 2.2 y la Operación 2.3. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 920. La operación 930 puede comprender determinar una relación basándose, al menos en parte, en la matriz construida. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 930. La operación 940 puede comprender determinar si la relación satisface un umbral previamente definido. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 940. Si, en la operación 940, se determina que la relación no satisface el umbral previamente definido, el método puede proceder a la operación 990, en la que el gesto de plantilla se puede eliminar de toda consideración ulterior para el reconocimiento del gesto de entrada.
Si, no obstante, en la operación 940 se determina que la relación sí satisface el umbral previamente definido, el método puede proceder a la operación 950, que puede comprender determinar una matriz de rotación basándose, al menos en parte, en la matriz construida. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120
pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 950. La operación 960 puede comprender usar la matriz de rotación para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 960. La operación 970 puede comprender determinar si una distancia por pares entre el gesto de plantilla rotado y el gesto de entrada satisface un umbral previamente definido. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 970. Si, en la operación 970, se determina que la distancia por pares no satisface el umbral previamente definido, el método puede proceder a la operación 990, en la que el gesto de plantilla se puede eliminar de toda consideración ulterior para el reconocimiento del gesto de entrada. Si, no obstante, en la operación 970 se determina que la distancia por pares sí satisface el umbral previamente definido, el método puede proceder a la operación 980, que puede comprender usar una unidad de clasificación de reconocimiento de gestos para determinar si el gesto de entrada concuerda con el gesto de plantilla basándose, al menos en parte, en una comparación entre el gesto de plantilla rotado y el gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 980.
Haciendo referencia a continuación a la figura 10, la figura 10 ilustra un diagrama de flujo de acuerdo con aún otro método a modo de ejemplo para facilitar el reconocimiento de gestos de acuerdo con algunas formas de realización a modo de ejemplo. A este respecto, la figura 10 ilustra las operaciones 1000 - 1050, una o más de las cuales se pueden llevar a cabo a continuación de la operación 950 tal como se ilustra en la figura 9 y se ha descrito en lo que antecede en lugar de una o más de las operaciones 960 - 990. Las operaciones que se ilustran en y que se describen con respecto a la figura 10 se pueden llevar a cabo, por ejemplo, por medio de, con la asistencia de y / o bajo el control de uno o más del procesador 110, la memoria 112, la interfaz de comunicación 114, la interfaz de usuario 116, el sensor de gestos 118 o la unidad de reconocimiento de gestos 120. La operación 1000 puede comprender usar la matriz de rotación (por ejemplo, la matriz de rotación que se determina en la operación 950) para rotar un vector de gravedad que está asociado al gesto de plantilla hasta un sistema de coordenadas del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 1000. La operación 1010 puede comprender determinar si un ángulo entre el vector de gravedad rotado y un vector de gravedad que está asociado al gesto de entrada satisface un umbral previamente definido. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 1010. Si, en la operación 1010, se determina que el ángulo no satisface el umbral previamente definido, el método puede proceder a la operación 1050, que puede comprender eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 1050.
Si, no obstante, en la operación 1010 se determina que el ángulo sí satisface el umbral previamente definido, el método puede proceder a la operación 1020, que puede comprender usar la matriz de rotación para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 1020. La operación 1030 puede comprender determinar si una distancia por pares entre el gesto de plantilla rotado y el gesto de entrada satisface un umbral previamente definido. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 1030. Si, en la operación 1030, se determina que la distancia por pares no satisface el umbral previamente definido, el método puede proceder a la operación 1050, en la que el gesto de plantilla se puede eliminar de toda consideración ulterior para el reconocimiento del gesto de entrada. Si, no obstante, en la operación 1030 se determina que la distancia por pares sí satisface el umbral previamente definido, el método puede proceder a la operación 1040, que puede comprender usar una unidad de clasificación de reconocimiento de gestos para determinar si el gesto de entrada concuerda con el gesto de plantilla basándose, al menos en parte, en una comparación entre el gesto de plantilla rotado y el gesto de entrada. El procesador 110, la memoria 112 y / o la unidad de reconocimiento de gestos 120 pueden proporcionar, por ejemplo, unos medios para llevar a cabo la operación 1040.
Cada una de las figuras 7 - 10 ilustra un diagrama de flujo de un sistema, método y producto de programa informático de acuerdo con una forma de realización a modo de ejemplo. Se entenderá que cada bloque de los diagramas de flujo, y las combinaciones de bloques en los diagramas de flujo, se pueden poner en práctica mediante diversos medios, tales como soporte físico y / o un producto de programa informático que comprende uno o más medios legibles por ordenador que tienen unas instrucciones de programa legibles por ordenador que están almacenadas en los mismos. Por ejemplo, uno o más de los procedimientos que se describen en el presente documento se pueden materializar por medio de instrucciones de programa informático de un producto de programa informático. A este respecto, el producto o productos de programa informático que materializan los procedimientos que se describen en el presente documento pueden ser almacenados por uno o más dispositivos de memoria de un terminal móvil, un servidor, u otro dispositivo informático (por ejemplo, en la memoria 112) y ser ejecutados por un procesador en el dispositivo informático (por ejemplo, por medio del procesador 110). En algunas formas de realización, las instrucciones de programa informático que comprenden el producto o productos de programa informático que materializan los procedimientos que se han descrito en lo que antecede pueden ser almacenadas por los dispositivos de memoria de una pluralidad de dispositivos informáticos. Tal como se apreciará, cualquier producto de programa informático de ese tipo se puede cargar en un ordenador u otro aparato programable (por ejemplo, un aparato de
reconocimiento de gestos 102) para producir una máquina, de tal modo que el producto de programa informático que incluye las instrucciones que se ejecutan en el ordenador u otro aparato programable crea unos medios para poner en práctica las funciones que se especifican en el bloque o bloques de los diagramas de flujo. Además, el producto de programa informático puede comprender una o más memorias legibles por ordenador en las que se pueden almacenar las instrucciones de programa informático de tal modo que las una o más memorias legibles por ordenador pueden indicar a un ordenador u otro aparato programable que funcione de una forma particular, de tal modo que el producto de programa informático comprende un artículo de fabricación que pone en práctica la función que se especifica en el bloque o bloques de los diagramas de flujo. Las instrucciones de programa informático de uno o más productos de programa informático también se pueden cargar en un ordenador u otro aparato programable (por ejemplo, un aparato de reconocimiento de gestos 102) para dar lugar a que una serie de operaciones se lleve a cabo en el ordenador u otro aparato programable para producir un proceso puesto en práctica por ordenador de tal modo que las instrucciones que se ejecutan en el ordenador u otro aparato programable ponen en práctica las funciones que se especifican en el bloque o bloques de los diagramas de flujo.
Por consiguiente, los bloques de los diagramas de flujo soportan combinaciones de medios para llevar a cabo las funciones especificadas. También se entenderá que uno o más bloques de los diagramas de flujo, y las combinaciones de bloques en los diagramas de flujo, se pueden poner en práctica por medio de sistemas informáticos basados en soporte físico de propósito especial que llevan a cabo las funciones especificadas, o combinaciones de soporte físico de propósito especial y producto o productos de programa informático.
Las funciones que se han descrito en lo que antecede se pueden llevar a cabo de muchas formas. Por ejemplo, cualquier medio conveniente para llevar a cabo cada una de las funciones que se han descrito en lo que antecede se puede emplear para llevar a cabo formas de realización de la invención. En una forma de realización, un procesador configurado de forma conveniente (por ejemplo, el procesador 110) puede proporcionar la totalidad o una porción de los elementos. En otra forma de realización, la totalidad o una porción de los elementos pueden ser configurados por y operar bajo el control de un producto de programa informático. El producto de programa informático para llevar a cabo los métodos de una forma de realización a modo de ejemplo de la invención incluye un medio de almacenamiento legible por ordenador (por ejemplo, la memoria 112), tal como el medio de almacenamiento no volátil, y porciones de código de programa legible por ordenador, tales como una serie de instrucciones informáticas, que se materializan en el medio de almacenamiento legible por ordenador.
Muchas modificaciones y otras formas de realización de las invenciones que se exponen en el presente documento se le ocurrirán a un experto en la materia a la que se refieren estas invenciones que cuente con el beneficio de las enseñanzas que se presentan en las descripciones anteriores y los dibujos asociados. Por lo tanto, se ha de entender que las formas de realización de la invención no se han de limitar a las formas de realización específicas que se dan a conocer y que se tiene por objeto que las modificaciones y otras formas de realización se incluyan dentro del alcance de la invención. Además, a pesar de que las descripciones anteriores y los dibujos asociados describen algunas formas de realización a modo de ejemplo en el contexto de determinadas combinaciones a modo de ejemplo de elementos y / o funciones, se debería apreciar que se pueden proporcionar diferentes combinaciones de elementos y / o funciones por medio de formas de realización alternativas sin apartarse del alcance de la invención. A este respecto, por ejemplo, también se contemplan dentro del alcance de la invención unas combinaciones de elementos y / o funciones que sean diferentes de las que se han descrito de forma explícita en lo que antecede. A pesar de que en el presente documento se emplean términos específicos, estos se usan solo en un sentido genérico y descriptivo y no para fines de limitación.
Claims (14)
1. Un método que comprende:
construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla, en donde el gesto de entrada comprende un movimiento de un aparato (10; 102; 302);
determinar, por medio de al menos un procesador (20; 110), si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido;
en un caso en el que la relación no satisface el umbral previamente definido, eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada; y
en un caso en el que la relación satisface el umbral previamente definido:
determinar una matriz de rotación basándose, al menos en parte, en la matriz construida;
usar la matriz de rotación para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada; y
determinar si el gesto de entrada concuerda con el gesto de plantilla rotado, basándose, al menos en parte, en una comparación entre el gesto de plantilla rotado y el gesto de entrada.
2. El método de la reivindicación 1, que comprende adicionalmente:
calcular una pluralidad de autovalores basándose, al menos en parte, en la matriz construida; y
en donde determinar si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido comprende determinar si una relación entre los autovalores satisface un umbral previamente definido.
3. El método de la reivindicación 2, en donde determinar si una relación entre los autovalores satisface el umbral previamente definido comprende determinar si una relación entre el autovalor que tiene el valor positivo más grande y otro de los autovalores es mayor que el umbral previamente definido.
4. El método de la reivindicación 1, en donde determinar la matriz de rotación comprende:
determinar el autovector de la matriz construida que tiene el autovalor positivo más grande como un cuaternión unitario; y
determinar la matriz de rotación representada por el cuaternión unitario.
5. El método de la reivindicación 1, que comprende adicionalmente:
antes de construir la matriz, comparar una propiedad del gesto de entrada con una propiedad del gesto de plantilla; y
en donde construir la matriz comprende construir la matriz solo en un caso en el que la comparación entre la propiedad del gesto de entrada y la propiedad del gesto de plantilla satisface un segundo umbral previamente definido.
6. El método de la reivindicación 5, en donde comparar una propiedad del gesto de entrada con una propiedad del gesto de plantilla comprende comparar una o más de una longitud, una tasa o una aceleración del gesto de entrada con una o más respectivas de una longitud, una tasa o una aceleración del gesto de plantilla.
7. El método de la reivindicación 1, que comprende adicionalmente, en un caso en el que la relación satisface el umbral previamente definido:
usar la matriz de rotación para rotar un vector de gravedad que está asociado al gesto de plantilla hasta un sistema de coordenadas del gesto de entrada;
comparar el vector de gravedad rotado que está asociado al gesto de plantilla con un vector de gravedad que está asociado al gesto de entrada para determinar si un ángulo entre el vector de gravedad rotado que está asociado al gesto de plantilla y el vector de gravedad que está asociado al gesto de entrada satisface un segundo umbral previamente definido; y
eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada en un caso en el que el ángulo no satisface el segundo umbral previamente definido.
8. El método de la reivindicación 1, que comprende adicionalmente, en un caso en el que la relación satisface el umbral previamente definido:
calcular una distancia por pares basándose, al menos en parte, en el gesto de plantilla rotado y el gesto de entrada; determinar si la distancia por pares satisface un segundo umbral previamente definido; y
proceder a poner en concordancia el gesto de entrada y el gesto de plantilla rotado en un caso en el que la distancia por pares satisface el segundo umbral previamente definido.
9. El método de la reivindicación 1, en donde se usa una unidad de clasificación de reconocimiento de gestos para determinar si el gesto de entrada concuerda con el gesto de plantilla rotado.
10. El método de la reivindicación 1, que comprende adicionalmente repetir la construcción y la determinación para cada uno de una pluralidad de gestos de plantilla, separando por filtrado de ese modo los gestos de plantilla que no satisfacen el umbral previamente definido.
11. Un aparato (10; 102; 302, 304) que comprende:
unos medios (20; 110) para construir una matriz basándose, al menos en parte, en un gesto de entrada y un gesto de plantilla, en donde el gesto de entrada comprende un movimiento del aparato;
unos medios (20; 110) para determinar si una relación que se determina basándose, al menos en parte, en la matriz construida satisface un umbral previamente definido;
unos medios (20; 110) para, en un caso en el que la relación no satisface el umbral previamente definido, eliminar de toda consideración ulterior el gesto de plantilla para el reconocimiento del gesto de entrada; y
unos medios (20; 110) para, en un caso en el que la relación satisface el umbral previamente definido:
determinar una matriz de rotación basándose, al menos en parte, en la matriz construida;
usar la matriz de rotación para rotar el gesto de plantilla hasta un sistema de coordenadas del gesto de entrada; y
determinar si el gesto de entrada concuerda con el gesto de plantilla rotado, basándose, al menos en parte, en una comparación entre el gesto de plantilla rotado y el gesto de entrada.
12. El aparato de la reivindicación 11, que comprende unos medios (20; 110) para llevar a cabo el método de acuerdo con una o más de cualquiera de las reivindicaciones 2 a 10.
13. El aparato de la reivindicación 11, en donde el aparato comprende o se materializa en un teléfono móvil, comprendiendo el teléfono móvil un conjunto de circuitos de interfaz de usuario y un soporte lógico de interfaz de usuario que está almacenado en una o más de la al menos una memoria; en donde el conjunto de circuitos de interfaz de usuario y el soporte lógico de interfaz de usuario están configurados para:
facilitar el control de usuario de al menos algunas funciones del teléfono móvil a través del uso de un visualizador; y
dar lugar a que al menos una porción de una interfaz de usuario del teléfono móvil se visualice en el visualizador para facilitar el control de usuario de al menos algunas funciones del teléfono móvil.
14. Programa legible por ordenador que comprende unas instrucciones que, cuando son ejecutadas por al menos un procesador (20; 110) de un aparato (10; 102; 302, 304), dan lugar a que el aparato lleve a cabo el método según se reivindica en cualquiera de las reivindicaciones 1 a 10.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/091,901 US8873841B2 (en) | 2011-04-21 | 2011-04-21 | Methods and apparatuses for facilitating gesture recognition |
PCT/FI2012/050251 WO2012143603A2 (en) | 2011-04-21 | 2012-03-16 | Methods and apparatuses for facilitating gesture recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2701165T3 true ES2701165T3 (es) | 2019-02-21 |
Family
ID=45976962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES12715413T Active ES2701165T3 (es) | 2011-04-21 | 2012-03-16 | Métodos y aparatos para facilitar el reconocimiento de gestos |
Country Status (4)
Country | Link |
---|---|
US (1) | US8873841B2 (es) |
EP (1) | EP2699983B1 (es) |
ES (1) | ES2701165T3 (es) |
WO (1) | WO2012143603A2 (es) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5489572B2 (ja) * | 2009-07-29 | 2014-05-14 | キヤノン株式会社 | 加速度検出装置及びその制御方法、プログラム |
US9094813B2 (en) * | 2011-04-02 | 2015-07-28 | Open Invention Network, Llc | System and method for redirecting content based on gestures |
US9110510B2 (en) * | 2011-06-03 | 2015-08-18 | Apple Inc. | Motion pattern classification and gesture recognition |
JP5880199B2 (ja) * | 2012-03-27 | 2016-03-08 | ソニー株式会社 | 表示制御装置、表示制御方法およびプログラム |
US9348464B2 (en) * | 2012-06-06 | 2016-05-24 | Semiconductor Components Industries, Llc | Imaging systems and methods for user input detection |
FR2999316A1 (fr) | 2012-12-12 | 2014-06-13 | Sagemcom Broadband Sas | Dispositif et procede de reconnaissance de gestes pour un controle d'interface utilisateur |
US20140232672A1 (en) * | 2013-02-20 | 2014-08-21 | Tencent Technology (Shenzhen) Company Limited | Method and terminal for triggering application programs and application program functions |
US9372541B2 (en) * | 2013-03-11 | 2016-06-21 | Honeywell International Inc. | Gesture recognition system operability verification |
US9442570B2 (en) * | 2013-03-13 | 2016-09-13 | Google Technology Holdings LLC | Method and system for gesture recognition |
WO2014165476A1 (en) | 2013-04-01 | 2014-10-09 | Gollakota Shyamnath | Devices, systems, and methods for detecting gestures using wireless communication signals |
US20140337804A1 (en) * | 2013-05-10 | 2014-11-13 | Microsoft Corporation | Symbol-based digital ink analysis |
CN111477297B (zh) | 2013-05-30 | 2021-10-01 | 阿特拉斯维拉伯斯公司 | 个人计算设备 |
JP5750687B2 (ja) | 2013-06-07 | 2015-07-22 | 島根県 | カーナビ用ジェスチャ入力装置 |
US9020194B2 (en) | 2013-06-14 | 2015-04-28 | Qualcomm Incorporated | Systems and methods for performing a device action based on a detected gesture |
TWI567592B (zh) * | 2013-09-03 | 2017-01-21 | 緯創資通股份有限公司 | 手勢辨識方法及穿戴式裝置 |
TWI515556B (zh) * | 2013-10-09 | 2016-01-01 | 緯創資通股份有限公司 | 觸控裝置的檢測方法及其系統 |
CN103552517A (zh) * | 2013-11-20 | 2014-02-05 | 江南大学 | 一种驾驶员控制手势语言 |
US9529445B2 (en) * | 2014-01-08 | 2016-12-27 | Fujitsu Limited | Input device and input method |
JP6269316B2 (ja) * | 2014-01-08 | 2018-01-31 | 富士通株式会社 | 入力装置、入力方法および入力プログラム |
CN103763330A (zh) * | 2014-02-18 | 2014-04-30 | 三星电子(中国)研发中心 | 家庭网络中控制多媒体的方法及移动终端 |
CN104866084B (zh) * | 2014-02-25 | 2021-04-30 | 中兴通讯股份有限公司 | 手势识别方法、装置和系统 |
WO2016028629A1 (en) | 2014-08-16 | 2016-02-25 | Google Inc. | Identifying gestures using motion data |
US10660039B1 (en) | 2014-09-02 | 2020-05-19 | Google Llc | Adaptive output of indications of notification data |
US10540348B2 (en) | 2014-09-22 | 2020-01-21 | At&T Intellectual Property I, L.P. | Contextual inference of non-verbal expressions |
US20160257198A1 (en) | 2015-03-02 | 2016-09-08 | Ford Global Technologies, Inc. | In-vehicle component user interface |
US9747740B2 (en) | 2015-03-02 | 2017-08-29 | Ford Global Technologies, Llc | Simultaneous button press secure keypad code entry |
US10078780B2 (en) * | 2015-03-27 | 2018-09-18 | Intel Corporation | Gesture recognition mechanism |
US10104913B2 (en) | 2015-04-22 | 2018-10-23 | Altria Client Services Llc | Pod assembly, dispensing body, and E-vapor apparatus including the same |
US10671031B2 (en) * | 2015-04-22 | 2020-06-02 | Altria Client Services Llc | Body gesture control system for button-less vaping |
US10064432B2 (en) | 2015-04-22 | 2018-09-04 | Altria Client Services Llc | Pod assembly, dispensing body, and E-vapor apparatus including the same |
MY182356A (en) | 2015-04-22 | 2021-01-20 | Altria Client Services Llc | Pod assembly, dispensing body, and e-vapor apparatus including the same |
US9804679B2 (en) | 2015-07-03 | 2017-10-31 | Google Inc. | Touchless user interface navigation using gestures |
CN105117015B (zh) * | 2015-08-28 | 2018-01-23 | 江南大学 | 一种显示屏中不规则多边形区域的切换方法和系统 |
US9914418B2 (en) | 2015-09-01 | 2018-03-13 | Ford Global Technologies, Llc | In-vehicle control location |
US9967717B2 (en) | 2015-09-01 | 2018-05-08 | Ford Global Technologies, Llc | Efficient tracking of personal device locations |
US9622159B2 (en) | 2015-09-01 | 2017-04-11 | Ford Global Technologies, Llc | Plug-and-play interactive vehicle interior component architecture |
US9860710B2 (en) | 2015-09-08 | 2018-01-02 | Ford Global Technologies, Llc | Symmetrical reference personal device location tracking |
US9744852B2 (en) | 2015-09-10 | 2017-08-29 | Ford Global Technologies, Llc | Integration of add-on interior modules into driver user interface |
US10046637B2 (en) | 2015-12-11 | 2018-08-14 | Ford Global Technologies, Llc | In-vehicle component control user interface |
US10678337B2 (en) * | 2016-01-04 | 2020-06-09 | The Texas A&M University System | Context aware movement recognition system |
US10082877B2 (en) | 2016-03-15 | 2018-09-25 | Ford Global Technologies, Llc | Orientation-independent air gesture detection service for in-vehicle environments |
US9914415B2 (en) | 2016-04-25 | 2018-03-13 | Ford Global Technologies, Llc | Connectionless communication with interior vehicle components |
CN106022211B (zh) * | 2016-05-04 | 2019-06-28 | 北京航空航天大学 | 一种利用手势控制多媒体设备的方法 |
KR101883228B1 (ko) * | 2017-02-16 | 2018-07-30 | (주)더블유알티랩 | 제스처 인식 방법 및 장치 |
US10684693B2 (en) | 2017-03-02 | 2020-06-16 | Samsung Electronics Co., Ltd. | Method for recognizing a gesture and an electronic device thereof |
RU2641269C1 (ru) * | 2017-03-02 | 2018-01-16 | Самсунг Электроникс Ко., Лтд. | Устройство и способ для распознавания жестов с использованием радиочастотного датчика |
JP6811849B2 (ja) * | 2017-04-10 | 2021-01-13 | 株式会社Nttドコモ | アプリ利用推定装置及びルール作成装置 |
US20190244062A1 (en) * | 2018-02-04 | 2019-08-08 | KaiKuTek Inc. | Gesture recognition method, gesture recognition system, and performing device therefore |
CN109885444B (zh) * | 2019-01-16 | 2022-03-15 | 深圳壹账通智能科技有限公司 | 基于手势识别的测试方法、装置、存储介质及终端设备 |
CN110309806B (zh) * | 2019-07-08 | 2020-12-11 | 哈尔滨理工大学 | 一种基于视频图像处理的手势识别系统及其方法 |
TWI775524B (zh) * | 2021-07-09 | 2022-08-21 | 華碩電腦股份有限公司 | 手勢判斷方法及電子裝置 |
WO2023014393A1 (en) * | 2021-08-03 | 2023-02-09 | Hewlett-Packard Development Company, L.P. | Laminate bond strength |
CN117292404B (zh) * | 2023-10-13 | 2024-04-19 | 哈尔滨工业大学 | 一种高精度手势数据识别方法、电子设备及存储介质 |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5047952A (en) | 1988-10-14 | 1991-09-10 | The Board Of Trustee Of The Leland Stanford Junior University | Communication system for deaf, deaf-blind, or non-vocal individuals using instrumented glove |
US5757360A (en) | 1995-05-03 | 1998-05-26 | Mitsubishi Electric Information Technology Center America, Inc. | Hand held computer control device |
US5809171A (en) * | 1996-01-05 | 1998-09-15 | Mcdonnell Douglas Corporation | Image processing method and apparatus for correlating a test image with a template |
US6072467A (en) | 1996-05-03 | 2000-06-06 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Continuously variable control of animated on-screen characters |
JP3279479B2 (ja) * | 1996-05-31 | 2002-04-30 | 株式会社日立国際電気 | 映像監視方法及び装置 |
US6075895A (en) * | 1997-06-20 | 2000-06-13 | Holoplex | Methods and apparatus for gesture recognition based on templates |
US20070177804A1 (en) * | 2006-01-30 | 2007-08-02 | Apple Computer, Inc. | Multi-touch gesture dictionary |
US6950534B2 (en) * | 1998-08-10 | 2005-09-27 | Cybernet Systems Corporation | Gesture-controlled interfaces for self-service machines and other applications |
US7657083B2 (en) * | 2000-03-08 | 2010-02-02 | Cyberextruder.Com, Inc. | System, method, and apparatus for generating a three-dimensional representation from one or more two-dimensional images |
US6788809B1 (en) * | 2000-06-30 | 2004-09-07 | Intel Corporation | System and method for gesture recognition in three dimensions using stereo imaging and color vision |
JP3725460B2 (ja) * | 2000-10-06 | 2005-12-14 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置、画像処理方法、記録媒体、コンピュータプログラム、半導体デバイス |
US7030861B1 (en) * | 2001-02-10 | 2006-04-18 | Wayne Carl Westerman | System and method for packing multi-touch gestures onto a hand |
US6937742B2 (en) * | 2001-09-28 | 2005-08-30 | Bellsouth Intellectual Property Corporation | Gesture activated home appliance |
US6990639B2 (en) | 2002-02-07 | 2006-01-24 | Microsoft Corporation | System and process for controlling electronic components in a ubiquitous computing environment using multimodal integration |
AU2003217587A1 (en) * | 2002-02-15 | 2003-09-09 | Canesta, Inc. | Gesture recognition system using depth perceptive sensors |
US7957554B1 (en) * | 2002-12-31 | 2011-06-07 | Cognex Technology And Investment Corporation | Method and apparatus for human interface to a machine vision system |
US7706616B2 (en) * | 2004-02-27 | 2010-04-27 | International Business Machines Corporation | System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout |
GB2419433A (en) | 2004-10-20 | 2006-04-26 | Glasgow School Of Art | Automated Gesture Recognition |
KR100948095B1 (ko) * | 2005-02-24 | 2010-03-16 | 노키아 코포레이션 | 컴퓨팅 단말용 동작 입력 장치 및 그 작동방법 |
KR100554484B1 (ko) | 2005-05-12 | 2006-03-03 | 삼성전자주식회사 | 동작 인식이 가능한 휴대용 단말기 및 동작 인식 방법 |
ATE543159T1 (de) * | 2006-04-28 | 2012-02-15 | Nikon Corp | Objektextraktion, objektverfolgung und bildsynthetisierung |
US9696808B2 (en) * | 2006-07-13 | 2017-07-04 | Northrop Grumman Systems Corporation | Hand-gesture recognition method |
US20110044501A1 (en) * | 2006-07-14 | 2011-02-24 | Ailive, Inc. | Systems and methods for personalized motion control |
US7702608B1 (en) | 2006-07-14 | 2010-04-20 | Ailive, Inc. | Generating motion recognizers for arbitrary motions for video games and tuning the motion recognizers to the end user |
US20080071540A1 (en) * | 2006-09-13 | 2008-03-20 | Honda Motor Co., Ltd. | Speech recognition method for robot under motor noise thereof |
US20090265671A1 (en) * | 2008-04-21 | 2009-10-22 | Invensense | Mobile devices with motion gesture recognition |
US8019164B2 (en) * | 2007-01-29 | 2011-09-13 | Hitachi High-Technologies Corporation | Apparatus, method and program product for matching with a template |
US8199003B2 (en) * | 2007-01-30 | 2012-06-12 | At&T Intellectual Property I, Lp | Devices and methods for detecting environmental circumstances and responding with designated communication actions |
US8059917B2 (en) * | 2007-04-30 | 2011-11-15 | Texas Instruments Incorporated | 3-D modeling |
CN107102723B (zh) * | 2007-08-20 | 2019-12-06 | 高通股份有限公司 | 用于基于手势的移动交互的方法、装置、设备和非暂时性计算机可读介质 |
US8576169B2 (en) | 2008-10-20 | 2013-11-05 | Sensor Platforms, Inc. | System and method for determining an attitude of a device undergoing dynamic acceleration |
US8941466B2 (en) | 2009-01-05 | 2015-01-27 | Polytechnic Institute Of New York University | User authentication for devices with touch sensitive elements, such as touch sensitive display screens |
US8341558B2 (en) * | 2009-09-16 | 2012-12-25 | Google Inc. | Gesture recognition on computing device correlating input to a template |
US8587532B2 (en) * | 2009-12-18 | 2013-11-19 | Intel Corporation | Multi-feature interactive touch user interface |
US8750573B2 (en) * | 2010-08-02 | 2014-06-10 | Sony Corporation | Hand gesture detection |
US8917290B2 (en) * | 2011-01-31 | 2014-12-23 | Biomet Manufacturing, Llc | Digital image templating |
US20120254809A1 (en) | 2011-03-31 | 2012-10-04 | Nokia Corporation | Method and apparatus for motion gesture recognition |
US8553981B2 (en) * | 2011-05-17 | 2013-10-08 | Microsoft Corporation | Gesture-based visual search |
-
2011
- 2011-04-21 US US13/091,901 patent/US8873841B2/en active Active
-
2012
- 2012-03-16 EP EP12715413.6A patent/EP2699983B1/en active Active
- 2012-03-16 WO PCT/FI2012/050251 patent/WO2012143603A2/en active Application Filing
- 2012-03-16 ES ES12715413T patent/ES2701165T3/es active Active
Also Published As
Publication number | Publication date |
---|---|
US20120272194A1 (en) | 2012-10-25 |
WO2012143603A2 (en) | 2012-10-26 |
EP2699983B1 (en) | 2018-09-26 |
US8873841B2 (en) | 2014-10-28 |
WO2012143603A3 (en) | 2012-12-13 |
EP2699983A2 (en) | 2014-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2701165T3 (es) | Métodos y aparatos para facilitar el reconocimiento de gestos | |
US11710351B2 (en) | Action recognition method and apparatus, and human-machine interaction method and apparatus | |
US10937240B2 (en) | Augmented reality bindings of physical objects and virtual objects | |
WO2020233464A1 (zh) | 模型训练方法、装置、存储介质及设备 | |
LaViola Jr | 3d gestural interaction: The state of the field | |
US10225695B2 (en) | Smart playable device and charging systems and methods | |
CN105027175B (zh) | 基于各设备之间的距离修改功能的方法和设备 | |
KR102220447B1 (ko) | 입력 처리 방법 및 그 전자 장치 | |
CN107206278B (zh) | 用于依据基于飞镖针位置的击中面积提供飞镖游戏的服务器和飞镖游戏装置,及计算机程序 | |
JP2014191688A (ja) | 情報処理装置、情報処理方法、及び、記憶媒体 | |
US20160278664A1 (en) | Facilitating dynamic and seamless breath testing using user-controlled personal computing devices | |
WO2022073417A1 (zh) | 融合场景感知机器翻译方法、存储介质及电子设备 | |
CN104007815A (zh) | 电子设备和操作电子设备的方法 | |
CN108592939A (zh) | 一种导航方法及终端 | |
KR20190109654A (ko) | 심장 박동을 측정하기 위한 전자 장치 및 방법 | |
US10551195B2 (en) | Portable device with improved sensor position change detection | |
CN105103079B (zh) | 多传感器集成芯片架构的低功率管理 | |
JP2023526990A (ja) | 選択ターゲットの決定方法、装置、機器、及びコンピュータプログラム | |
CN107077730A (zh) | 基于剪影的肢寻找器确定 | |
CN112988984B (zh) | 特征获取方法、装置、计算机设备及存储介质 | |
KR20240008370A (ko) | 움직이는 객체들의 레이턴시를 최소화하기 위한 늦은 워핑 | |
KR20240008892A (ko) | 생체인식 신호로서의 굽힘 추정 | |
WO2020220702A1 (zh) | 生成自然语言 | |
CN115047966A (zh) | 交互方法、电子设备与交互系统 | |
CN110489549A (zh) | 教学文本对比方法、装置、电子设备及介质 |