ES2776674T3 - Calibración de sensor y estimación de posición en base a la determinación del punto de fuga - Google Patents
Calibración de sensor y estimación de posición en base a la determinación del punto de fuga Download PDFInfo
- Publication number
- ES2776674T3 ES2776674T3 ES13756253T ES13756253T ES2776674T3 ES 2776674 T3 ES2776674 T3 ES 2776674T3 ES 13756253 T ES13756253 T ES 13756253T ES 13756253 T ES13756253 T ES 13756253T ES 2776674 T3 ES2776674 T3 ES 2776674T3
- Authority
- ES
- Spain
- Prior art keywords
- orientation
- determined
- scene
- vanishing point
- sensor
- 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
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/38—Testing, calibrating, or compensating of compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/027—Services making use of location information using location based information parameters using movement velocity, acceleration information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Computer Networks & Wireless Communication (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Image Analysis (AREA)
- Navigation (AREA)
- Gyroscopes (AREA)
- Studio Devices (AREA)
Abstract
Un procedimiento (500) que comprende: capturar (510) una imagen (100) de una escena por una unidad de captura de imágenes (330) de un dispositivo (300) que incluye al menos un sensor inercial (320) para medir la orientación del dispositivo (300); determinar (520) la orientación de dispositivo relativa del dispositivo (300) en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga (120) en la imagen capturada (100) de la escena; y realizar (530) una o más operaciones de calibración para el al menos un sensor inercial (320) en base, al menos en parte, a la orientación de dispositivo relativa determinada en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) en la imagen capturada (100) de la escena.
Description
DESCRIPCIÓN
Calibración de sensor y estimación de posición en base a la determinación del punto de fuga ANTECEDENTES
[0001] La información de sensores de orientación, tales como giroscopios y magnetómetros, se puede usar para diversas aplicaciones, tales como posicionamiento y seguimiento, identificación de actividad y expresiones y así sucesivamente. Sin embargo, los giroscopios requieren una calibración frecuente para corregir los errores debido a factores tales como sesgo, ajuste a escala y desalineación. Estos factores pueden variar con la temperatura, lo que hace que una calibración de una sola vez sea ineficaz. Una técnica de calibración común es detectar cuándo el dispositivo está en reposo y calibrar los sensores. Sin embargo, esta técnica de calibración puede requerir un tiempo relativamente largo para completarse. Otro sensor, un magnetómetro, es sensible a los campos magnéticos locales, que son comunes en entornos interiores, y puede proporcionar una orientación incorrecta.
[0002] El documento US 2010/295948 A1 divulga técnicas pertinentes a procedimientos y dispositivos para calibrar parámetros de cámara. Se detectan objetos en una imagen y se identifican características en los objetos, tales como la parte superior de una persona. Se construyen líneas paralelas de perspectiva en base a las características del objeto y se determinan los puntos de fuga de las líneas paralelas de perspectiva convergente. Una línea de fuga se define de acuerdo con los puntos de fuga. Los parámetros intrínsecos, tales como la distancia focal, y los parámetros extrínsecos, tales como los ángulos de inclinación y panorámica, de una cámara se calibran de acuerdo con los puntos de fuga, la línea de fuga y un objeto de referencia con dimensiones conocidas, o ángulos de cámara conocidos. Los parámetros de cámara calibrados se usan para mediciones fotogramétricas exactas y aplicaciones de visión informáticas.
[0003] El documento de KENICHI KANATANI ET AL: “ANATOMY OF CAMERA CALIBRATION USING VANISHING POINTS”, OPERACIONES DEL IEICE, INSTITUTO DE ING. DE ELECTRÓNICA, INFORMACIÓN Y COM. TOKIO, JP, vol. E74, n.210, octubre de 1991 (1991-10), páginas 3369-3378, XP000279315, ISSN: 0917 1673 divulga un formalismo matemático para construir elementos de calibración de cámara que miden la distancia focal y la orientación de la cámara. La distancia focal y la orientación de cámara se calculan detectando, en el plano de imagen, los puntos de fuga de dos conjuntos de líneas que son mutuamente ortogonales en la escena; la distancia del origen de coordenadas de la escena desde la cámara se determina por la ubicación, en el plano de imagen, un punto en el que las coordenadas de escena se conocen.
[0004] El documento de DIAS J ET AL: “Vision and inertial sensor cooperation using gravity as a vertical reference”, OPERACIONES SOBRE ANÁLISIS DE PATRONES E INTELIGENCIA DE MÁQUINAS, IEEE, PISCATAWAY, EE. UU., vol. 25, n.212, diciembre de 2003 (2003-12), páginas 1597-1608, XP011103927, ISSN: 0162-8828, DOI: 10.1109/TPAMI.2003.1251152 divulga la combinación de datos de sensor inercial con visión. La detección visual e inercial son dos modalidades sensoriales que se pueden explorar para ofrecer soluciones sólidas en la segmentación de imágenes y la recuperación de la estructura 3D de las imágenes, aumentando las capacidades de los robots autónomos y ampliando el potencial de aplicación de los sistemas de visión.
[0005] El documento US 2012/081512 A1 divulga que en un dispositivo de calibración, una unidad de procesamiento de promedio de integración de imágenes integra/promedia una imagen para generar una imagen integrada y promediada, y una unidad de extracción de bordes extrae los bordes de la imagen integrada y promediada. Una unidad de extracción de punto de fuga calcula líneas de fuga usando los bordes e identifica las coordenadas del punto de intersección de las líneas de fuga como las coordenadas del punto de fuga. Una unidad de determinación de errores compara las coordenadas del punto de fuga actual con las coordenadas del punto de fuga previo para determinar si un parámetro de la cámara necesita corrección. De acuerdo con el resultado de la determinación, una unidad de procesamiento de corrección corrige un parámetro de la cámara.
[0006] El documento CN 102103747 A divulga un procedimiento para calibrar parámetros externos de una cámara de vigilancia adoptando la altura de referencia, que comprende las siguientes etapas: descripción del modelo de visión basada en el punto de fuga lejana y el punto de fuga inferior y establecimiento del sistema de coordenadas relacionado; cálculo de coordenadas proyectadas de puntos de fuga lejana y puntos de fuga inferior basados en información de plomada de referencia en un plano de imagen; altura de cámara basada en calibración de altura de referencia, ángulo de vista aérea y cálculo del factor de amplificación; diseño de una herramienta de calibración de ángulo de inclinación del horizonte basada en dirección de plomada de referencia; y diseño y uso de software de medición tridimensional basado en el modelo de proyección en perspectiva y tres herramientas para la medición tridimensional, a saber, una escala de cambio de altura igual, una escala de medición de distancia a nivel del suelo y un marco de reconstrucción de profundidad de campo.
[0007] El documento de Satoh et al.: “A hybrid registration method for outdoor augmented reality”, Realidad Aumentada, 2001, Actos del Simposio Internacional del IEEE y ACM en Nueva York, NY, EE. UU., 29-30 de
octubre de 2001, Los Alamitos, CA, EE. UU., IEEE Comput. Soc., EE. UU., 29 de octubre de 2001, páginas 67 76, XP010568049 divulga un procedimiento de registro para sistemas de AR portátiles para uso en exteriores.
[0008] El documento de Dias et al.: “Vision and inertial sensor cooperation using gravity as a vertical reference”, Operaciones sobre análisis de patrones e inteligencia de máquinas del IEEE, IEEE Comp. Soc., EE. UU., vol. 25, n.° 12, 1 de diciembre de 2003, páginas 1597-1608, XP011103927 divulga la combinación de datos del sensor inercial con la visión. La detección visual e inercial son dos modalidades sensoriales que se pueden explorar para ofrecer soluciones sólidas en la segmentación de imágenes y la recuperación de la estructura 3D de las imágenes, aumentando las capacidades de los robots autónomos y ampliando el potencial de aplicación de los sistemas de visión.
SUMARIO
[0009] De acuerdo con la presente invención, se proporciona un procedimiento como se expone en la reivindicación 1, un aparato como se expone en la reivindicación 13 y un medio legible por procesador no transitorio como se expone en la reivindicación 15. Los modos de realización de la invención se reivindican en las reivindicaciones dependientes.
[0010] En algunas variaciones se divulga un procedimiento. El procedimiento incluye capturar una imagen de una escena por una unidad de captura de imágenes de un dispositivo que incluye al menos un sensor, determinar la orientación de dispositivo relativa del dispositivo en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga en la imagen capturada de la escena y realizar una o más operaciones de calibración para el al menos un sensor en base, al menos en parte, a la orientación de dispositivo relativa determinada.
[0011] Los modos de realización del procedimiento pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen una o más de las siguientes características.
[0012] Determinar la orientación de dispositivo relativa puede incluir determinar una matriz de rotación que relaciona las coordenadas de ubicación en el marco de referencia de la unidad de captura de imágenes y el marco de referencia de la escena.
[0013] Determinar la orientación de dispositivo relativa en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga puede incluir determinar la orientación de dispositivo relativa en base a ubicaciones determinadas de dos o más puntos de fuga en la imagen capturada de la escena.
[0014] El procedimiento puede incluir además determinar la orientación de dispositivo real en base, al menos en parte, a la orientación de dispositivo relativa determinada a partir de la ubicación del al menos un punto de fuga en la imagen capturada de la escena, y además en base a un valor de orientación de escena asociado con la escena.
[0015] El procedimiento puede incluir además recuperar el valor de orientación de escena a partir de los datos de mapa para una región que incluye un área correspondiente a la escena en la imagen capturada por la unidad de captura de imágenes.
[0016] El procedimiento puede incluir además determinar la orientación de dispositivo real en base, al menos en parte, a la orientación de dispositivo relativa determinada, y además en base a un valor de orientación previamente determinado.
[0017] El procedimiento puede incluir además determinar un cambio de orientación de dispositivo en base, al menos en parte, a los valores de orientación de dispositivo relativa determinados en base, al menos en parte, a las ubicaciones de los puntos de fuga determinados a partir de una pluralidad de imágenes capturadas por la unidad de captura de imágenes durante un período de tiempo.
[0018] El al menos un sensor puede incluir uno o más de, por ejemplo, un giroscopio y/o un magnetómetro.
[0019] Realizar la una o más operaciones de calibración para el al menos un sensor puede incluir una de, por ejemplo, calibrar el al menos un sensor en respuesta a los resultados de comparación, producidos a partir de una comparación de una orientación medida determinada por el al menos un sensor y la orientación de dispositivo relativa determinada, que indican que el al menos un sensor requiere calibración, determinar que el al menos un sensor está calibrado en respuesta a los resultados de comparación, que indican que el al menos un sensor está calibrado, calibrar un magnetómetro, en respuesta a los resultados de comparación que indican que el magnetómetro requiere calibración, en base a una indicación de una presencia de interferencia magnética que provoca mediciones erróneas temporales de la orientación medida, o determinar que el magnetómetro está calibrado en base a los resultados de comparación y además en base a la indicación de la presencia de interferencia magnética que provoca las mediciones erróneas temporales de la orientación medida.
[0020] Calibrar el al menos un sensor puede incluir determinar para el al menos un sensor, en base a los resultados de comparación, uno o más de, por ejemplo, sesgo del sensor, ajuste a escala del sensor o desalineación del sensor.
[0021] Determinar la orientación de dispositivo relativa puede incluir determinar la desviación del al menos un punto de fuga desde el centro de la imagen capturada para la escena.
[0022] En algunas variaciones se divulga un dispositivo. El dispositivo incluye una unidad de captura de imágenes, al menos un sensor para medir la orientación del dispositivo y un controlador. El controlador se configura para determinar la orientación de dispositivo relativa del dispositivo en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga en una imagen de una escena capturada por la unidad de captura de imágenes, y realizar una o más operaciones de calibración para el al menos un sensor en base a la orientación de dispositivo relativa determinada.
[0023] Los modos de realización del dispositivo pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características descritas anteriormente en relación con el procedimiento, así como una o más de las siguientes características.
[0024] El controlador configurado para determinar la orientación de dispositivo relativa se puede configurar para determinar una matriz de rotación que relaciona las coordenadas de ubicación en el marco de referencia de la unidad de captura de imágenes y el marco de referencia de la escena.
[0025] El controlador configurado para determinar la orientación de dispositivo relativa en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga se puede configurar para determinar la orientación de dispositivo relativa en base a ubicaciones determinadas de dos o más puntos de fuga en la imagen capturada de la escena.
[0026] El controlador se puede configurar además para determinar la orientación de dispositivo real en base, al menos en parte, a la orientación de dispositivo relativa determinada a partir de la ubicación del al menos un punto de fuga en la imagen capturada de la escena, y además en base a un valor de orientación de escena asociado con la escena.
[0027] El controlador se puede configurar además para determinar un cambio de orientación de dispositivo en base, al menos en parte, a los valores de orientación de dispositivo relativa determinados en base, al menos en parte, a las ubicaciones de los puntos de fuga determinados a partir de una pluralidad de imágenes capturadas por la unidad de captura de imágenes durante un período de tiempo.
[0028] El controlador configurado para realizar la una o más operaciones de calibración para el al menos un sensor se puede configurar para realizar una de, por ejemplo, calibrar el al menos un sensor en respuesta a los resultados de comparación, producidos a partir de una comparación de una orientación medida determinada por el al menos un sensor y la orientación de dispositivo relativa determinada, que indican que el al menos un sensor requiere calibración, determinar que el al menos un sensor está calibrado en respuesta a los resultados de comparación que indican que el al menos un sensor está calibrado, calibrar un magnetómetro, en respuesta a los resultados de comparación que indican que el magnetómetro requiere calibración, en base a una indicación de una presencia de interferencia magnética que provoca mediciones erróneas temporales de la orientación medida, o determinar que el magnetómetro está calibrado en base a los resultados de comparación y además en base a la indicación de la presencia de interferencia magnética que provoca las mediciones erróneas temporales de la orientación medida.
[0029] En algunas variaciones se divulga un aparato. El aparato incluye medios para capturar una imagen de una escena para un dispositivo que incluye al menos un sensor, medios para determinar la orientación de dispositivo relativa del dispositivo en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga en la imagen capturada de la escena, y medios para realizar una o más operaciones de calibración para el al menos un sensor en base, al menos en parte, a la orientación de dispositivo relativa determinada.
[0030] Los modos de realización del aparato pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características descritas anteriormente en relación con el procedimiento y el dispositivo, así como una o más de las siguientes características.
[0031] Los medios para determinar la orientación de dispositivo relativa pueden incluir medios para determinar una matriz de rotación que relaciona coordenadas de ubicación en un marco de referencia de los medios para capturar la imagen y el marco de referencia de la escena.
[0032] Los medios para determinar la orientación de dispositivo relativa en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga pueden incluir medios para determinar la orientación de
dispositivo relativa en base a ubicaciones determinadas de dos o más puntos de fuga en la imagen capturada de la escena.
[0033] El aparato puede incluir además medios para determinar la orientación de dispositivo real en base, al menos en parte, a la orientación de dispositivo relativa determinada a partir de la ubicación del al menos un punto de fuga en la imagen capturada de la escena, y además en base a un valor de orientación de escena asociado con la escena.
[0034] El aparato puede incluir además medios para determinar un cambio de orientación de dispositivo en base, al menos en parte, a valores de orientación de dispositivo relativa determinados en base, al menos en parte, a ubicaciones de puntos de fuga determinados a partir de una pluralidad de imágenes capturadas por los medios para capturar la imagen durante un período de tiempo.
[0035] Los medios para realizar la una o más operaciones de calibración para el al menos un sensor pueden incluir medios para realizar uno de, por ejemplo, calibrar el al menos un sensor en respuesta a resultados de comparación, producidos a partir de una comparación de una orientación medida determinada por el al menos un sensor y la orientación de dispositivo relativa determinada, que indican que el al menos un sensor requiere calibración, determinar que el al menos un sensor está calibrado en respuesta a los resultados de comparación que indican que el al menos un sensor está calibrado, calibrar un magnetómetro, en respuesta a los resultados de comparación que indican que el magnetómetro requiere calibración, en base a una indicación de una presencia de interferencia magnética que provoca mediciones erróneas temporales de la orientación medida, o determinar que el magnetómetro está calibrado en base a los resultados de comparación y además en base a la indicación de la presencia de interferencia magnética que provoca las mediciones erróneas temporales de la orientación medida.
[0036] En algunas variaciones se divulga un medio legible por procesador no transitorio. El medio legible por procesador se programa con un conjunto de instrucciones ejecutables en un procesador que, cuando se ejecutan, provocan operaciones que incluyen capturar una imagen de una escena por una unidad de captura de imágenes de un dispositivo que incluye al menos un sensor, determinar la orientación de dispositivo relativa del dispositivo en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga en la imagen capturada de la escena, y realizar una o más operaciones de calibración para el al menos un sensor en base, al menos en parte, a la orientación de dispositivo relativa determinada.
[0037] Los modos de realización del medio legible por procesador pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características descritas anteriormente en relación con el procedimiento, el dispositivo y el aparato.
[0038] En algunas variaciones se divulga otro procedimiento. El procedimiento incluye capturar una imagen, por una unidad de captura de imágenes de un dispositivo, de una escena asociada con un valor de orientación de escena, comprendiendo además el dispositivo al menos un sensor, determinar la ubicación de al menos un punto de fuga en la imagen capturada de la escena, determinar una orientación de dispositivo medida del dispositivo en base a una o más mediciones realizadas por el al menos un sensor del dispositivo, y determinar las posiciones candidatas del dispositivo en una región incluyendo un área correspondiente a la escena en base, al menos en parte, a la ubicación del al menos un punto de fuga en la imagen capturada de la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas dentro de la región.
[0039] Los modos de realización del procedimiento pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características descritas anteriormente en relación con el primer procedimiento, el dispositivo, el aparato y el medio legible por procesador, así como una o más de las siguientes características.
[0040] El procedimiento puede incluir además generar una indicación para hacer que el dispositivo se mueva, en respuesta a determinar que la ubicación determinada del al menos un punto de fuga en la imagen capturada está en una ubicación descentrada, de modo que un punto de fuga posterior en una imagen capturada posterior se ubicará sustancialmente en el centro de la imagen capturada posterior.
[0041] Determinar las posiciones candidatas puede incluir determinar pasillos candidatos, en un área que incluye múltiples pasillos asociados con los valores de orientación respectivos, en base a la orientación relativa del dispositivo determinada a partir de la ubicación del al menos un punto de fuga en la imagen capturada, y en base a la orientación de dispositivo medida.
[0042] El procedimiento puede incluir además recuperar los datos de orientación asociados con las múltiples áreas dentro de la región a partir de datos de mapa para la región.
[0043] En algunas variaciones se divulga otro dispositivo. El dispositivo incluye una unidad de captura de imágenes, al menos un sensor para medir la orientación del dispositivo y un controlador. El controlador se
configura para determinar la ubicación de al menos un punto de fuga en una imagen de una escena capturada por la unidad de captura de imágenes, determinar una orientación de dispositivo medida del dispositivo en base a una o más mediciones realizadas por el al menos un sensor del dispositivo, y determinar las posiciones candidatas del dispositivo en una región que incluye un área correspondiente a la escena en base, al menos en parte, a la ubicación del al menos un punto de fuga en la imagen capturada de la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas dentro de la región.
[0044] Los modos de realización del dispositivo pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características descritas anteriormente en relación con los procedimientos, el primer dispositivo, el aparato y el medio legible por procesador, así como una o más de las siguientes características.
[0045] El controlador se puede configurar además para generar una indicación para hacer que el dispositivo se mueva, en respuesta a determinar que la ubicación determinada del al menos un punto de fuga en la imagen capturada está en una ubicación descentrada, de modo que un punto de fuga posterior en una imagen capturada posterior se ubicará sustancialmente en el centro de la imagen capturada posterior.
[0046] El controlador configurado para determinar las posiciones candidatas se puede configurar para determinar pasillos candidatos, en un área que incluye múltiples pasillos asociados con los valores de orientación respectivos, en base a la orientación relativa del dispositivo determinada a partir de la ubicación del al menos un punto de fuga en la imagen capturada, y en base a la orientación de dispositivo medida.
[0047] El controlador se puede configurar además para recuperar los datos de orientación asociados con las múltiples áreas dentro de la región a partir de datos de mapa para la región.
[0048] En algunas variaciones se divulga otro aparato. El aparato incluye medios para capturar una imagen de una escena para un dispositivo que incluye al menos un sensor, medios para determinar la ubicación de al menos un punto de fuga en la imagen capturada de la escena, medios para determinar una orientación de dispositivo medida del dispositivo en base a una o más mediciones realizadas por el al menos un sensor del dispositivo, y medios para determinar las posiciones candidatas del dispositivo en una región que incluye un área correspondiente a la escena en base, al menos en parte, a la ubicación del al menos un punto de fuga en la imagen capturada de la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas dentro de la región.
[0049] Los modos de realización del aparato pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características descritas anteriormente en relación con los procedimientos, los dispositivos, el primer aparato y el medio legible por procesador, así como una o más de las siguientes características.
[0050] El aparato puede incluir además medios para generar una indicación para hacer que el dispositivo se mueva, en respuesta a determinar que la ubicación determinada del al menos un punto de fuga en la imagen capturada está en una ubicación descentrada, de modo que un punto de fuga posterior en una imagen capturada posterior se ubicará sustancialmente en el centro de la imagen capturada posterior.
[0051] Los medios para determinar las posiciones candidatas pueden incluir medios para determinar pasillos candidatos, en un área que incluye múltiples pasillos asociados con valores de orientación respectivos, en base a la orientación relativa del dispositivo determinada a partir de la ubicación del al menos un punto de fuga en la imagen capturada, y en base a la orientación de dispositivo medida.
[0052] El aparato puede incluir además medios para recuperar los datos de orientación asociados con las múltiples áreas dentro de la región a partir de datos de mapa para la región.
[0053] En algunas variaciones se divulga un medio legible por procesador no transitorio. El medio legible por procesador se programan con un conjunto de instrucciones ejecutables en un procesador que, cuando se ejecutan, provocan operaciones que incluyen capturar una imagen, por una unidad de captura de imágenes de un dispositivo, de una escena asociada con un valor de orientación de escena, comprendiendo además el dispositivo al menos un sensor, determinar la ubicación de al menos un punto de fuga en la imagen capturada de la escena, determinar una orientación de dispositivo medida del dispositivo en base a una o más mediciones realizadas por el al menos un sensor del dispositivo, y determinar las posiciones candidatas del dispositivo en una región que incluye un área correspondiente a la escena en base, al menos en parte, a la ubicación del al menos un punto de fuga en la imagen capturada de la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas dentro de la región.
[0054] Los modos de realización del medio legible por procesador pueden incluir al menos algunas de las características descritas en la presente divulgación, que incluyen al menos algunas de las características
descritas anteriormente en relación con los procedimientos, los dispositivos, el aparato y el primer medio legible por procesador.
[0055] A menos que se defina de otro modo, todos los términos técnicos y científicos usados en el presente documento tienen el mismo significado que se entiende comúnmente o convencionalmente. Como se usa en el presente documento, los artículos “un” y “una” se refieren a uno o a más de uno (es decir, a al menos uno) del objeto gramatical del artículo. A modo de ejemplo, “un elemento” significa un elemento o más de un elemento. “Aproximadamente” como se usa en el presente documento cuando se refiere a un valor medible, tal como una cantidad, una duración temporal y similares, engloba variaciones de ±20 % o ±10 %, ±5 % o 0,1 % del valor especificado, ya que dichas variaciones son apropiadas en el contexto de los sistemas, dispositivos, circuitos, procedimientos y otras implementaciones descritas en el presente documento. “Sustancialmente” como se usa en el presente documento cuando se refiere a un valor medible, tal como una cantidad, una duración temporal, un atributo físico (tal como la frecuencia) y similares, también engloba variaciones de ±20 % o ±10 %, ±5 %, o 0,1 % del valor especificado, ya que dichas variaciones son apropiadas en el contexto de los sistemas, dispositivos, circuitos, procedimientos y otras implementaciones descritas en el presente documento.
[0056] Como se usa en el presente documento, incluyendo en las reivindicaciones, “o” o “y” como se usa en una lista de elementos precedidos por “al menos uno de” o “uno o más de” indica que se puede usar cualquier combinación de los elementos enumerados. Por ejemplo, una lista de “al menos uno de A, B o C” incluye cualquiera de las combinaciones A o B o C o AB o AC o BC y/o ABC (es decir, A y B y C). Además, en la medida en que es posible más de una aparición o uso de los elementos A, B o C, los usos múltiples de A, B y/o C pueden formar parte de las combinaciones contempladas. Por ejemplo, una lista de “al menos uno de A, B o C” también puede incluir AA, AAB, AAA, BB, etc.
[0057] Como se usa en el presente documento, incluyendo en las reivindicaciones, a menos que se indique de otro modo, una declaración de que una función, operación o característica se “basa en” un elemento y/o condición significa que la función, operación, función se basa en el elemento y/o condición indicada y se puede basar en uno o más elementos y/o condiciones además del elemento y/o condición indicada.
[0058] Otros y objetivos, características, aspectos y ventajas adicionales de la presente divulgación se entenderán mejor con la siguiente descripción detallada de los dibujos adjuntos.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0059]
La FIG. 1 es un diagrama que muestra la convergencia de líneas a puntos de fuga en una imagen 2-D capturada de una escena 3D.
La FIG. 2 es un diagrama esquemático de un entorno operativo de ejemplo para un dispositivo móvil.
La FIG. 3 es un diagrama de bloques de un dispositivo móvil.
La FIG. 4 es un diagrama de flujo de un procedimiento de ejemplo para determinar los puntos de fuga en una imagen.
La FIG. 5 es un diagrama de flujo de un procedimiento de ejemplo para la calibración del sensor en base a uno o más puntos de fuga determinados.
La FIG. 6 es un diagrama de un mapa de ejemplo que muestra una pluralidad de corredores/pasillos en los que se puede ubicar un usuario que lleva un dispositivo (tal como un dispositivo móvil).
La FIG. 7 es una imagen en la que se presenta un ejemplo de una guía de retícula para posibilitar que el usuario alinee el dispositivo móvil que está sosteniendo.
La FIG. 8 es un diagrama de flujo de un procedimiento de ejemplo para estimar la ubicación de un dispositivo móvil.
La FIG. 9 es un diagrama esquemático de un sistema informático de ejemplo.
La FIG. 10A es un diagrama que ilustra una relación de ejemplo entre una esfera unitaria y líneas situadas en un plano de imagen.
La FIG. 10B es un diagrama que ilustra otra relación de ejemplo entre una esfera unitaria y líneas situadas en un plano de imagen.
DESCRIPCIÓN DETALLADA
[0060] En el presente documento se describen sistemas, aparatos, dispositivos, procedimientos, productos de programa informático y otras implementaciones, incluyendo un procedimiento que incluye capturar una imagen de una escena por una unidad de captura de imágenes (tal como una cámara) de un dispositivo que también incluye al menos un sensor (por ejemplo, un sensor espacial/de orientación/inercial, tal como un giroscopio, magnetómetro, etc.), que determina la orientación de dispositivo relativa del dispositivo (por ejemplo, representada como una matriz de rotación) en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga en la imagen capturada de la escena, y realizar una o más operaciones de calibración para el al menos un sensor en base, al menos en parte, a la orientación de dispositivo relativa determinada.
[0061] Por ejemplo, y con referencia a la FIG. 1, que muestra la convergencia de las líneas 110-118 (que son paralelas en una escena 3-D) a un punto de fuga común en una imagen capturada 2-D 100 correspondiente de la escena 3D, se considera una situación en la que un usuario está de pie en un pasillo con una orientación que es conocida (de un mapa o de información de referencia geográfica). Si el usuario, de pie en el medio del pasillo, apunta la cámara del dispositivo móvil aproximadamente a lo largo del eje longitudinal del pasillo, un punto de fuga común 120 de las líneas de borde define la dirección del pasillo. En base a la ubicación del punto de fuga común 120, se puede determinar la orientación relativa de la cámara (por ejemplo, expresada en términos de una matriz de rotación que establece la relación entre las coordenadas del mundo real y el sistema de coordenadas de la cámara). En algunos modos de realización, cuando la cámara está apropiadamente alineada, se puede usar la desviación del punto de fuga desde el centro de la imagen para estimar la orientación de la cámara. En algunos modos de realización, se pueden requerir al menos dos puntos de fuga en la imagen para determinar la orientación relativa. Si la orientación de la cámara es conocida, por ejemplo, en base a la orientación relativa determinada y/o la orientación conocida del pasillo u otra característica geográfica donde se encuentra el usuario, se puede determinar la exactitud de las mediciones de orientación independientes realizadas por al menos un sensor de orientación comparando dichas mediciones independientes con la orientación de dispositivo determinada. En consecuencia, se pueden usar los puntos de fuga en las imágenes para calibrar el/los sensor(es).
[0062] Con referencia a la FIG. 2, se muestra un diagrama esquemático de un entorno operativo 200 de ejemplo para un dispositivo móvil 208. El dispositivo móvil (también denominado dispositivo inalámbrico o estación móvil) 208 se puede configurar para funcionar e interactuar con múltiples tipos de otros sistemas/dispositivos de comunicación, incluyendo dispositivos (o nodos) de red de área local, tales como WLAN para comunicación en interiores, femtocélulas, transceptores basados en Bluetooth, otros tipos de nodos de red de comunicación en interiores, nodos de red inalámbrica de área amplia, sistemas de comunicación satelital, etc., y como tal el dispositivo móvil 208 puede incluir una o más interfaces para comunicarse con los diversos tipos de sistemas de comunicaciones. Como se usa en el presente documento, el sistema/dispositivos de comunicación con los que el dispositivo móvil 208 se puede comunicar también se denominan puntos de acceso (AP). El dispositivo móvil también se configura para calibrar uno o más sensores de orientación (también denominados sensores espaciales o inerciales), tales como un giroscopio, un magnetómetro, etc., determinando su orientación relativa en base, al menos en parte, al cálculo de al menos un punto de fuga en al menos una imagen capturada 2D de una escena. En algunas variaciones se puede determinar una orientación absoluta del dispositivo en base a los valores de orientación predeterminados proporcionados a la estación móvil, por ejemplo, desde un servidor que mantiene dichos valores, para determinadas características de la escena 3D capturada por la unidad de captura de imágenes del dispositivo. Por ejemplo, cuando el dispositivo está ubicado en un entorno interior, se pueden usar valores de orientación predeterminados de los pasillos en ese entorno para determinar la orientación absoluta del dispositivo. Como se describirá con mayor detalle a continuación, en algunos modos de realización, los valores de orientación también se pueden determinar a partir de una pluralidad de orientaciones relativas (calculadas en base a la determinación de puntos de fuga) para posibilitar, por ejemplo, la determinación de un cambio de orientación experimentado por el dispositivo 208.
[0063] En algunas variaciones, el dispositivo móvil se puede configurar además para facilitar la determinación de ubicación del dispositivo en base a la determinación de los puntos de fuga en la imagen capturada de la escena visible desde la cámara del dispositivo. En particular, el dispositivo móvil 208 puede capturar una imagen (por ejemplo, por su unidad de captura de imágenes, tal como una cámara) de una escena asociada con un valor de orientación de escena (que se puede obtener, por ejemplo, a partir de información de mapa almacenada en el dispositivo u obtenida desde un servidor remoto). El dispositivo se configura para determinar la ubicación de al menos un punto de fuga en la escena de la imagen capturada, y determinar una orientación medida del dispositivo en base a las mediciones realizadas por un sensor de orientación (por ejemplo, giroscopio, magnetómetro, etc.) incluido en el dispositivo. Se supone que un sensor(es) de orientación de este tipo está(n) calibrado(s) y, por tanto, proporciona(n) medidas de orientación sustancialmente exactas del dispositivo móvil. Por tanto, se pueden determinar las posiciones candidatas del dispositivo en una región que incluye un área correspondiente a la escena en base, al menos en parte, a la ubicación del al menos un punto de fuga en la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas (tales como múltiples pasillos) dentro de la región.
[0064] Como se indica, el entorno operativo 200 puede contener uno o más tipos diferentes de sistemas o nodos de comunicación inalámbrica. Dichos nodos, también denominados puntos de acceso inalámbrico (o WAP) pueden incluir transceptores inalámbricos LAN y/o WAN, incluyendo, por ejemplo, estaciones base wifi, transceptores de femtocélulas, transceptores Bluetooth, estaciones base celulares, transceptores WiMax, etc. Por tanto, por ejemplo, y con referencia continua a la FIG. 2, el entorno operativo 200 puede incluir puntos de acceso inalámbrico de red de área local (LAN-WAP) 206a-e que se pueden usar para la comunicación inalámbrica de voz y/o datos con el dispositivo móvil 208. Los LAN-WAP 206a-e también se pueden utilizar, en algunos modos de realización, como fuentes independientes de datos de posición, por ejemplo, a través de la implementación de procedimientos basados en trilateración en base, por ejemplo, a técnicas de tiempo de llegada. Los LAN-WAP 206a-e pueden ser parte de una red inalámbrica de área local (WLAN), que puede funcionar en edificios y realizar comunicaciones en regiones geográficas más pequeñas que una WWAN. Adicionalmente, en algunos modos de realización, los LAN-WAP 206a-e también podrían ser pico o femtocélulas que son parte de una red WWAN. En algunos modos de realización, los LAN-WAP 206a-e pueden ser parte, por ejemplo, de redes wifi (802.11x), picorredes celulares y/o femtocélulas, redes Bluetooth, etc. Los LAN-WAP 206a-e también pueden formar parte de un sistema de posicionamiento en interiores. Aunque se representan cinco (5) puntos de acceso LAN-WAP en la FIG. 2, se puede usar un número cualquiera de dichos LAN-WAP, y, en algunos modos de realización, el entorno operativo 200 puede no incluir ningún punto de acceso LAN-WAP en absoluto, o puede incluir un único punto de acceso LAN-WAP. Además, cada uno de los LAN-WAP 206a-e representados en la FIG. 2 puede ser un nodo móvil o puede ser de otro modo uno que se puede reubicar.
[0065] Como se muestra además en la FIG. 2, el entorno operativo 200 también puede incluir, en algunos modos de realización, una pluralidad de uno o más tipos de puntos de acceso inalámbrico de red de área amplia (WAN-WAP) 204a-c, que se pueden usar para comunicación inalámbrica de voz y/o datos, y también puede servir como otra fuente de información independiente a través de la que el dispositivo móvil 208 puede determinar su posición/ubicación. Los WAN-WAP 204a-c pueden ser parte de una red inalámbrica de área amplia (WWAN), que puede incluir estaciones base celulares y/u otros sistemas inalámbricos de área amplia, tales como, por ejemplo, WiMAX (por ejemplo, 802.16), transceptores de femtocélulas, etc. Una WWAN puede incluir otros componentes de red conocidos que no se muestran en la FIG. 2. Típicamente, cada WAN-WAP 204a-204c dentro de la WWAN puede funcionar desde posiciones fijas, y proporcionar cobertura de red en grandes áreas metropolitanas y/o regionales. Aunque se representan tres (3) WAN-WAP en la FIG. 2, se puede usar un número cualquiera de dichos WAN-WAP. En algunos modos de realización, el entorno operativo 200 puede no incluir ningún WAN-WAP en absoluto, o puede incluir un único WAN-WAP. Adicionalmente, cada uno de los WAN-WAP 204a-c representados en la FIG. 2 puede ser un nodo móvil, o puede ser de otro modo uno que se puede reubicar.
[0066] La comunicación hacia y desde el dispositivo móvil 208 (para intercambiar datos, posibilitar la determinación de la posición del dispositivo 208, etc.) por tanto, también se puede implementar, en algunos modos de realización, usando diversas redes de comunicación inalámbrica tales como una red inalámbrica de área amplia (WWAN), una red inalámbrica de área local (WLAN), una red inalámbrica de área personal (WPAN) y así sucesivamente. El término “red” y “sistema” se pueden usar de manera intercambiable. Una WWAN puede ser una red de acceso múltiple por división de código (CDMA), una red de acceso múltiple por división de tiempo (TDMA), una red de acceso múltiple por división de frecuencia (FDMA), una red de acceso múltiple por división ortogonal de frecuencia (OFDMA), una red de acceso múltiple por división de frecuencia de portadora única (SC-FDMA), una red WiMax (IEEE 802.16) y así sucesivamente. Una red CDMA puede implementar una o más tecnologías de acceso por radio (RAT), tales como cdma2000, CDMA de banda ancha (W-CDMA) y así sucesivamente. La cdma2000 incluye las normas IS-95, IS-2000 y/o IS-856. Una red TDMA puede implementar el sistema global para comunicaciones móviles (GSM), el sistema avanzado de telefonía móvil digital (D-AMPS) o alguna otra RAT. GSM y W-CDMA se describen en documentos de un consorcio llamado “Proyecto de colaboración de tercera generación” (3GPP). La cdma2000 se describe en documentos de un consorcio llamado “Segundo proyecto de colaboración de tercera generación” (3GPP2). Los documentos del 3GPP y del 3GPP2 están disponibles para el público. Una WLAN también puede ser una red de 802.11x del IEEE y una WPAN puede ser una red Bluetooth, una de 802.15x del IEEE o algún otro tipo de red. Las técnicas descritas en el presente documento también se pueden usar para cualquier combinación de WWAN, WLAN y/o WPAN.
[0067] Cuando se deriva la posición usando la WLAN, el dispositivo móvil 208 puede utilizar técnicas de tiempo de llegada, opcionalmente con la ayuda de un servidor de posicionamiento 210 y una red 212. Por tanto, el dispositivo móvil 208 se puede configurar para determinar la información de posición usando los WAN-WAP 204a-c que pueden incluir WAP de diferentes tipos (por ejemplo, estaciones base celulares, estaciones base WiMax, etc.) En dicho entorno operativo, el dispositivo móvil 208 puede usar las señales desde los diferentes tipos de WAN-WAP para mejorar la exactitud. El servidor de posicionamiento 210 se puede comunicar con el dispositivo móvil 208 a través de la red 212.
[0068] En algunos modos de realización, y como se representa además en la FIG. 2, el dispositivo móvil 208 también se puede configurar para al menos recibir información desde un sistema de posicionamiento satelital (SPS) 202a-b, que se puede usar como una fuente independiente de información de posición para el dispositivo móvil 208. Por tanto, el dispositivo móvil 208 puede incluir uno o más receptores de SPS dedicados diseñados
específicamente para recibir señales para derivar información de ubicación geográfica desde los satélites SPS. Por tanto, en algunos modos de realización, el dispositivo móvil 208 se puede comunicar con uno cualquiera o una combinación de los satélites SPS 202a-b, los WAN-WAP 204a-c y/o los LAN-WAP 206a-e. En algunas variaciones, cada uno de los sistemas mencionados anteriormente puede proporcionar una estimación de información independiente de la posición para el dispositivo móvil 208 usando diferentes técnicas. En algunos modos de realización, el dispositivo móvil puede combinar las soluciones derivadas desde cada uno de los diferentes tipos de puntos de acceso para mejorar la exactitud de los datos de posición.
[0069] En modos de realización en los que el dispositivo móvil 208 puede recibir señales de satélite, el dispositivo móvil puede utilizar un receptor implementado específicamente para su uso con el SPS que extrae datos de posición de una pluralidad de señales transmitidas por los satélites SPS 202a-b. Las señales de satélite transmitidas pueden incluir, por ejemplo, señales marcadas con un código de ruido pseudoaleatorio (PN) que se repite de un número establecido de chips y se pueden ubicar en estaciones de control en tierra, equipos de usuario y/o vehículos espaciales. Los sistemas de posicionamiento por satélite pueden incluir sistemas tales como el sistema de posicionamiento global (GPS), Galileo, Glonass, Compass, el sistema de satélites cuasicenitales (QZSS) en Japón, el sistema indio de satélites de navegación regional (IRNSS) en la India, Beidou en China, etc., y/o diversos sistemas de aumento (por ejemplo, un sistema de aumento basado en satélites (SBAS)) que se pueden asociar o de otro modo habilitar para su uso con uno o más sistemas de satélites de navegación global y/o regional. A modo de ejemplo, pero no de limitación, un SBAS puede incluir un sistema(s) de aumento que proporciona(n) información de integridad, correcciones diferenciales, etc., tales como, por ejemplo, el sistema de aumento de área amplia (WAAS), el servicio europeo de navegación por complemento geoestacionario (EGNOS), el sistema de aumento por satélite multifuncional (MSAS), el sistema de navegación aumentado geoestacionario asistido por GPS o de navegación aumentado por GPS y órbita geoestacionaria (GAGAN) y/o similares.
[0070] Como se usa en el presente documento, un dispositivo o estación móvil (MS) se refiere a un dispositivo tal como un dispositivo celular u otro de comunicación inalámbrica, un dispositivo de un sistema de comunicaciones personal (PCS), un dispositivo de navegación personal (PND), un gestor de información personal (PIM), un asistente digital personal (PDA), un ordenador portátil u otro dispositivo móvil adecuado que pueda recibir señales inalámbricas de navegación y/o de comunicación, tales como señales de posicionamiento de navegación. También se pretende que el término “estación móvil” (o “dispositivo móvil” o “dispositivo inalámbrico”) incluya dispositivos que se comunican con un dispositivo de navegación personal (PND), tal como por una conexión inalámbrica, de infrarrojos, cableada u otra de corto alcance, independientemente de si la recepción de señales de satélites, la recepción de datos de asistencia y/o el procesamiento relacionado con la posición se produce en el dispositivo o en el PND. Además, se pretende que “estación móvil” incluya todos los dispositivos, incluyendo dispositivos de comunicación inalámbrica, ordenadores, ordenadores portátiles, dispositivos de tableta, etc., que se puedan comunicar con un servidor, tal como por medio de Internet, wifi u otra red, e independientemente de si la recepción de señales de satélites, la recepción de datos de asistencia y/o el procesamiento relacionado con la posición se produce en el dispositivo, en un servidor o en otro dispositivo asociado con la red. Cualquier combinación funcional de lo anterior también se considera una “estación móvil”. En algunos modos de realización, los procedimientos descritos en el presente documento, incluyendo los procedimientos para determinar puntos de fuga, calibrar sensores en base a puntos de fuga determinados, etc., se pueden realizar por dispositivos que no tienen funcionalidad inalámbrica (por ejemplo, funcionalidad para comunicarse de forma inalámbrica con otros dispositivos remotos).
[0071] De acuerdo con determinados aspectos, las técnicas/procedimientos presentadas en el presente documento no están restringidos a sistemas globales (por ejemplo, el GNSS) para SPS. Por ejemplo, las técnicas proporcionadas en el presente documento se pueden aplicar a, o de otro modo se pueden habilitar para su uso en, diversos sistemas regionales tales como, por ejemplo, el sistema de satélites cuasicenitales (QZSS) en Japón, el sistema indio de satélites de navegación regional (IRNSS) en la India, Beidou en China, etc., y/o diversos sistemas de aumento (por ejemplo, un sistema de aumento basado en satélites (SBAS)) que se pueden asociar a, o de otro modo se pueden habilitar para su uso con, uno o más sistemas de satélites de navegación global y/o regional. A modo de ejemplo, pero no de limitación, un SBAS puede incluir un sistema(s) de aumento que proporciona(n) información de integridad, correcciones diferenciales, etc., tales como, por ejemplo, el sistema de aumento de área amplia (WAAS), el servicio europeo de navegación por complemento geoestacionario (EGNOS), el sistema de aumento por satélite multifuncional (MSAS), el sistema de navegación aumentado geoestacionario asistido por GPS o de navegación aumentado por GPS y órbita geoestacionaria (GAGAN) y/o similares. Por tanto, como se usa en el presente documento, un SPS puede incluir cualquier combinación de uno o más sistemas de satélites de navegación global y/o regional y/o sistemas de aumento, y las señales de SPS pueden incluir señales de SPS, de tipo SPS y/u otras asociadas con dicho uno o más SPS.
[0072] Con referencia ahora a la FIG. 3, se muestra un diagrama de bloques de un dispositivo móvil 300, que puede ser similar al dispositivo 208 descrito en relación con la FIG. 2. Como se ilustra en la FIG. 3, el dispositivo móvil 300 puede incluir al menos un sensor de orientación (también denominado sensor espacial o inercial) 320, que puede ser, por ejemplo, un magnetómetro, un acelerómetro (por ejemplo, un acelerómetro 3D), un giroscopio, etc. Aunque solo se representa un sensor de orientación, se pueden incluir sensores adicionales con
el dispositivo 300. La estación móvil incluye además un dispositivo de captura de imágenes, tales como una cámara 330 (por ejemplo, una cámara de tipo dispositivo de carga acoplada (CCD), una cámara de tipo CMOS, etc.), que puede producir imágenes fijas o en movimiento (por ejemplo, una secuencia de vídeo) que se puede visualizar en un dispositivo de interfaz de usuario, tal como un visualizador o una pantalla.
[0073] El dispositivo móvil 300 puede incluir un receptor 340, tal como un receptor de sistema de posicionamiento por satélite (SPS) que recibe señales desde un satélite SPS (tal como los satélites 202a-b de la FIG. 2) por medio de una antena 344. El dispositivo móvil 300 también incluye un transceptor inalámbrico 335, que puede ser, por ejemplo, un módem celular o un receptor/transmisor de radio de red inalámbrica configurado para enviar y recibir comunicaciones hacia y desde uno o más puntos de acceso inalámbrico (tal como cualquiera de los LAN-WAP 206a-e y/o los WAN-WAP 204a-c), o con cualquier otro tipo de nodo de red configurado para la comunicación inalámbrica/celular. La comunicación hacia y desde el transceptor inalámbrico se puede posibilitar por medio de una antena dedicada 336, por medio de la antena 344 o por medio de alguna otra antena. Si se desea, el dispositivo móvil 300 puede incluir transceptores separados que sirven de módem celular y de receptores/transmisores de radio de red inalámbrica.
[0074] El al menos un sensor de orientación 320, la cámara 330, el receptor de SPS 340 y el transceptor inalámbrico 335 se conectan a, y se comunican con, un controlador de estación móvil 350. El controlador 350 se configura para aceptar y procesar datos desde el al menos un sensor de orientación 320, la cámara 330, el receptor de SPS 340 y/o el transceptor inalámbrico 335, y para controlar el funcionamiento de las diversas unidades/módulos integrados del dispositivo 300, así como el funcionamiento general del dispositivo móvil 300. Por ejemplo, el controlador 350 se configura para procesar imágenes capturadas por la cámara 330, determinar al menos un punto(s) de fuga (por ejemplo, dos o más puntos de fuga) en la imagen capturada, determinar la orientación relativa del dispositivo 300 en base al, al menos en parte, al menos un punto de fuga determinado, y/o calibrar el al menos un sensor 320 en base, al menos en parte, a la orientación relativa determinada del dispositivo 300. El controlador 350 puede incluir, en algunas implementaciones, un procesador 352 y una memoria asociada 354, un reloj 353, hardware 356, software 358 y firmware 357. El controlador de estación móvil 350 puede incluir además, en algunos modos de realización, un motor de procesamiento de imágenes 355 dedicado, que se ilustra por separado del procesador 352 para mayor claridad, pero que puede constituir parte del procesador 352. El motor de procesamiento de imágenes 355 se configura para procesar imágenes para identificar, por ejemplo, líneas de diversas características en una imagen capturada por la cámara 330 para identificar/determinar puntos de fuga a los que convergen las líneas identificadas. En base a los puntos de fuga determinados, se puede determinar la orientación relativa del dispositivo 300 (por ejemplo, en relación con alguna característica geográfica, tal como un pasillo), con la que, como se describirá con mayor detalle a continuación, se pueden calibrar los sensores de orientación instalados en el dispositivo móvil 300.
[0075] Determinar el/los punto(s) de fuga en una imagen capturada por, por ejemplo, la cámara 330 de la FIG.
3, se puede realizar en base a un procedimiento tal como el representado en la FIG. 4. Un procedimiento de determinación del punto de fuga 400 de ejemplo ilustrado en el diagrama de flujo de la FIG. 4 incluye detectar y extraer 410 líneas de borde en la imagen capturada, por ejemplo, por la cámara 330 del dispositivo móvil 300. Por ejemplo, en algunas implementaciones, la detección y extracción de líneas de borde aplicando operadores de detector de borde o línea tales como, por ejemplo, un núcleo de convolución (tal como el operador de filtrado Sobel, Canny, Canny-Deriche, diferencial, Prewitt, Roberts Cross u otros operadores apropiados) para detectar píxeles de borde, que a continuación se conectan y ajustan en segmentos de línea. También se pueden usar otros procedimientos/técnicas para identificar líneas en una imagen, incluyendo los procedimientos basados en técnicas de ajuste de línea, tales como una transformada de Hough. Los ejemplos de segmentos de línea extraídos de una imagen incluyen las líneas 110-118 y las líneas 130-136 que se extrajeron de la imagen 100 mostrada en la FIG. 1.
[0076] Habiendo determinado las líneas de borde presentes en la imagen capturada, se selecciona un número establecido M de pares de líneas (donde M puede ser un número predeterminado que se puede ajustar en base a un grado de precisión deseado para determinar los puntos de fuga) 420, y se determina/calcula un punto de intersección para cada dicho par de líneas (también en 420). El punto de intersección de cada uno de los M pares de líneas seleccionados puede representar una hipótesis de punto de fuga. Las hipótesis determinadas de los puntos de fuga se agrupan 430 en base, por ejemplo, a la distribución de las coordenadas de los puntos de fuga. En algunos modos de realización (por ejemplo, modos de realización en los que se puede extraer un punto de fuga para determinar una orientación relativa de un dispositivo), se identifican 440 las una o más hipótesis de puntos de fuga que cumplen con uno o más criterios, y un punto que está en (o está aproximadamente en) el centro del grupo identificado se considera/estima 450 que es el punto de fuga de la imagen capturada. El uno o más criterios que se pueden aplicar para identificar los puntos de fuga pueden incluir criterios tales como el número de puntos en un grupo de puntos de fuga (por ejemplo, para un grupo que tiene el mayor número de puntos, uno de sus puntos, por ejemplo, el punto más central, se puede elegir como el punto de fuga identificado), la proximidad de grupos de hipótesis de punto de fuga a una determinada ubicación, por ejemplo, el centro de la imagen), etc. También se pueden usar otros procedimientos/técnicas para identificar puntos de fuga. En algunos modos de realización, se pueden seleccionar dos o más puntos de fuga, uno de los que puede incluir un punto de fuga más cercano al centro de la imagen.
[0077] Volviendo nuevamente a la FIG. 3, el procesador 352 puede, pero no necesita incluir necesariamente, uno o más microprocesadores, procesadores integrados, controladores, circuitos integrados específicos de la aplicación (ASIC), procesadores de señales digitales (DSP) y similares. Como se usa en el presente documento, el término “memoria” se refiere a cualquier tipo de medio de almacenamiento informático no transitorio, incluyendo memoria a largo plazo, a corto plazo u otra asociada con la estación móvil, y no se debe limitar a ningún tipo particular de memoria o número de memorias, ni al tipo de medio en el que se almacena la memoria. A continuación se proporcionan otros detalles con respecto a un modo de realización de ejemplo de un procesador o sistema informático, que puede ser similar al procesador 352, en relación con la FIG. 9.
[0078] El dispositivo móvil 300 también incluye una interfaz de usuario 360 que está en comunicación con el controlador 350, por ejemplo, el controlador 350 puede aceptar datos y controlar la interfaz de usuario 360. La interfaz de usuario 360 incluye un visualizador 362 que puede visualizar imágenes, incluyendo imágenes producidas por la cámara 330. El visualizador 362 puede visualizar además menús de control e información posicional. La interfaz de usuario 360 incluye además dispositivos de interfaz de entrada, tales como, por ejemplo, un teclado 364, una pantalla táctil (no mostrada), un micrófono y un altavoz (no mostrados) u otro dispositivo de entrada a través del que el usuario puede introducir información en la estación móvil 300.
Calibración de los sensores de orientación
[0079] Como se indica, a través de la determinación de al menos un punto de fuga (y en general, dos o más puntos de fuga) en una imagen capturada por una cámara de un dispositivo móvil (tal como el dispositivo móvil 300), se pueden realizar operaciones de calibración para sensores de orientación/movimiento del dispositivo móvil. Por tanto, con referencia a la FIG. 5, se muestra un diagrama de flujo de un procedimiento de ejemplo 500 para la calibración del sensor en base a puntos de fuga determinados. El procedimiento 500 incluye capturar 510 una imagen de una escena de un área geográfica en la que el usuario del dispositivo se ubica por una unidad de captura de imágenes (por ejemplo, una cámara tal como la cámara 330 descrita en relación con la FIG. 3). La captura de la escena se puede realizar a criterio del usuario que lleva el dispositivo que puede activar la cámara, o se puede iniciar automáticamente en respuesta a una determinación de que se necesita calibrar uno o más sensores de orientación integrados del dispositivo, por ejemplo, en base a un programa predeterminado o en base a alguna medición basada en el rendimiento indicativa de que el rendimiento del uno o más sensores de orientación se ha degradado hasta el punto en que el/los sensor(es) requiere(n) calibración. Un inicio automático del procedimiento de calibración puede incluir enviar instrucciones/indicaciones al usuario donde se requiere la ayuda del usuario para el procedimiento de calibración (por ejemplo, solicitar al usuario que levante la cámara y la active para tener una exposición de la escena). En algunos modos de realización, un visualizador de pantalla (tal como el visualizador 362 del dispositivo 300 de la FIG. 3) puede presentar una imagen realizada con la cámara del dispositivo (una cámara de este tipo se puede situar en el lado del dispositivo opuesto al lugar donde se ubica el visualizador) para posibilitar que el usuario apunte la cámara hacia el pasillo (o hacia alguna otra característica destacada de la escena para ayudar a determinar la orientación del dispositivo). Una vez que se realiza la imagen del pasillo, los puntos de fuga determinados en la imagen se pueden, en algunos modos de realización, marcar/identificar en la imagen capturada que se visualiza en el visualizador del dispositivo (por ejemplo, superponer características como una estrella o un punto en la ubicación sobre la imagen visualizada correspondiente a puntos de fuga determinados en esa imagen). En algunos modos de realización, el visualizador del dispositivo también puede presentar un mapa del área en la que se encuentra el usuario. Por ejemplo, un mapa del área en la que se encuentra el usuario puede ocupar la mayoría de la superficie de visualización, mientras que la imagen capturada por la cámara se puede presentar en el área restante de la superficie de visualización (por ejemplo, en un área rectangular pequeña en una esquina de la superficie de visualización). De forma alternativa, la imagen capturada por la cámara se puede presentar en la mayoría de la superficie del visualizador, ocupando el mapa del área en la que se encuentra el usuario una porción más pequeña de la superficie de visualización (por ejemplo, en una de las esquinas de la superficie de visualización). En algunos modos de realización, el dispositivo móvil puede incluir múltiples cámaras (por ejemplo, una cámara en la parte posterior del dispositivo, otra cámara ubicada en uno de sus lados, etc.) para realizar simultáneamente, por tanto, múltiples imágenes de la escena desde las que se pueden determinar múltiples puntos de fuga. El uso de múltiples cámaras incluidas con un único dispositivo móvil puede posibilitar una estimación mejorada de la orientación de la cámara en relación con la escena en la que se realiza(n) la(s) imagen/imágenes.
[0080] Como se muestra además en la FIG. 5, la orientación relativa del dispositivo (por ejemplo, la orientación relativa con respecto a la escena) se determina 520 en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga (y en general, al menos dos) en la imagen capturada de escena. Como se indica, en algunas implementaciones, se puede usar un procedimiento de determinación de punto de fuga, tal como el procedimiento 400 de la FIG. 4, para calcular un punto de fuga en la imagen capturada de la escena. Por tanto, por ejemplo, en dichas implementaciones, se detectan líneas de borde en la imagen capturada, se determinan grupos de puntos de intersección de múltiples pares de líneas, y se selecciona uno o más grupos de esos grupos de puntos de intersección (por ejemplo, en base a uno o más criterios, tales como el número de puntos de intersección en un grupo, la proximidad del grupo al centro de la imagen capturada, etc.) En base a la ubicación
del/de los punto(s) de fuga, se establece la orientación relativa de la cámara que capturó la imagen de la escena (y, por tanto, la orientación relativa del dispositivo móvil). Por ejemplo, y con referencia nuevamente a la FIG. 1, en algunos modos de realización, en base a la ubicación del punto de fuga 120, determinado a partir de la intersección de las líneas 110-118, la desviación de la ubicación del punto de fuga 120 desde el centro de la imagen posibilita la determinación de cómo está posicionada la cámara en relación con la escena. En el ejemplo de la FIG. 1, un punto de fuga se sitúa por encima y a la derecha del centro de la imagen (por ejemplo, en un ángulo de alrededor de 20° desde el centro de la imagen), y las líneas verticales son casi paralelas (correspondientes a un punto de fuga que está en el infinito). La desviación calculada de la ubicación del punto de fuga desde el centro de la imagen indica que la unidad de captura de imágenes del dispositivo se puede girar ligeramente en un sentido hacia la izquierda en relación con el centro de la imagen. En general, la orientación relativa se puede determinar a partir de la desviación de un punto de fuga del centro de la imagen cuando se detectan dos o más puntos de fuga.
[0081] En algunas implementaciones, cuando se identifican dos puntos de fuga en una imagen capturada, se puede estimar un tercer punto de fuga en base, por ejemplo, a determinar un vector de punto de fuga que es ortogonal a los dos puntos de fuga identificados, por ejemplo, realizando una operación de producto vectorial de los dos puntos de fuga (que se representan como vectores). En base a los tres puntos de fuga (es decir, los dos determinados a partir de la imagen capturada y el tercero determinado, por ejemplo, como producto vectorial de los dos primeros puntos de fuga), se determina una matriz de rotación a partir de la que se puede derivar un ángulo de rotación entre el plano de imagen de la cámara con respecto al sistema de coordenadas global (y por tanto posibilitar la determinación de la orientación del dispositivo en relación con la escena). Por ejemplo, el siguiente procedimiento ilustra la determinación de una matriz de rotación, R, para una cámara estenopeica.
[0082] En particular, cuando una cámara se calibra intrínsecamente (por ejemplo, la matriz asociada con los atributos ópticos de la cámara, tales como la distancia focal y los puntos principales de la cámara, es conocida), los segmentos de línea en la imagen se pueden representar como los denominados “grandes círculos “que se encuentran en una esfera de radio unitario alrededor del centro de perspectiva de la cámara (es decir, los segmentos de línea que aparecen en una imagen capturada definen grandes círculos como la intersección de la esfera unitaria con planos que pasan a través de los segmentos de línea y el centro de perspectiva. Por ejemplo, con referencia a la FIG. 10A, que muestra un diagrama de la relación entre una esfera unitaria 1010 y un plano de imagen 1020, un segmento de línea 1022 está asociado con un gran círculo 1012, y un segmento de línea 1024 está asociado con un gran círculo 1014. Como se muestra además en la FIG. 10A, las líneas 1022 y 1024 se intersecan en un punto 1026. Este punto de fuga corresponde a un vector unitario 1016 en la esfera 1010 (el punto 1016 también corresponde a la intersección si los dos grandes círculos 1012 y 1014). Esta esfera unitaria se denomina comúnmente “esfera gaussiana”. Los grandes círculos se pueden detectar intersecando la esfera gaussiana con el plano (momento) que pasa a través del segmento de línea y el centro de perspectiva de la cámara.
[0083] En una situación donde los segmentos de línea extraídos de una imagen no son paralelos (por ejemplo, las líneas 110-118 de la FIG. 1), los segmentos de línea se intersecan entre sí en el plano de imagen. La coordenada (homogénea) de esta intersección se puede representar como p = [u v 1]T donde u y v son las coordenadas finitas del punto de fuga en el plano de imagen. El vector de longitud unitaria de ese punto de fuga se puede determinar de acuerdo con:
[0084] En situaciones donde las líneas paralelas 3D aparecen en el plano de imagen 2D como líneas paralelas (como es el caso con las líneas 1030, 1032 y 1034 representadas en la FIG. 10B, o con cualquiera de las líneas 130, 132, 134 y 136 que aparecen en el ejemplo de la FIG. 1), esos segmentos de línea paralelos no se intersecarán entre sí en el plano de imagen. En este caso, el punto de fuga se considera que está en el infinito. Sin embargo, el punto de fuga en la esfera gaussiana correspondiente a los puntos de fuga del plano de imagen que están en el infinito se puede obtener en la intersección de los grandes círculos correspondientes a esos segmentos de línea paralelos. En ese caso, el vector unitario determinado a partir de la intersección de los grandes círculos correspondientes a las líneas paralelas en el plano de imagen se extiende en una dirección paralela a la dirección de los segmentos de línea paralelos en el plano de imagen. En base a esta observación, el vector normal unitario para el punto de fuga obtenido en la intersección de los grandes círculos correspondientes a los segmentos de línea 2D paralelos (con punto de fuga correspondiente que está en el infinito) se puede calcular como:
eos &
V = sin 0
. 0 .
donde Q es un ángulo 1040 entre el eje horizontal en el plano de imagen (1020) y la línea 1034.
[0085] Para determinar una matriz de rotación, supóngase una situación donde al menos dos puntos de fuga se determinan a partir de una imagen capturada, ya sean puntos de fuga correspondientes a segmentos de línea en la imagen que convergen en algún punto de fuga (como es el caso de las líneas correspondientes a las paredes de un pasillo), o segmentos de línea paralelos que no convergen (por ejemplo, líneas verticales, tales como líneas de puertas u otras estructuras que aparecen en la imagen) y, por tanto, corresponden a puntos de fuga que están en el infinito. Si se detectan dos puntos de fuga p 1 y p2, correspondientes a dos direcciones principales de la estructura circundante (por ejemplo, direcciones x e y), se puede calcular la matriz de rotación R entre los marcos de coordenadas de la cámara y la estructura circundante (hasta una ambigüedad, debido a la asignación de dirección) como sigue:
[0086] Como se indica, el término pi x p 2 corresponde al producto vectorial de uno de los al menos dos puntos de fuga (por ejemplo, pi) con otro de los al menos dos puntos de fuga (por ejemplo, p2). Si la matriz R anterior no es ortonormal debido a imprecisiones en la detección del punto de fuga, la matriz ortonormal más cercana se puede obtener usando descomposición QR. La ambigüedad de asignación de marco se produce, ya que puede no ser conocida si p 1 y p 2 corresponden a la dirección x, la dirección y o la dirección z. Esta ambigüedad da como resultado varias soluciones distintas. La solución correcta entre estas se puede elegir fácilmente si hay una estimación aproximada de la orientación (por ejemplo, de un magnetómetro). De otro modo, se pueden analizar múltiples hipótesis, correspondientes a las soluciones viables, para seleccionar una de esas hipótesis.
[0087] La matriz de rotación resultante R representa por tanto la orientación relativa de la cámara del dispositivo móvil (es decir, en el caso particular en el que se realizó la imagen de la escena). También se pueden usar otras formas de calcular la orientación relativa del dispositivo de captura de imágenes (y, por tanto, la orientación del dispositivo móvil) desde la ubicación determinada de al menos un punto de fuga.
[0088] En algunas implementaciones, la orientación relativa de un dispositivo, como se determina, por ejemplo, desde el/los punto(s) de fuga en la imagen capturada, puede no ser suficiente para calibrar los sensores de orientación de modo que los sensores puedan medir la orientación real o absoluta (sin embargo, en algunos modos de realización, los sensores de orientación se pueden configurar para proporcionar la orientación relativa a una orientación inicial del dispositivo de modo que el sensor pueda proporcionar el cambio de orientación del dispositivo cuando la orientación del dispositivo haya cambiado desde su orientación inicial, por ejemplo, determinar matrices de rotación de dos imágenes cuando las dos imágenes comparten características detectables comunes). En consecuencia, en dichas implementaciones, se puede requerir que se determine la orientación real/absoluta del dispositivo además de la orientación relativa. Por ejemplo, en algunos modos de realización, la orientación real se puede determinar en base a la orientación de dispositivo relativa determinada a partir del al menos un punto de fuga, y además en base a un valor de orientación de escena asociado con la escena. Más en particular, considérese, por ejemplo, un mapa 600 ilustrado en la FIG. 6 que muestra una pluralidad de corredores/pasillos en los que se puede ubicar un usuario que lleva un dispositivo, tal como el dispositivo 300 de la FIG. 3. Supóngase que el usuario y, por tanto, el dispositivo, están ubicados en un punto marcado con una 'X' a lo largo del pasillo 610 (también marcado como pasillo 1a). La ubicación del dispositivo dentro del área local correspondiente al mapa 600 se puede derivar en base a las señales comunicadas desde diversas estaciones base o puntos de acceso (por ejemplo, implementadas usando tecnologías celulares o wifi) y recibidas por el/los transceptor(es) inalámbrico(s) 335 del dispositivo 300. A continuación, se pueden realizar procedimientos de determinación de posición de multilateración en base a métricas derivadas de las señales recibidas. Estas métricas a partir de las que se puede determinar la posición del dispositivo incluyen, por ejemplo, el tiempo de ida y vuelta (RTT, que en general corresponde al tiempo que tarda una señal en enviarse desde un dispositivo móvil a un punto de acceso, y recibir desde el punto de acceso una respuesta a la misma), indicación de intensidad de señal recibida (RSSI, que es una indicación de un nivel de potencia de señal de una señal recibida por una antena del dispositivo móvil), etc. Si el dispositivo 300 también puede recibir señales de SPS (por ejemplo, por el receptor de SPS 340), la posición del dispositivo 300 dentro del área local (tal como la correspondiente al mapa 600) se puede determinar en base, al menos en parte, a las señales de SPS.
[0089] Por tanto, con la ubicación del dispositivo determinada (una aproximación de la ubicación del dispositivo puede ser suficiente), se puede obtener un valor de orientación predeterminado asociado con las características geográficas correspondientes a la ubicación del dispositivo. Por ejemplo, los valores de orientación de una escena representativos de la configuración/posición del pasillo 610 representados en el mapa 600 (donde se determina que está ubicado el dispositivo) en relación con algún punto de referencia (por ejemplo, dirección norte absoluta, que se puede considerar que representa una dirección de 0° en algunos modos de realización) se pueden recuperar a partir de los datos del mapa (dispuestos usando una base de datos o un repositorio), por ejemplo, accediendo a los datos del mapa (que se pueden ubicar en un servidor remoto o almacenar localmente en el dispositivo), identificando una entrada en los datos del mapa correspondiente a la ubicación determinada (o ubicación aproximada) del dispositivo, y leyendo el valor de orientación asociado con esa entrada. En el ejemplo
de la FIG. 6, el pasillo 1a puede estar asociado con un valor de orientación de 45° (desde la posición angular norte del mapa almacenado en una base de datos 620). Debido a que se ha determinado la orientación relativa del dispositivo (en relación con el pasillo) (en base al, al menos un, punto de fuga determinado a partir de la imagen capturada de la escena del pasillo 610), y también se ha determinado la orientación del pasillo 610, se puede derivar la orientación real del dispositivo y, por tanto, se puede realizar la operación de calibración de los sensores de orientación/movimiento del dispositivo para los que se requiere una orientación absoluta (como se describirá con mayor detalle a continuación).
[0090] En algunas implementaciones, se puede realizar la determinación de la orientación del dispositivo (es decir, el dispositivo que incluye una unidad de captura de imágenes y al menos un sensor que se va a calibrar) en base a un cambio en los valores de orientación de dispositivo relativos determinados en base, al menos en parte, a las ubicaciones de puntos de fuga determinados a partir de una pluralidad de imágenes capturadas por la unidad de captura de imágenes durante un período de tiempo. Por tanto, en dichas implementaciones, la unidad de captura de imágenes del dispositivo (por ejemplo, la cámara 330 del dispositivo 300 de la FIG. 3) captura una pluralidad de imágenes de una escena (tal como la escena de uno de los pasillos representados por el mapa 600 de la FIG. 6, o cualquier otra escena en la que se pueda identificar un punto de fuga y calcular su ubicación). Para al menos algunas de las imágenes capturadas, se determinan los puntos de fuga respectivos (por ejemplo, de acuerdo con un procedimiento similar al procedimiento 400 representado en la FIG. 4) para derivar por tanto una pluralidad de orientaciones relativas para el dispositivo. En base a la pluralidad de las orientaciones relativas calculadas del dispositivo, se determina el cambio de orientación del dispositivo. Por ejemplo, cuando un usuario se mueve a lo largo de un pasillo recto, se puede detectar una pluralidad de puntos de fuga en múltiples ubicaciones. Al comparar el cambio de orientación entre estos puntos de tiempo, se puede determinar la orientación relativa de la cámara (y, por tanto, del dispositivo), lo que a su vez posibilita la calibración del/de los sensor(es). Por tanto, en situaciones donde es suficiente determinar el cambio de orientación (es decir, el delta (A) de orientación), se pueden calibrar los sensores de orientaciones de modo que el cambio de orientación medido sea sustancialmente el mismo que el cambio de orientación determinado a partir de la pluralidad de imágenes y la pluralidad de puntos de fuga calculados a partir de la misma. Por ejemplo, suponiendo que la matriz de rotación entre el sistema de coordenadas global y la primera imagen de, por ejemplo, un pasillo, se determina que es Rü, y que las matrices de rotación posteriores de las imágenes posteriores son R 1 , R2, ...Rn, la matriz de rotación para la iésima imagen y la primera imagen se puede calcular como R=Rü*R1*R2...Rí; y a continuación se pueden calcular los ángulos de rotación entre la iésima imagen y el pasillo. En la última ecuación, R es una matriz 3X3, el producto de cualquiera de las dos matrices (por ejemplo, R¡*Rj) corresponde a una operación de multiplicación de matrices, y Ri representa la rotación relativa entre la posición de la cámara ^sima e (i+1 )ésima.
[0091] Cabe destacar que en situaciones donde la escena no es uno de un pasillo con paredes paralelas, se pueden adoptar diferentes enfoques. Por ejemplo, cuando se gira a la izquierda (o a la derecha), se puede seguir el punto de fuga actual (por ejemplo, a medida que el dispositivo se mueve hacia la derecha, el punto de fuga en una secuencia de múltiples imágenes de la escena se puede desplazar hacia la izquierda). En situaciones donde la escena capturada es la de, por ejemplo, una bifurcación, cuando la cámara se acerca demasiado a una pared para ver las líneas del suelo y el techo, el/los punto(s) de fuga desaparece(n) y puede ser necesario adquirir una nueva escena antes de que se pueda(n) realizar otro(s) procedimiento(s) de calibración.
[0092] En algunas implementaciones, la orientación de dispositivo real se puede determinar en base, al menos en parte, a la orientación de dispositivo relativa (calculada a partir del al menos un punto de fuga determinado en la imagen de la escena), y en base además a un valor de orientación previamente determinado, por ejemplo, el mapa del pasillo.
[0093] En algunos modos de realización, para mejorar además la exactitud de la determinación del punto de fuga (por ejemplo, de modo que el punto de fuga en la imagen capturada esté sustancialmente en el centro de la imagen), se puede visualizar una guía, tal como la retícula (por ejemplo, superpuesta) sobre la imagen capturada por la unidad de captura de imágenes para indicar la ubicación actual del punto de fuga calculado en la imagen capturada. Una visualización de retícula sustancialmente simétrica sobre la imagen de la escena capturada puede indicar que el punto de fuga calculado está sustancialmente en el centro de la imagen. Un ejemplo de una guía de retícula 702 que aparece en una imagen 700 de un pasillo que se puede usar para posibilitar que el usuario alinee el dispositivo móvil que está sosteniendo se muestra en la FIG. 7.
[0094] Volviendo nuevamente a la FIG. 5, como se indica, en base al valor de orientación relativa determinado para el dispositivo con la unidad de captura de imágenes, se pueden realizar una o más operaciones de calibración para el al menos un sensor de orientación del dispositivo 530. En algunos modos de realización, realizar dichas operaciones de calibración puede incluir hacer una determinación de si es necesaria la calibración del/de los sensor(es) de orientación integrado(s) del dispositivo. Por tanto, la calibración del al menos un sensor de orientación integrado se puede considerar necesaria en respuesta a los resultados de comparación, producidos a partir de una comparación de una orientación medida determinada por el al menos un sensor y la orientación de dispositivo relativa (o real/absoluta) determinada, que indica que el sensor requiere calibración. Por ejemplo, cuando los resultados de comparación son tales que la diferencia entre la orientación medida por
el/los sensor(es) de orientación y la orientación (relativa o real) determinada a partir de los cálculos del punto de fuga supera algún valor umbral predeterminado, se puede determinar que la calibración es necesaria. Por otra parte, la calibración del al menos un sensor de orientación se puede considerar que es innecesaria en respuesta a los resultados de comparación, producidos a partir de la comparación de la orientación medida determinada por el al menos un sensor y la orientación de dispositivo relativa determinada, que indica que el al menos un sensor ya está calibrado. Por ejemplo, cuando los resultados de comparación son tales que la diferencia entre la orientación medida por el al menos un sensor de orientación y la orientación determinada a partir del cálculo del punto de fuga es menor que algún valor umbral predeterminado (que puede ser diferente o igual al valor umbral usado para determinar si la calibración es necesaria), se puede determinar a continuación que la calibración del al menos un sensor de orientación es innecesaria.
[0095] Como se indica, en algunos modos de realización, la calibración del/de los sensor(es) de orientación del dispositivo puede ser tal que el/los sensor(es) se calibre(n) para medir la orientación relativa con respecto al marco de referencia actual del área en la que se encuentra actualmente el dispositivo. Por ejemplo, en situaciones donde solo se derivó la orientación relativa del dispositivo (por ejemplo, en base al cálculo de al menos un punto de fuga), el sensor se puede calibrar de modo que la orientación medida por ese sensor sea relativa a la orientación calculada en base al, al menos un, punto de fuga. Por ejemplo, si los cálculos del punto de fuga indican que la unidad de captura de imágenes del dispositivo está girada aproximadamente en 20° en un sentido hacia la izquierda (o en sentido antihorario) en relación con el centro del pasillo, el/los sensor(es) de orientación integrado(s) del dispositivo se puede(n) calibrar asimismo para establecer su(s) orientación/orientaciones medida(s) actual(es) a un valor de 20° en un sentido hacia la izquierda en relación con el punto de referencia.
[0096] Cuando se determina la orientación real del dispositivo (por ejemplo, en base a la orientación relativa determinada a partir del al menos un punto de fuga calculado a partir de la imagen capturada y de un valor de orientación obtenido asociado con la escena correspondiente a la imagen capturada), el/los sensor(es) de orientación del dispositivo se puede(n) calibrar para medir la orientación real. Por tanto, por ejemplo, usando la orientación real del dispositivo determinada en base a los cálculos del punto de fuga (y opcionalmente habiendo determinado que la calibración del sensor de orientación es necesaria, por ejemplo, debido a una discrepancia entre las mediciones de orientación producidas actualmente por los sensores de orientación y la orientación real calculada en base al punto de fuga), el/los sensor(es) de orientación del dispositivo se puede(n) calibrar para, por ejemplo, corregir uno o más sesgos del sensor, ajuste a escala del sensor y/o desalineación del sensor para el/los sensor(es) de orientación, de modo que el al menos un sensor del dispositivo proporcione una medición de orientación que sea sustancialmente igual al valor de orientación determinado en base al enfoque del punto de fuga. Un sesgo de un sensor (también se denomina desplazamiento del sensor) representa un error fijo (por ejemplo, un valor de rotación angular erróneo fijo para los sensores rotativos) informado por el sensor cuando la medición real debería ser cero. Para contrarrestar este error, se puede añadir un desplazamiento a las mediciones del sensor. Por ejemplo, para los sensores de orientación rotativos (tales como un giroscopio o girómetro), cuando no hay cambio rotativo, los datos representativos de la medición por el sensor rotativo deberían indicar un cambio de rotación angular nulo. El ajuste a escala del sensor (a veces representado como un factor k) representa una discrepancia de medición cuando hay un cambio en el atributo medido. Por ejemplo, en el caso de un sensor rotativo, un valor de k=1 representa que no hay error entre la aceleración angular real y la aceleración angular medida. Un valor de 1,1 representa una diferencia de un 10 % entre la aceleración rotativa (o cambio), medida por el sensor, en relación con la aceleración rotativa o cambio real. La desalineación del sensor es la variación angular en los ejes X,Y,Z desde los ejes ortogonales. Esto se produce debido a la imprecisión provocada cuando se construye un giroscopio. La desalineación se puede representar como tres ángulos o como un vector de rotación.
[0097] En algunas implementaciones, para corregir uno o más del sesgo del sensor, ajuste a escala del sensor y/o desalineación del sensor para el/los sensor(es) de orientación, se puede usar una técnica de optimización de mínimos cuadrados. Los parámetros de calibración se estiman minimizando una función de error (por ejemplo, el cuadrado de la diferencia entre los valores de orientación pronosticados usando un conjunto candidato de parámetros de calibración y los valores de orientación calculados a partir de puntos de fuga).
[0098] Como se indica, en algunos modos de realización, los procedimientos de calibración en base al/a los punto(s) de fuga calculado(s) se pueden realizar para calibrar, por ejemplo, un sensor de giroscopio. Se puede implementar un sensor de giroscopio del dispositivo, en algunos modos de realización, en base a tecnología de sistema microelectromecánico (MEMS), y puede ser un giroscopio de eje simple, un giroscopio de doble eje o un giroscopio 3-D configurado para detectar movimiento alrededor de, por ejemplo, tres ejes ortogonales. Se pueden usar otros tipos de giroscopios en lugar de, o además del giroscopio basado en MEMS. En algunas variaciones, la calibración del giroscopio del dispositivo móvil se puede realizar, por ejemplo, comparando la orientación medida por el giroscopio con la orientación obtenida usando el enfoque del punto de fuga para calcular el sesgo, el ajuste a escala y/o la desalineación del giroscopio. Como se indica, para algunas aplicaciones, la orientación medida por un giroscopio no necesita ser una orientación absoluta. Más bien, para algunas aplicaciones, puede ser suficiente calcular el cambio de orientación, es decir, el delta de orientación (A de orientación). Por tanto, en algunos modos de realización, la calibración de un giroscopio puede incluir
determinar el cambio en la orientación medida por un giroscopio y comparar ese cambio medido con el cambio en la orientación como se determina a partir del enfoque del punto de fuga (es decir, comparar el ángulo delta detectado por ambos enfoques). El cambio de orientación relativa como se determina a partir de los cálculos del punto de fuga puede posibilitar, por tanto, el cálculo de los coeficientes de calibración del sensor y/o la corrección de algunos de los ajustes/parámetros del giroscopio, por ejemplo, el factor de ajuste a escala del sensor, el sesgo del sensor, etc., de modo que el giroscopio mida un cambio de orientación que sea consecuente (por ejemplo, sea sustancialmente igual) a la orientación determinada a partir de los cálculos del punto de fuga. En algunos modos de realización, la determinación del error de sesgo y/o el error de ajuste a escala asociado con el giroscopio se puede lograr haciendo que el dispositivo móvil experimente un cambio rotativo, midiendo el cambio en la orientación a partir de una pluralidad de imágenes capturadas durante el cambio rotativo del giroscopio, y determinando a partir del cambio rotativo (determinado a partir del cálculo del punto de fuga), y a partir de la salida producida por el giroscopio, los valores de desplazamiento y ajuste a escala asociados con el giroscopio, por ejemplo, resolviendo varias incógnitas, tales como el error de sesgo y el error de ajuste a escala, en base a mediciones múltiples usando procedimientos tales como regresión lineal, etc.
[0099] En algunos modos de realización, el sensor de medición de orientación del dispositivo puede ser un magnetómetro. Los magnetómetros se configuran para medir la intensidad y/o dirección de un campo magnético, y pueden, en algunos modos de realización, medir la orientación absoluta con respecto al norte magnético, que se puede convertir en orientación con respecto al norte verdadero. En algunas implementaciones, se puede usar el magnetómetro basado en MEMS. Dichos sensores de base MEMS se pueden configurar para detectar movimiento provocado por la fuerza de Lorentz producida por una corriente a través de un conductor MEMS. A continuación, se puede detectar el movimiento resultante electrónica u ópticamente. Otros tipos de magnetómetros, que incluyen magnetómetros tales como, por ejemplo, magnetómetros de efecto Hall, magnetómetros de bobina giratoria, etc., también se pueden usar en implementaciones del dispositivo móvil en lugar de, o además de, las implementaciones basadas en MEMS,
[0100] La calibración de un sensor de orientación/inercial de tipo magnetómetro usado junto con el dispositivo móvil que emplea una unidad de captura de imágenes se puede realizar de manera similar a la calibración de un sensor de tipo giroscopio, por ejemplo, comparando la orientación medida con magnetómetro con la orientación obtenida usando el enfoque del punto de fuga para calcular el sesgo, el ajuste a escala y/o la desalineación del magnetómetro que se va a calibrar. En algunos modos de realización, el procedimiento de calibración puede incluir proporcionar una medición de orientación absoluta por el magnetómetro y determinar una orientación de dispositivo absoluta en base a cálculos del punto de fuga a partir de una o más imágenes capturadas de una escena (por ejemplo, calcular el punto de fuga en una imagen, determinar la orientación relativa del dispositivo, y determinar la orientación de dispositivo absoluta en base a la orientación relativa determinada del dispositivo en la escena y en base a valores de dirección/orientación conocidos asociados con la escena). La diferencia entre la orientación medida del sensor del magnetómetro y la orientación del dispositivo determinada a partir del/de los punto(s) de fuga, por tanto, puede posibilitar el cálculo de parámetros tales como el valor de sesgo/desplazamiento del magnetómetro, su factor de ajuste a escala, etc. El procedimiento de calibración puede requerir el uso de varias mediciones de orientación y varios puntos de fuga calculados a partir de una o más imágenes para realizar la calibración del magnetómetro (por ejemplo, en circunstancias donde la calibración del magnetómetro requiere el cálculo de múltiples coeficientes de calibración, tales como los coeficientes pertinentes al desplazamiento/sesgo, el ajuste a escala, la desalineación, etc., del sensor).
[0101] Al igual que con los procedimientos de calibración de giroscopio, en algunos modos de realización, la calibración de un sensor de magnetómetro se puede realizar en base al cambio en la orientación del dispositivo (por ejemplo, A de orientación) sin requerir específicamente el conocimiento de la orientación absoluta del dispositivo. Por ejemplo, la calibración de un magnetómetro puede incluir determinar el cambio en la orientación medida por el magnetómetro, y comparar ese cambio medido con el cambio en la orientación como se detecta por el movimiento del punto de fuga (es decir, comparar el ángulo delta detectado por ambos enfoques). El cambio de orientación relativa como se determina a partir del punto de fuga posibilita el cálculo de los coeficientes de calibración y/o para corregir/ajustar algunos de los ajustes/parámetros del sensor, por ejemplo, el factor de ajuste a escala del sensor, el sesgo del sensor, etc., de modo que el magnetómetro mida un cambio de orientación que sea consecuente (por ejemplo, sea sustancialmente igual) a la orientación determinada a partir de los cálculos del punto de fuga. En algunos modos de realización, la determinación del error de sesgo y/o error de ajuste a escala asociado con el magnetómetro se puede lograr haciendo que el dispositivo móvil experimente un cambio rotativo, midiendo el cambio en la orientación a partir de una pluralidad de imágenes capturadas durante el cambio rotativo del magnetómetro, y determinando a partir del cambio rotativo (determinado a partir de cálculos del punto de fuga), y a partir de las salidas producidas por el magnetómetro, los valores de desplazamiento y ajuste a escala asociados con el giroscopio (por ejemplo, usando múltiples mediciones para resolver múltiples coeficientes/parámetros requeridos para la calibración del sensor).
[0102] Un desafío común en el uso del magnetómetro es tener en cuenta las anomalías magnéticas que pueden provocar grandes errores. Por tanto, en algunos modos de realización, un enfoque del punto de fuga también se puede usar para detectar y corregir estos errores. Por ejemplo, debido a que las anomalías magnéticas en interiores típicamente se provocan por objetos metálicos y equipos electrónicos, que normalmente
permanecen en las mismas posiciones, se puede generar un mapa de desviaciones magnéticas que se puede usar para futuras referencias. Cabe destacar que es posible funcionar sin un mapa usando el/los punto(s) de fuga para determinar que la orientación no haya cambiado y, a continuación, calibrando las anomalías periódicas (u otras anomalías) provocadas típicamente por vigas de metal. Incluso se puede determinar, debido a que las vigas son en general uniformes, cuál es el impacto de cualquier viga dada en el magnetómetro y, a continuación, detectar las vigas a medida que un sensor se acerca a ellas para: 1) calibrarlas; 2) cartografiarlas (por ejemplo, incluirlas como parte de un mapa magnético); y/o bien 3) contarlas o usarlas como puntos de referencia para determinar la distancia y la ubicación (porque típicamente están espaciadas a lo largo de una cuadrícula o en las esquinas). Por tanto, calibrar un sensor de magnetómetro se puede basar, en parte, en el conocimiento de la existencia (y nivel) de interferencia magnética y/u otras anomalías magnéticas para determinar el grado en que una discrepancia entre los valores de orientación medidos por el magnetómetro y la orientación del dispositivo determinada en base al enfoque del punto de fuga se puede atribuir a dichas interferencias/anomalías magnéticas. Si la existencia y el nivel de la interferencia magnética pueden explicar sustancialmente la discrepancia entre la orientación medida por el magnetómetro y la orientación del dispositivo calculada/derivada a partir del/de los punto(s) de fuga en la(s) imagen/imágenes capturada(s), entonces se puede considerar que el magnetómetro está calibrado. Sin embargo, si la discrepancia entre la orientación medida por el magnetómetro y la orientación del dispositivo calculada a partir del/de los punto(s) de fuga no se puede atribuir por completo a la existencia y al nivel de interferencia magnética (como se puede haber calculado/determinado previamente), entonces esto puede ser una indicación de que el magnetómetro puede requerir calibración. En consecuencia, en algunos modos de realización, realizar el procedimiento de calibración para el magnetómetro (de acuerdo con 530 de la FIG. 5) puede incluir calibrar un magnetómetro en respuesta a los resultados de comparación, producidos a partir de una comparación de la orientación medida determinada por el magnetómetro y la orientación de dispositivo relativa determinada a partir del cálculo del/de los punto(s) de fuga, que indica, adicionalmente en base a una indicación de una presencia de interferencia magnética que provoca mediciones erróneas temporales de la orientación medida, que el magnetómetro requiere calibración. Realizar el procedimiento de calibración para el magnetómetro también puede incluir determinar que el magnetómetro está calibrado en base a los resultados de comparación, y además en base a la indicación de la presencia de interferencia magnética que provoca las mediciones erróneas temporales de la orientación medida.
Estimación de la ubicación
[0103] La determinación de los puntos de fuga en una imagen capturada de una escena también se puede usar para la estimación/determinación de la ubicación. Por ejemplo, un usuario que se mueve dentro de un área cerrada (por ejemplo, un área que incluye múltiples pasillos/corredores) puede ser capaz de obtener una estimación de un posible pasillo en el que se puede ubicar en base a la información de orientación del/de los sensor(es) de orientación de un dispositivo móvil y la identificación de al menos un punto de fuga de una escena.
[0104] Para determinar posibles pasillos candidatos donde se puede ubicar el usuario, se puede capturar una imagen de una escena asociada con un valor de orientación usando el dispositivo que incluye una cámara (tal como la cámara 330 del dispositivo 300 de la FIG. 3) y otro sensor de orientación independiente (por ejemplo, realizado por un giroscopio, un magnetómetro o algún otro sensor correspondiente al sensor 320 representado en la FIG. 3). Se determina la ubicación de un punto de fuga en la escena en la imagen capturada. También se determina una orientación de dispositivo medida a partir de las mediciones realizadas por el/los sensor(es) de orientación del dispositivo. Las posiciones candidatas del dispositivo en una región que incluye un área correspondiente a la escena en la imagen capturada se pueden determinar en base, al menos en parte, a la ubicación del al menos un punto de fuga en la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas dentro de la región.
[0105] Considérese, por ejemplo, un diseño de pasillo conocido que puede ser similar al representado en la FIG. 6. En este ejemplo, los pasillos 1a, 1b,... 1j están alineados en un ángulo de a o a +180°, en relación con la posición Norte (que, para el propósito de este ejemplo, se establece para representar la posición 0°), donde a está aproximadamente a 45° de la posición Norte. El pasillo 2a, 2b, 2c y 2d están alineados en aproximadamente 90° a. Cuando un usuario está de pie en un pasillo y levanta la cámara de su dispositivo para hacer una foto del pasillo, la orientación del dispositivo determinada por el sensor de orientación (con un sensor de este tipo que se supone que está sustancialmente calibrado) se puede usar para limitar la ubicación del dispositivo a uno de varios pasillos que están asociados con la orientación medida por el sensor. En particular, se puede suponer que la orientación relativa del dispositivo como se determina a partir de los cálculos del punto de fuga (es decir, la orientación relativa a una escena o una característica en la escena, tal como el pasillo en el que el usuario está de pie) es igual a la orientación medida por el sensor en relación con la escena o característica. En consecuencia, la orientación de la característica en relación con un punto de referencia global (tal como la posición del Norte) se puede determinar a partir de la orientación relativa calculada en base al punto de fuga, y en base a la orientación medida proporcionada por el sensor de orientación. Por ejemplo, en una situación donde un punto de fuga aparece sustancialmente en el centro de la imagen, se puede suponer que la medición de orientación proporcionada por el sensor de orientación (ya sea un giroscopio, un magnetómetro y/o algún otro tipo de sensor de orientación) es una estimación sustancialmente exacta de la orientación del pasillo (en relación con un punto de referencia, tal como la posición Norte). Al comparar esta estimación de orientación determinada
con, por ejemplo, los valores de orientación asociados con el área en la que se ubica el pasillo, la ubicación del dispositivo dentro del área 600 se puede reducir a varios pasillos candidatos. Por ejemplo, si el sensor de orientación midió un valor de orientación de 45° (cuando el punto de fuga estaba sustancialmente en el centro de una imagen capturada cuando se realizó esa medición con el sensor de orientación), se puede deducir, a partir de los valores de orientación asociados con el área 600, que el dispositivo móvil (y, por tanto, el usuario) está ubicado en uno de los pasillos 1a - 1j.
[0106] Cabe destacar que en una situación donde no se detecte ningún punto de fuga, se puede deducir que el usuario está de pie en espacios abiertos tales como los espacios 3a-3d mostrados en la FIG. 6. En situaciones donde hay un punto de fuga de “baja confianza” (por ejemplo, debido a líneas no pertinentes), y las líneas no convergen en 1, 2 o 3 puntos de fuga, entonces esta situación es equivalente a un caso donde no se puede detectar ningún punto de fuga y, por lo tanto, en esa situación, la estimación de ubicación aproximada en base al enfoque del punto de fuga puede no ser factible.
[0107] Por tanto, con referencia a la FIG. 8, se muestra un diagrama de flujo de un procedimiento 800 para estimar la ubicación de un dispositivo móvil. Como se ilustra, el procedimiento 800 incluye capturar 810 una imagen, por una unidad de captura de imágenes (por ejemplo, una cámara CCD, una cámara CMOS, etc.) de un dispositivo, de una escena asociada con un valor de orientación de escena. Por ejemplo, se le puede solicitar al usuario que mueva el dispositivo de modo que la cámara esté en posición de capturar una imagen, y una vez que la cámara esté en posición, la unidad de captura de imágenes puede automáticamente, o en respuesta a que el usuario presione un botón para hacer que se tome la imagen, capturar la imagen en, por ejemplo, una matriz CCD de una cámara CCD, que a su vez haga que los datos digitales representativos de la imagen capturada se graben en un dispositivo de almacenamiento (una memoria o algún otro medio).
[0108] El dispositivo (por ejemplo, un dispositivo móvil) incluye además al menos un sensor, tal como un sensor de orientación. A partir de la imagen capturada de la escena, se determina 820 la ubicación de al menos un punto de fuga en la imagen. La ubicación del al menos un punto de fuga se puede determinar en base a un procedimiento tal como el procedimiento 400 descrito en relación con la FIG. 4. En algunos modos de realización, para mejorar la exactitud y fiabilidad del procedimiento de estimación de ubicación y/o para simplificar el procedimiento, se le puede solicitar a un usuario que sitúe la cámara de su dispositivo de modo que uno del al menos un punto de fuga de la imagen aparezca sustancialmente en el centro de la imagen. En dichos modos de realización, en respuesta a una determinación de que la ubicación determinada del punto de fuga en la imagen capturada está en una ubicación descentrada, se puede generar una indicación para hacer que el dispositivo se mueva de modo que un punto de fuga posterior en otra imagen capturada se ubicará sustancialmente en el centro de la imagen capturada posterior.
[0109] Adicionalmente, se determina 830 una orientación de dispositivo medida del dispositivo en base en una o más mediciones realizadas por el sensor de orientación del dispositivo. Por ejemplo, el sensor puede ser un giroscopio o magnetómetro implementado por MEMS configurado para realizar una medición representativa de una orientación del sensor (por ejemplo, para medir un cambio en la orientación, medir una orientación en relación con algún punto de referencia, etc.).
[0110] En base, al menos en parte, a la ubicación determinada del al menos un punto de fuga en la imagen de la escena, la orientación de dispositivo medida y los datos de orientación asociados con múltiples áreas dentro de la región (dichos datos de orientación se pueden recuperar a partir de los datos de mapa para la región que se pueden almacenar en un dispositivo remoto o localmente en el dispositivo móvil), se determinan 840 las posiciones candidatas del dispositivo en una región que incluye un área correspondiente a la escena. Por ejemplo, como se indica en el presente documento, la ubicación del al menos un punto de fuga se puede usar para determinar la orientación relativa del dispositivo (representada, por ejemplo, como una matriz de rotación), por ejemplo, en relación con una característica en la escena, tal como como un pasillo. A partir de la orientación relativa del dispositivo determinada a partir del al menos un punto de fuga, también se puede determinar la orientación relativa del sensor en relación con la misma característica. Por ejemplo, si se determina que el dispositivo está orientado a aproximadamente 10° del centro, también se puede suponer que el sensor tiene la misma orientación relativa que el dispositivo en relación con la característica de referencia de la imagen capturada (por ejemplo, el pasillo) y, por tanto, la orientación de la característica (en relación con una posición de referencia tal como la posición Norte) se puede determinar incorporando la orientación relativa del dispositivo determinada a partir del punto de fuga en el valor de orientación obtenido a través del sensor de orientación. A continuación, ese valor de orientación resultante se puede comparar con los valores de orientación predeterminados asociados con las características del área en la escena (dichos valores predeterminados se pueden almacenar en un servidor remoto o localmente en el dispositivo móvil). Se considera que las características con valores de orientación que coinciden sustancialmente con los valores de orientación resultantes determinados a partir de las mediciones del sensor de orientación y las orientaciones relativas calculadas en base a puntos de fuga son posibles posiciones candidatas para el dispositivo. Si solo se encuentra una característica con un valor de orientación coincidente, se puede considerar que esa característica (por ejemplo, un pasillo) es una característica donde se encuentra actualmente el dispositivo.
[0111] La realización de los procedimientos de calibración del sensor de orientación y/o los procedimientos de estimación de ubicación (por ejemplo, en base a la determinación del punto de fuga) descritos en el presente documento se puede facilitarse por un sistema informático basado en procesador. Con referencia a la FIG. 9, se muestra un diagrama esquemático de un sistema informático 900 de ejemplo. El sistema informático 900 incluye un dispositivo basado en procesador 910 tal como un ordenador personal, un dispositivo informático especializado, etc., que típicamente incluye una unidad de procesador central 912. Además de la CPU 912, el sistema incluye memoria principal, memoria caché y circuitos de interfaz de bus (no mostrados). El dispositivo basado en procesador 910 puede incluir un dispositivo de almacenamiento masivo 914, tal como un disco duro y/o una unidad flash asociada con el sistema informático. El sistema informático 900 puede incluir además un teclado 916 y un monitor 920, por ejemplo, un monitor CRT (tubo de rayos catódicos) o LCD (pantalla de cristal líquido), que se pueden colocar donde un usuario pueda acceder a ellos (por ejemplo, la pantalla de un dispositivo móvil).
[0112] El dispositivo basado en procesador 910 se configura para facilitar, por ejemplo, la implementación de procedimientos de calibración de sensores de orientación (por ejemplo, giroscopio, magnetómetro) en base a un punto(s) de fuga determinado(s) en una imagen capturada de una escena, y también para facilitar la implementación de procedimientos de determinación de ubicación en base a dichos puntos de fuga. Por tanto, el dispositivo de almacenamiento masivo 914 puede incluir un producto de programa informático que cuando se ejecuta en el dispositivo basado en procesador 910 hace que el dispositivo basado en procesador realice operaciones para facilitar la implementación de los procedimientos descritos anteriormente. El dispositivo basado en procesador puede incluir además dispositivos periféricos para posibilitar la funcionalidad de entrada/salida. Dichos dispositivos periféricos pueden incluir, por ejemplo, una unidad de CD-ROM y/o unidad flash, o una conexión de red, para descargar contenido relacionado al sistema conectado. Dichos dispositivos periféricos también se pueden usar para descargar software que contiene instrucciones informáticas para posibilitar el funcionamiento general del respectivo sistema/dispositivo. De forma alternativa y/o adicionalmente, en algunos modos de realización, se puede usar un circuito lógico de propósito especial, por ejemplo, una FPGA (matriz de puertas programables in situ), un procesador DSP o un ASIC (circuito integrado específico de la aplicación) en la implementación del sistema informático 900. Otros módulos que se pueden incluir con el dispositivo basado en procesador 910 son altavoces, una tarjeta de sonido, un dispositivo señalador, por ejemplo, un ratón o una bola de seguimiento, mediante los que el usuario puede proporcionar información al sistema informático 900. El dispositivo basado en procesador 910 puede incluir un sistema operativo.
[0113] Los programas informáticos (también conocidos como programas, software, aplicaciones de software o código) incluyen instrucciones de máquina para un procesador programable y se pueden implementar en un lenguaje de programación de alto nivel procedimental y/u orientado a objetos y/o en un lenguaje de montaje/máquina. Como se usa en el presente documento, el término “medio legible por máquina” se refiere a cualquier producto de programa informático no transitorio, aparato y/o dispositivo (por ejemplo, discos magnéticos, discos ópticos, memoria, dispositivos de lógica programable (PLD)) usados para proporcionar instrucciones de máquina y/o datos a un procesador programable, incluyendo un medio legible por máquina no transitorio que recibe instrucciones de máquina como una señal legible por máquina.
[0114] La memoria puede estar implementada dentro de la unidad de procesamiento o fuera de la unidad de procesamiento. Como se usa en el presente documento, el término “memoria” se refiere a cualquier tipo de memoria no volátil, volátil, a corto plazo, a largo plazo o a otra memoria, y no está limitado a ningún tipo particular de memoria o número de memorias, ni al tipo de medio en el que se almacene la memoria.
[0115] Si se implementan en firmware y/o en software, las funciones se pueden almacenar como una o más instrucciones o código en un medio legible por ordenador. Los ejemplos incluyen medios legibles por ordenador codificados con una estructura de datos y medios legibles por ordenador codificados con un programa informático. Los medios legibles por ordenador incluyen medios de almacenamiento informáticos físicos. Un medio de almacenamiento puede ser cualquier medio disponible al que se pueda acceder por un ordenador. A modo de ejemplo, y no de limitación, dichos medios legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético, almacenamiento de semiconductores u otros dispositivos de almacenamiento, o cualquier otro medio que se pueda usar para almacenar código de programa deseado en forma de instrucciones o estructuras de datos y al que se pueda acceder por un ordenador; como se usa en el presente documento, los discos incluyen disco compacto (CD), disco de láser, disco óptico, disco versátil digital (DVD), disco flexible y disco Blu-ray, donde algunos discos reproducen normalmente los datos de manera magnética, mientras que otros discos reproducen los datos de manera óptica con láser. Las combinaciones de lo anterior también se deben incluir dentro del alcance de los medios legibles por ordenador.
[0116] Además de almacenarse en un medio legible por ordenador, las instrucciones y/o los datos se pueden proporcionar como señales en medios de transmisión incluidos en un aparato de comunicación. Por ejemplo, un aparato de comunicación puede incluir un transceptor que tiene señales indicativas de instrucciones y datos. Las instrucciones y los datos se configuran para hacer que una o más unidades de procesamiento implementen las funciones esbozadas en las reivindicaciones. Es decir, el aparato de comunicación incluye medios de transmisión
con señales indicativas de información para realizar las funciones divulgadas. En un primer momento, los medios de transmisión incluidos en el aparato de comunicación pueden incluir una primera porción de la información para realizar las funciones divulgadas, mientras que, en un segundo momento, los medios de transmisión incluidos en el aparato de comunicación pueden incluir una segunda porción de la información para realizar las funciones divulgadas.
[0117] Aunque en el presente documento se han divulgado modos de realización particulares en detalle, esto se ha hecho a modo de ejemplo únicamente para propósitos ilustrativos, y no pretende ser limitante con respecto al alcance de las reivindicaciones adjuntas, que siguen. En particular, se contempla que se pueden realizar diversas sustituciones, alteraciones y modificaciones sin apartarse del espíritu y alcance de la invención como se define por las reivindicaciones. Se considera que otros aspectos, ventajas y modificaciones están dentro del alcance de las siguientes reivindicaciones. Las reivindicaciones presentadas son representativas de los modos de realización y características divulgadas en el presente documento. También se contemplan otros modos de realización y características no reivindicadas. En consecuencia, otros modos de realización están dentro del alcance de las siguientes reivindicaciones.
Claims (15)
1. Un procedimiento (500) que comprende:
capturar (510) una imagen (100) de una escena por una unidad de captura de imágenes (330) de un dispositivo (300) que incluye al menos un sensor inercial (320) para medir la orientación del dispositivo (300);
determinar (520) la orientación de dispositivo relativa del dispositivo (300) en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga (120) en la imagen capturada (100) de la escena; y realizar (530) una o más operaciones de calibración para el al menos un sensor inercial (320) en base, al menos en parte, a la orientación de dispositivo relativa determinada en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) en la imagen capturada (100) de la escena.
2. El procedimiento (500) de la reivindicación 1, en el que determinar (520) la orientación de dispositivo relativa comprende:
determinar una matriz de rotación que relaciona las coordenadas de ubicación en el marco de referencia de la unidad de captura de imágenes y el marco de referencia de la escena.
3. El procedimiento (500) de la reivindicación 1, en el que determinar (520) la orientación de dispositivo relativa en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) comprende:
determinar la orientación de dispositivo relativa en base a ubicaciones determinadas de dos o más puntos de fuga (120) en la imagen capturada (100) de la escena.
4. El procedimiento (500) de la reivindicación 1, que comprende además:
determinar la orientación de dispositivo real en base, al menos en parte, a la orientación de dispositivo relativa determinada a partir de la ubicación del al menos un punto de fuga (120) en la imagen capturada (100) de la escena, y además en base a un valor de orientación de escena asociado con la escena.
5. El procedimiento (500) de la reivindicación 4, que comprende además:
recuperar el valor de orientación de escena a partir de los datos de mapa para una región que incluye un área correspondiente a la escena en la imagen (100) capturada por la unidad de captura de imágenes (330).
6. El procedimiento (500) de la reivindicación 1, que comprende además:
determinar la orientación de dispositivo real en base, al menos en parte, a la orientación de dispositivo relativa determinada, y además en base a un valor de orientación previamente determinado.
7. El procedimiento (500) de la reivindicación 1, que comprende además:
determinar un cambio de orientación de dispositivo relativa en base, al menos en parte, a los valores de orientación de dispositivo relativa determinados en base, al menos en parte, a las ubicaciones de los puntos de fuga (120) determinados a partir de una pluralidad de imágenes (100) capturadas por la unidad de captura de imágenes (330) durante un período de tiempo; y
calibrar el al menos un sensor inercial (320) en base a un cambio de orientación medido por el al menos un sensor inercial (320) durante el período de tiempo y en base al cambio determinado de orientación de dispositivo relativa.
8. El procedimiento (500) de la reivindicación 1, en el que el al menos un sensor inercial (320) comprende uno o más de: un giroscopio o un magnetómetro.
9. El procedimiento (500) de la reivindicación 1, en el que realizar (530) la una o más operaciones de calibración para el al menos un sensor inercial (320) comprende uno de:
calibrar el al menos un sensor inercial (320) en respuesta a los resultados de comparación, producidos a partir de una comparación de una orientación medida determinada por el al menos un sensor inercial (320) y la orientación de dispositivo relativa determinada, que indican que el al menos un sensor inercial (320) requiere calibración;
determinar que el al menos un sensor inercial (320) está calibrado en respuesta a los resultados de comparación que indican que el al menos un sensor inercial (320) está calibrado;
calibrar un magnetómetro, en respuesta a los resultados de comparación que indican que el magnetómetro requiere calibración, en base a una indicación de una presencia de interferencia magnética que provoca mediciones erróneas temporales de la orientación medida; o
determinar que el magnetómetro está calibrado en base a los resultados de comparación y, además, en base a la indicación de la presencia de interferencia magnética que provoca las mediciones erróneas temporales de la orientación medida.
10. El procedimiento (500) de la reivindicación 9, en el que calibrar el al menos un sensor inercial (320) comprende:
determinar para el al menos un sensor inercial (320), en base a los resultados de comparación, uno o más de: el sesgo del sensor, el ajuste a escala del sensor o la desalineación del sensor.
11. El procedimiento (500) de la reivindicación 1, en el que determinar (520) la orientación de dispositivo relativa comprende:
determinar la desviación del al menos un punto de fuga (120) a partir de un centro de la imagen capturada (100) para la escena.
12. El procedimiento (500) de la reivindicación 1, que comprende además:
calcular una diferencia entre una orientación medida determinada por el al menos un sensor inercial y la orientación de dispositivo relativa determinada en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) en la imagen capturada (100) de la escena;
en el que realizar (530) la una o más operaciones de calibración para el al menos un sensor inercial (320) comprende:
realizar (320) la una o más operaciones de calibración para el al menos un sensor inercial (320) en base, al menos en parte, a la orientación de dispositivo relativa determinada en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) en la imagen capturada (100) de la escena en respuesta a una determinación de que la diferencia calculada entre la orientación medida y la orientación de dispositivo relativa supera un valor umbral predeterminado.
13. Un aparato que comprende:
medios para capturar una imagen de una escena para un dispositivo (300) que incluye al menos un sensor inercial (320) para medir la orientación del dispositivo (300);
medios para determinar la orientación de dispositivo relativa del dispositivo (300) en base, al menos en parte, a la ubicación determinada de al menos un punto de fuga (120) en la imagen capturada de la escena (100); y
medios para realizar una o más operaciones de calibración para el al menos un sensor inercial (320) en base, al menos en parte, a la orientación de dispositivo relativa determinada en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) en la imagen capturada (100) de la escena.
14. El aparato de la reivindicación 13, en el que los medios para determinar la orientación de dispositivo relativa en base, al menos en parte, a la ubicación determinada del al menos un punto de fuga (120) comprenden: medios para determinar la orientación de dispositivo relativa en base a ubicaciones determinadas de dos o más puntos de fuga en la imagen capturada (100) de la escena.
15. Un medio legible por procesador no transitorio programado con un conjunto de instrucciones ejecutables en un procesador que, cuando se ejecutan, hacen que el procesador realice un procedimiento de acuerdo con una de las reivindicaciones 1 a 12.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261714508P | 2012-10-16 | 2012-10-16 | |
| US13/671,390 US9135705B2 (en) | 2012-10-16 | 2012-11-07 | Sensor calibration and position estimation based on vanishing point determination |
| PCT/US2013/056127 WO2014062293A1 (en) | 2012-10-16 | 2013-08-22 | Sensor calibration and position estimation based on vanishing point determination |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2776674T3 true ES2776674T3 (es) | 2020-07-31 |
Family
ID=50475007
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES13756253T Active ES2776674T3 (es) | 2012-10-16 | 2013-08-22 | Calibración de sensor y estimación de posición en base a la determinación del punto de fuga |
Country Status (7)
| Country | Link |
|---|---|
| US (2) | US9135705B2 (es) |
| EP (2) | EP3012804B1 (es) |
| JP (2) | JP5893802B2 (es) |
| KR (2) | KR20160018847A (es) |
| CN (2) | CN107194969B (es) |
| ES (1) | ES2776674T3 (es) |
| WO (1) | WO2014062293A1 (es) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11508084B2 (en) | 2017-11-01 | 2022-11-22 | Sony Corporation | Information processing apparatus and information processing method for accurately estimating a self location |
Families Citing this family (51)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7146260B2 (en) | 2001-04-24 | 2006-12-05 | Medius, Inc. | Method and apparatus for dynamic configuration of multiprocessor system |
| US9928425B2 (en) * | 2012-06-20 | 2018-03-27 | Apstec Systems Usa Llc | Methods and systems for non-cooperative automatic security screening in crowded areas |
| US10162075B2 (en) * | 2012-06-20 | 2018-12-25 | Apstec Systems Usa Llc | Non-cooperative automatic security screening with antennas for high cross-polarization discrimination |
| US9135705B2 (en) | 2012-10-16 | 2015-09-15 | Qualcomm Incorporated | Sensor calibration and position estimation based on vanishing point determination |
| US9113077B2 (en) * | 2013-01-17 | 2015-08-18 | Qualcomm Incorporated | Orientation determination based on vanishing point computation |
| US8860818B1 (en) * | 2013-07-31 | 2014-10-14 | Apple Inc. | Method for dynamically calibrating rotation offset in a camera system |
| US9631920B2 (en) * | 2013-10-16 | 2017-04-25 | Google Inc. | Sensing system for verifying deadbolt engagement |
| JP6292915B2 (ja) * | 2014-02-13 | 2018-03-14 | キヤノン株式会社 | 表示制御装置及びその制御方法、プログラム |
| KR102225620B1 (ko) * | 2014-04-03 | 2021-03-12 | 한화테크윈 주식회사 | 카메라 모델링 시스템 |
| US9911190B1 (en) * | 2014-04-09 | 2018-03-06 | Vortex Intellectual Property Holding LLC | Method and computer program for generating a database for use in locating mobile devices based on imaging |
| US10444030B1 (en) * | 2014-05-12 | 2019-10-15 | Inertial Labs, Inc. | Automatic calibration of magnetic sensors based on optical image tracking |
| US9528837B2 (en) * | 2014-06-04 | 2016-12-27 | Qualcomm Incorporated | Mobile device position uncertainty based on a measure of potential hindrance of an estimated trajectory |
| US10068336B1 (en) | 2015-04-20 | 2018-09-04 | Hrl Laboratories, Llc | Generic frontal and side doorway detection with line tracking and vanishing point based verification |
| US9978149B1 (en) * | 2015-04-20 | 2018-05-22 | Hrl Laboratories, Llc | System and method for door detection for corridor exploration |
| KR20170037466A (ko) * | 2015-09-25 | 2017-04-04 | 엘지전자 주식회사 | 이동 단말기 및 이의 제어방법 |
| US10012517B2 (en) * | 2016-08-01 | 2018-07-03 | Infinity Augmented Reality Israel Ltd. | Method and system for calibrating components of an inertial measurement unit (IMU) using scene-captured data |
| US10304210B2 (en) * | 2017-05-25 | 2019-05-28 | GM Global Technology Operations LLC | Method and apparatus for camera calibration |
| US10819449B2 (en) * | 2017-05-29 | 2020-10-27 | Robert Bosch (Australia) Pty Ltd | Method and system for near-field localization |
| EP3682196A4 (en) * | 2017-09-13 | 2021-09-22 | Xiaochun Nie | SYSTEMS AND METHODS FOR CALIBRATION OF IMAGING AND SPATIAL ORIENTATION SENSORS |
| US10636137B1 (en) * | 2017-10-23 | 2020-04-28 | Amazon Technologies, Inc. | System for determining object orientations in an image |
| DE102018205065A1 (de) | 2018-04-04 | 2019-10-10 | Volkswagen Aktiengesellschaft | Verfahren zur Kalibrierung eines Positionssensors in einem Fahrzeug, Computerprogramm, Speichermittel, Steuergerät und Kalibrierstrecke |
| WO2019206247A1 (en) * | 2018-04-27 | 2019-10-31 | Shanghai Truthvision Information Technology Co., Ltd | System and method for camera calibration |
| JP2021122079A (ja) * | 2018-05-08 | 2021-08-26 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、及びプログラム |
| WO2020014683A1 (en) * | 2018-07-13 | 2020-01-16 | Kache.AI | Systems and methods for autonomous object detection and vehicle following |
| WO2020046401A1 (en) * | 2018-08-27 | 2020-03-05 | Digibit, Llc | Electronic motion sensing devices and method of operating same |
| EP3620747A1 (fr) | 2018-09-10 | 2020-03-11 | Tissot S.A. | Calibration ou reglage de magnetometre |
| JP7153594B2 (ja) * | 2019-03-26 | 2022-10-14 | 日立建機株式会社 | 較正作業支援システム |
| JP7213740B2 (ja) * | 2019-04-16 | 2023-01-27 | 京セラ株式会社 | システム、装置、方法、及び管理プログラム |
| US12055403B2 (en) * | 2019-05-03 | 2024-08-06 | Apple Inc. | Adjusting heading sensor output based on image data |
| US11249197B2 (en) | 2019-05-03 | 2022-02-15 | Apple Inc. | Image-based techniques for stabilizing positioning estimates |
| CN110132280B (zh) * | 2019-05-20 | 2021-07-13 | 广州小鹏自动驾驶科技有限公司 | 室内场景下的车辆定位方法、车辆定位装置和车辆 |
| US11699279B1 (en) | 2019-06-28 | 2023-07-11 | Apple Inc. | Method and device for heading estimation |
| DE102020006337A1 (de) * | 2019-10-09 | 2021-04-15 | Metralabs Gmbh Neue Technologien Und Systeme | Autonomes Flurförderzeug |
| KR102293561B1 (ko) * | 2019-12-31 | 2021-08-24 | 재단법인대구경북과학기술원 | 이동형 측위 장치 및 위치 측정 방법 |
| US11917119B2 (en) | 2020-01-09 | 2024-02-27 | Jerry Nims | 2D image capture system and display of 3D digital image |
| US12108015B2 (en) | 2020-01-09 | 2024-10-01 | JUC Holdings Limited | 2D digital image capture system, frame speed, and simulating 3D digital image sequence |
| IT202000009937A1 (it) * | 2020-05-05 | 2021-11-05 | St Microelectronics Srl | Metodo di controllo di un apparecchio elettronico eseguito tramite il calcolo di un angolo di apertura, relativo apparecchio elettronico e prodotto software |
| CN113608576B (zh) * | 2020-05-05 | 2024-06-25 | 意法半导体股份有限公司 | 电子装置控制方法、其电子装置和软件产品 |
| BR112022025015A2 (pt) | 2020-06-30 | 2023-01-10 | Ecolab Usa Inc | Método de calibração de um sensor óptico para medição de cálcio, e, sistema |
| US11348277B2 (en) | 2020-08-12 | 2022-05-31 | Hong Kong Applied Science and Technology Research Institute Company Limited | Apparatus and method for estimating camera orientation relative to ground surface |
| EP3961525A1 (en) * | 2020-08-31 | 2022-03-02 | Koninklijke Philips N.V. | Determining a level of interaction experienced by a subject |
| EP4245029A4 (en) * | 2020-11-13 | 2025-03-05 | Jerry Nims | 2d digital image capture system, frame speed, and simulating 3d digital image sequence |
| CN113063442B (zh) * | 2021-03-17 | 2024-06-07 | 深圳市云鼠科技开发有限公司 | 扫地机器人陀螺仪标定方法、装置、计算机设备及存储器 |
| CN112990117B (zh) * | 2021-04-21 | 2021-08-17 | 智道网联科技(北京)有限公司 | 基于智能驾驶系统的安装数据处理方法及装置 |
| CN113566847B (zh) * | 2021-07-22 | 2022-10-11 | 北京百度网讯科技有限公司 | 导航校准方法和装置、电子设备、计算机可读介质 |
| US11674727B2 (en) | 2021-07-23 | 2023-06-13 | Goodman Manufacturing Company, L.P. | HVAC equipment with refrigerant gas sensor |
| EP4383199A4 (en) * | 2021-08-06 | 2025-07-23 | Obshchestvo S Ogranichennoi Otvetstvennostiu Evokargo | METHOD FOR CALIBRATING EXTERNAL PARAMETERS OF VIDEO CAMERAS |
| US12146894B2 (en) | 2022-05-27 | 2024-11-19 | Stmicroelectronics S.R.L. | Lid angle detection |
| US12259760B2 (en) | 2022-05-27 | 2025-03-25 | Stmicroelectronics S.R.L. | Lid angle detection |
| CN117359608A (zh) * | 2022-06-30 | 2024-01-09 | 北京极智嘉科技股份有限公司 | 机器人运动控制法以及装置 |
| KR20250110561A (ko) * | 2024-01-12 | 2025-07-21 | 현대자동차주식회사 | 멀티 카메라 자세 추정 방법 및 그 장치 |
Family Cites Families (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000182051A (ja) * | 1998-12-14 | 2000-06-30 | Meidensha Corp | カメラキャリブレーション方法 |
| US6968094B1 (en) * | 2000-03-27 | 2005-11-22 | Eastman Kodak Company | Method of estimating and correcting camera rotation with vanishing point location |
| DE602004028598D1 (de) * | 2003-05-09 | 2010-09-23 | Snap On Tools Corp | Kameratechnik für die sensoreinstellung für die adaptive fahrtregelung (acc) |
| US7583858B2 (en) * | 2004-10-12 | 2009-09-01 | Eastman Kodak Company | Image processing based on direction of gravity |
| US7539557B2 (en) * | 2005-12-30 | 2009-05-26 | Irobot Corporation | Autonomous mobile robot |
| JP4757142B2 (ja) | 2006-08-10 | 2011-08-24 | キヤノン株式会社 | 撮影環境校正方法及び情報処理装置 |
| DE102006062061B4 (de) * | 2006-12-29 | 2010-06-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung, Verfahren und Computerprogramm zum Bestimmen einer Position basierend auf einem Kamerabild von einer Kamera |
| SG183690A1 (en) * | 2007-08-06 | 2012-09-27 | Trx Systems Inc | Locating, tracking, and/or monitoring personnel and/or assets both indoors and outdoors |
| FR2936607B1 (fr) | 2008-09-26 | 2012-10-12 | Thales Sa | Dispositif de detection optique de position et/ou d'orientation d'objets comprenant au moins un capteur lineaire |
| US8259174B2 (en) * | 2009-02-06 | 2012-09-04 | GM Global Technology Operations LLC | Camera auto-calibration by horizon estimation |
| CN101894366B (zh) | 2009-05-21 | 2014-01-29 | 北京中星微电子有限公司 | 一种获取标定参数的方法、装置及一种视频监控系统 |
| WO2010146695A1 (ja) * | 2009-06-18 | 2010-12-23 | 富士通株式会社 | 画像処理装置および画像処理方法 |
| US8812015B2 (en) * | 2009-10-01 | 2014-08-19 | Qualcomm Incorporated | Mobile device locating in conjunction with localized environments |
| US8427536B2 (en) * | 2009-11-19 | 2013-04-23 | Qualcomm Incorporated | Orientation determination of a mobile station using side and top view images |
| CN102103747B (zh) | 2009-12-16 | 2012-09-05 | 中国科学院电子学研究所 | 采用参照物高度的监控摄像机外部参数标定方法 |
| TWI401175B (zh) * | 2010-06-08 | 2013-07-11 | Automotive Res & Testing Ct | Dual vision front vehicle safety warning device and method thereof |
| US9684989B2 (en) * | 2010-06-16 | 2017-06-20 | Qualcomm Incorporated | User interface transition between camera view and map view |
| US8610708B2 (en) * | 2010-09-22 | 2013-12-17 | Raytheon Company | Method and apparatus for three-dimensional image reconstruction |
| WO2012044308A1 (en) | 2010-09-30 | 2012-04-05 | Hewlett-Packard Development Company, L.P. | Projection matrix |
| US8731303B2 (en) * | 2010-12-07 | 2014-05-20 | Sony Corporation | Vanishing point estimation system and methods |
| US9160980B2 (en) | 2011-01-11 | 2015-10-13 | Qualcomm Incorporated | Camera-based inertial sensor alignment for PND |
| US20130102334A1 (en) * | 2011-10-21 | 2013-04-25 | Qualcomm Incorporated | Egress based map region classification |
| US9147122B2 (en) * | 2012-05-31 | 2015-09-29 | Qualcomm Incorporated | Pose estimation based on peripheral information |
| GB2519266B (en) * | 2012-08-15 | 2015-08-26 | Ibm | Feature extraction method, program and system |
| US9013617B2 (en) * | 2012-10-12 | 2015-04-21 | Qualcomm Incorporated | Gyroscope conditioning and gyro-camera alignment |
| US9135705B2 (en) * | 2012-10-16 | 2015-09-15 | Qualcomm Incorporated | Sensor calibration and position estimation based on vanishing point determination |
| US9576183B2 (en) * | 2012-11-02 | 2017-02-21 | Qualcomm Incorporated | Fast initialization for monocular visual SLAM |
| US8849308B2 (en) * | 2012-11-21 | 2014-09-30 | Apple Inc. | Tiling of map data |
| US9020191B2 (en) * | 2012-11-30 | 2015-04-28 | Qualcomm Incorporated | Image-based indoor position determination |
| US9113077B2 (en) * | 2013-01-17 | 2015-08-18 | Qualcomm Incorporated | Orientation determination based on vanishing point computation |
-
2012
- 2012-11-07 US US13/671,390 patent/US9135705B2/en active Active
-
2013
- 2013-08-22 CN CN201710270027.6A patent/CN107194969B/zh active Active
- 2013-08-22 EP EP15198687.4A patent/EP3012804B1/en active Active
- 2013-08-22 JP JP2015536773A patent/JP5893802B2/ja not_active Expired - Fee Related
- 2013-08-22 ES ES13756253T patent/ES2776674T3/es active Active
- 2013-08-22 KR KR1020167002632A patent/KR20160018847A/ko not_active Withdrawn
- 2013-08-22 WO PCT/US2013/056127 patent/WO2014062293A1/en not_active Ceased
- 2013-08-22 EP EP13756253.4A patent/EP2909810B1/en active Active
- 2013-08-22 CN CN201380053591.2A patent/CN104718561B/zh not_active Expired - Fee Related
- 2013-08-22 KR KR1020157012418A patent/KR101639029B1/ko not_active Expired - Fee Related
-
2015
- 2015-03-04 US US14/638,943 patent/US9361688B2/en not_active Expired - Fee Related
-
2016
- 2016-02-24 JP JP2016033328A patent/JP6239659B2/ja not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11508084B2 (en) | 2017-11-01 | 2022-11-22 | Sony Corporation | Information processing apparatus and information processing method for accurately estimating a self location |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016504561A (ja) | 2016-02-12 |
| US20150178924A1 (en) | 2015-06-25 |
| EP2909810B1 (en) | 2020-01-08 |
| WO2014062293A1 (en) | 2014-04-24 |
| JP5893802B2 (ja) | 2016-03-23 |
| EP3012804A1 (en) | 2016-04-27 |
| US9135705B2 (en) | 2015-09-15 |
| EP3012804B1 (en) | 2019-12-11 |
| KR20150070277A (ko) | 2015-06-24 |
| EP2909810A1 (en) | 2015-08-26 |
| US9361688B2 (en) | 2016-06-07 |
| KR101639029B1 (ko) | 2016-07-12 |
| CN104718561A (zh) | 2015-06-17 |
| CN107194969A (zh) | 2017-09-22 |
| US20140104437A1 (en) | 2014-04-17 |
| JP6239659B2 (ja) | 2017-11-29 |
| JP2016154009A (ja) | 2016-08-25 |
| CN104718561B (zh) | 2017-11-24 |
| CN107194969B (zh) | 2020-04-24 |
| KR20160018847A (ko) | 2016-02-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2776674T3 (es) | Calibración de sensor y estimación de posición en base a la determinación del punto de fuga | |
| US9113077B2 (en) | Orientation determination based on vanishing point computation | |
| CN103282793B (zh) | 以照相机为基础的定位位置及基于图像处理的导航 | |
| CN104813365B (zh) | 用于基于图像的室内位置确定的方法和设备 | |
| JP5908584B2 (ja) | 長方形の見取り図による建物内のナビゲーションのための方法、デバイス、及び非一時的コンピュータ可読記録媒体 | |
| FI124153B (en) | Using magnetic field navigation | |
| US20150192656A1 (en) | Received signal direction determination in using multi-antennas receivers | |
| KR101750469B1 (ko) | 하이브리드 포토 네비게이션 및 맵핑 | |
| US8427536B2 (en) | Orientation determination of a mobile station using side and top view images | |
| US11536857B2 (en) | Surface tracking on a survey pole | |
| WO2016198009A1 (zh) | 一种检测航向的方法和装置 | |
| JP2021143861A (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
| US11175134B2 (en) | Surface tracking with multiple cameras on a pole | |
| WO2021127570A1 (en) | Surface tracking with multiple cameras on a pole | |
| Magasweran et al. | Indoor Localization Through the Integration of RGB and Depth Data from Microsoft Kinect Sensor |

