KR20220028737A - Method and apparatus for tracking the movement path of a user terminal - Google Patents

Method and apparatus for tracking the movement path of a user terminal Download PDF

Info

Publication number
KR20220028737A
KR20220028737A KR1020200110130A KR20200110130A KR20220028737A KR 20220028737 A KR20220028737 A KR 20220028737A KR 1020200110130 A KR1020200110130 A KR 1020200110130A KR 20200110130 A KR20200110130 A KR 20200110130A KR 20220028737 A KR20220028737 A KR 20220028737A
Authority
KR
South Korea
Prior art keywords
image data
user terminal
motion vector
feature point
tracking
Prior art date
Application number
KR1020200110130A
Other languages
Korean (ko)
Other versions
KR102445400B1 (en
Inventor
오종택
Original Assignee
한성대학교 산학협력단
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 한성대학교 산학협력단 filed Critical 한성대학교 산학협력단
Priority to KR1020200110130A priority Critical patent/KR102445400B1/en
Publication of KR20220028737A publication Critical patent/KR20220028737A/en
Application granted granted Critical
Publication of KR102445400B1 publication Critical patent/KR102445400B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Radio Relay Systems (AREA)

Abstract

Disclosed are a method and a device for tracking a moving path of a user terminal. The method for tracking a moving path includes the steps of: collecting first image data and sensing data; detecting a feature point from the collected first image data; performing correction on the pixel position on the first image data corresponding to the detected feature point based on the sensing data; determining an effective motion vector by tracing a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data; and determining a moving path of the user terminal based on the effective motion vector and the sensing data.

Description

사용자 단말의 이동 경로 추적 방법 및 장치{METHOD AND APPARATUS FOR TRACKING THE MOVEMENT PATH OF A USER TERMINAL}Method and apparatus for tracking the movement path of a user terminal

아래 실시예들은 사용자 단말의 이동 경로 추적 기술에 관한 것이다.The following embodiments relate to a moving path tracking technology of a user terminal.

최근에는 대부분의 사람들이 스마트 폰을 가지고 있고, 스마트폰에는 GPS(Global Positioning System) 기능이 내장되어 있다. 위치 추적 기술에 대한 접근성이 높아진 만큼, 위치 추적 기술의 활용도가 높아져, 위치 추적 기술이 점점 중요해지고 있다.Recently, most people have a smart phone, and the smart phone has a built-in GPS (Global Positioning System) function. As the accessibility of the location tracking technology increases, the utilization of the location tracking technology increases, and the location tracking technology is becoming more and more important.

대부분의 조건에서 GPS는 5m 내지 20m의 오차 범위 내에서 위치를 추정할 수 있다. 그러나 스마트 폰의 위치는 실내 또는 실외와 같이 높은 건물 및 기타 장애물이 위성 신호를 차단하는 지역에서는 추정되기가 어렵다는 한계를 가진다. 일부 위치 기반 서비스는 실내와 실외 모두 정확한 위치 정보를 필요로 하기 때문에, 스마트 폰의 위치를 정확하게 추정할 수 있는 방법에 대한 다양한 연구가 시도되었다. 예를 들어, 대부분의 스마트 폰에 가속도 센서, 자이로 센서 및 지자기 센서가 내장되어 있는 특징 점을 이용하여, 관성 항법 기술을 통한 스마트 폰의 위치 추정 방법에 대한 연구가 있었다. 그러나 스마트 폰에 내장된 관성 센서는 성능이 떨어져, 관성 센서를 통해 정확한 위치 추정을 하는 것에는 어려움이 있었다.In most conditions, GPS can estimate the position within an error range of 5m to 20m. However, the location of the smart phone has a limitation that it is difficult to estimate in areas such as indoors or outdoors where tall buildings and other obstacles block satellite signals. Since some location-based services require accurate location information both indoors and outdoors, various studies have been attempted on a method for accurately estimating the location of a smart phone. For example, there has been a study on a method for estimating the location of a smart phone through an inertial navigation technology using feature points in which an acceleration sensor, a gyro sensor, and a geomagnetic sensor are built in most smart phones. However, the performance of the inertial sensor embedded in the smart phone is poor, and it is difficult to accurately estimate the location through the inertial sensor.

많은 스마트 폰 위치 연구에서 보행자 거리 측정(Pedestrian Dead Reckoning; PDR) 기술을 사용하여 보행자의 발자국을 측정하여 보행 거리와 방향을 결정한다. 그러나 PDR 기술을 사용하면 관성 센서만 사용하기 때문에, 보행자의 보행 자세에 따라 정확도가 크게 달라진다. 주변 환경의 방해에 의해 야기되는 위치 추정의 오차를 감소시키기 위해, 지자기 센서를 사용하여 방위각을 추정하는 방법이 연구되었다. 그러나, 이 방법은 보정 효과에 한계가 있다.Many smartphone location studies use Pedestrian Dead Reckoning (PDR) technology to measure pedestrian footprints to determine walking distance and direction. However, when using the PDR technology, only the inertial sensor is used, so the accuracy varies greatly depending on the walking posture of the pedestrian. In order to reduce the error of the position estimation caused by the disturbance of the surrounding environment, a method of estimating the azimuth using a geomagnetic sensor was studied. However, this method has a limitation in the correction effect.

관성 센서에 의존하지 않는 방법으로, 예를 들어, Wi-Fi 지문 방법이 연구되고 있다. 이 방법은 인근 WLAN (근거리 무선 LAN)의 신호 강도와 측정 위치 좌표를 미리 측정하고, WLAN 신호 강도가 추정될 위치에서 다시 WLAN 신호 강도를 측정하며, 이들 값을 기존 데이터와 비교한다. 그러나 WLAN 신호 강도는 지속적으로 변경되며, 시간이 많이 걸리고 모든 위치에 대해 여러 WLAN의 신호 강도를 미리 측정해야 한다는 한계를 가진다. 또 다른 연구로, 지그비 또는 블루투스 액세스 포인트의 신호 강도에 기초하여 위치를 추정하는 방법에 대한 연구가 진행되었다. 이 연구는 3변 위치를 적용하여 위치를 추정하는 방법을 시도하였으나, 무선 신호와 관련된 근본적인 페이딩 문제로 인해 정확도가 높지 않은 연구 결과가 도출되었다.As a method that does not rely on an inertial sensor, for example, a Wi-Fi fingerprint method is being studied. This method measures the signal strength and measurement position coordinates of a nearby WLAN (local area wireless LAN) in advance, measures the WLAN signal strength again at the position where the WLAN signal strength is to be estimated, and compares these values with the existing data. However, WLAN signal strength is constantly changing, takes a lot of time, and has limitations in that the signal strength of multiple WLANs must be measured in advance for every location. As another study, a method for estimating a location based on the signal strength of a ZigBee or Bluetooth access point was conducted. In this study, a method of estimating the position by applying the three-sided position was attempted, but the study result was not high in accuracy due to the fundamental fading problem related to the radio signal.

일 실시예에 따른 사용자 단말의 이동 경로 추적 방법은 제1 이미지 데이터 및 센싱 데이터를 수집하는 단계; 상기 수집한 제1 이미지 데이터로부터 특징 점을 검출하는 단계; 상기 센싱 데이터에 기초하여 상기 검출된 특징 점에 대응하는 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는 단계; 상기 제1 이미지 데이터의 다음 이미지 데이터에서, 상기 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 유효 모션 벡터를 결정하는 단계; 및 상기 유효 모션 벡터 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 단계를 포함할 수 있다.A moving path tracking method of a user terminal according to an embodiment includes collecting first image data and sensing data; detecting a feature point from the collected first image data; performing correction on a pixel position on the first image data corresponding to the detected feature point based on the sensed data; determining an effective motion vector by tracking a position change of a feature point corresponding to the corrected pixel position in the next image data of the first image data; and determining a movement path of the user terminal based on the effective motion vector and the sensed data.

상기 유효 모션 벡터를 결정하는 단계는, 상기 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하는 단계; 상기 추출된 모션 벡터들 중에서 미리 정해진 방향에서 미리 정해진 각도 범위 이내에 대응하는 모션 벡터를 유효 모션 벡터로 결정하는 단계를 포함할 수 있다.The determining of the effective motion vector may include: extracting motion vectors by tracking a position change of a feature point corresponding to a corrected pixel position in next image data of the first image data; The method may include determining, as an effective motion vector, a motion vector corresponding within a predetermined angular range in a predetermined direction from among the extracted motion vectors.

상기 제1 이미지 데이터는, 상기 사용자 단말의 카메라가, 수집하고자 하는 대상과 수평을 이룬 상태에서 수집될 수 있다.The first image data may be collected in a state in which the camera of the user terminal is level with the object to be collected.

상기 이동 경로를 결정하는 단계는, 상기 유효 모션 벡터 및 실제 비율에 기초하여 상기 사용자 단말의 이동 거리를 추정하는 단계; 및 상기 추정된 이동 거리 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 단계를 포함할 수 있다.The determining of the moving path may include: estimating a moving distance of the user terminal based on the effective motion vector and the actual ratio; and determining the moving path of the user terminal based on the estimated moving distance and the sensing data.

일 실시예에 따른 이동 경로 추적 방법은 미리 정해진 기준 피사체를 포함하는 제2 이미지 데이터를 수집하는 단계; 및 상기 제2 이미지 데이터 및 상기 기준 피사체의 실제 크기에 기초하여 실제 비율을 산출하는 단계를 더 포함할 수 있다.A moving path tracking method according to an embodiment includes collecting second image data including a predetermined reference subject; and calculating an actual ratio based on the second image data and the actual size of the reference object.

상기 보정을 수행하는 단계는, 상기 센싱 데이터에 칼만 필터를 적용하여 상기 사용자 단말의 기울기 각을 계산하는 단계; 및 상기 기울기 각에 기초하여 상기 특징 점의 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는 단계를 포함할 수 있다.The performing of the correction may include calculating an inclination angle of the user terminal by applying a Kalman filter to the sensed data; and performing correction on the pixel position of the feature point on the first image data based on the inclination angle.

상기 이동 경로를 결정하는 단계는, 상기 유효 모션 벡터를 중간 값 필터에 입력하여 중간 값을 산출하는 단계; 상기 산출된 중간 값이 미리 정해진 방향에 투영된 값, 상기 사용자 단말의 상대 높이 및 실제 비율에 기초하여 상기 사용자 단말의 이동 거리를 추정하는 단계; 및 상기 회전각 및 상기 추정된 이동 거리에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 단계를 포함할 수 있다.The determining of the movement path may include: inputting the effective motion vector into an intermediate value filter to calculate an intermediate value; estimating a moving distance of the user terminal based on a value in which the calculated intermediate value is projected in a predetermined direction, a relative height of the user terminal, and an actual ratio; and determining a movement path of the user terminal based on the rotation angle and the estimated movement distance.

상기 사용자 단말의 상대 높이는 상기 사용자 단말의 가속도 센싱 데이터에 기초하여 계산되고, 상기 회전각 및 상기 가속도 센싱 데이터는 상기 센싱 데이터에 기초하여 계산될 수 있다.The relative height of the user terminal may be calculated based on the acceleration sensing data of the user terminal, and the rotation angle and the acceleration sensing data may be calculated based on the sensing data.

상기 유효 모션 벡터를 결정하는 단계는, 상기 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하는 단계; 및 상기 다음 이미지 데이터에서 추출된 모션 벡터들 중 상기 제1 이미지 데이터에서 추출된 특징 점에 대한 모션 벡터의 길이에 비해 미리 정해진 기준보다 긴 모션 벡터를, 상기 제1 이미지 데이터에서 추출된 특징 점에 대한 모션 벡터의 길이로 대체하거나 0값으로 대체하는 단계를 포함할 수 있다.The determining of the effective motion vector may include: extracting motion vectors by tracking a position change of a feature point corresponding to a corrected pixel position in next image data of the first image data; and a motion vector longer than a predetermined criterion compared to the length of the motion vector for the feature point extracted from the first image data among the motion vectors extracted from the next image data, to the feature point extracted from the first image data. It may include the step of replacing with the length of the motion vector or replacing with a value of 0.

상기 유효 모션 벡터를 결정하는 단계는, 상기 사용자 단말이 이동하는 방향과 반대 방향으로 이동하는 모션 벡터들을 제외하는 단계를 포함할 수 있다.The determining of the effective motion vector may include excluding motion vectors moving in a direction opposite to a direction in which the user terminal moves.

상기 유효 모션 벡터를 결정하는 단계는, 상기 제 1 이미지 데이터에서 추출된 특징 점들을 폐기하지 않고 상기 다음 이미지 데이터들에서, 상기 제1 이미지 데이터에서 추출된 특징 점들에 대응되는 특징 점들을 검출하여, 상기 제 1 이미지 데이터에서 추출된 특징 점들에 대응되는 특징 점들이 이미지 데이터에서 검출되지 않을 때까지 연속적으로 상기 제1 이미지 데이터의 다음 이미지 데이터들에서 추적하여 모션 벡터들을 계산하는 단계를 포함할 수 있다.The determining of the effective motion vector may include detecting feature points corresponding to the feature points extracted from the first image data in the next image data without discarding the feature points extracted from the first image data, and calculating motion vectors by continuously tracing the next image data of the first image data until feature points corresponding to the feature points extracted from the first image data are not detected in the image data. .

상기 보정을 수행하는 단계는, 상기 제1 이미지 데이터로부터 특징 점을 검출하는 단계; 및 상기 특징 점의 상기 제1 이미지 데이터 상에서의 2차원 좌표와 상기 사용자 단말의 기울기 각에 기초하여 상기 특징 점의 2차원 좌표에 대한 보정을 수행하는 단계를 포함할 수 있다.The performing of the correction may include: detecting a feature point from the first image data; and performing correction on the two-dimensional coordinates of the feature points based on the two-dimensional coordinates of the feature points on the first image data and the inclination angle of the user terminal.

상기 보정을 수행하는 단계는, 센싱 데이터를 수집하는 단계; 상기 센싱 데이터에 포함된 가속도 센싱 데이터 및 상기 사용자 단말의 기울기 각에 기초하여 보정된 가속도 값을 계산하는 단계; 및 상기 보정된 가속도 값에 기초하여, 바닥으로부터의 상기 사용자 단말의 높이를 계산하는 단계를 포함하고, 상기 바닥으로부터의 상기 사용자 단말 높이는, 사용자의 발이 바닥에 닿았을 때 초기화될 수 있다.The performing of the correction may include: collecting sensing data; calculating a corrected acceleration value based on the acceleration sensing data included in the sensing data and an inclination angle of the user terminal; and calculating a height of the user terminal from the floor based on the corrected acceleration value, wherein the height of the user terminal from the floor may be initialized when the user's foot touches the floor.

일 실시예에 따른 사용자 단말의 이동 경로 추적 장치는 제1 이미지 데이터 및 센싱 데이터를 수집하는 수집부; 상기 수집한 제1 이미지 데이터로부터 특징 점을 검출하는 특징 점 검출부; 상기 센싱 데이터에 기초하여 상기 검출된 특징 점에 대응하는 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는 보정부; 상기 제1 이미지 데이터의 다음 이미지 데이터에서, 상기 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 유효 모션 벡터를 결정하는 유효 모션 벡터 결정부; 상기 유효 모션 벡터 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 처리부를 포함할 수 있다.An apparatus for tracking a movement path of a user terminal according to an embodiment includes: a collecting unit for collecting first image data and sensing data; a feature point detection unit for detecting a feature point from the collected first image data; a correction unit configured to correct a pixel position on the first image data corresponding to the detected feature point based on the sensed data; an effective motion vector determiner configured to determine an effective motion vector by tracking a position change of a feature point corresponding to the corrected pixel position in the next image data of the first image data; It may include a processing unit for determining the movement path of the user terminal based on the effective motion vector and the sensed data.

상기 유효 모션 벡터 결정부는, 상기 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하고, 상기 추출된 모션 벡터들 중에서 미리 정해진 방향에서 미리 정해진 각도 범위 이내에 대응하는 모션 벡터를 유효 모션 벡터로 결정할 수 있다.The effective motion vector determining unit extracts motion vectors by tracking a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data, and extracts motion vectors from among the extracted motion vectors in a predetermined direction. A motion vector corresponding within a predetermined angular range may be determined as an effective motion vector.

상기 처리부는, 상기 유효 모션 벡터 및 실제 비율 기초하여 상기 사용자 단말의 이동 거리를 추정하고, 상기 추정된 이동 거리 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정할 수 있다.The processing unit may estimate the moving distance of the user terminal based on the effective motion vector and the actual ratio, and determine the moving path of the user terminal based on the estimated moving distance and the sensing data.

상기 수집부는 미리 정해진 기준 피사체를 포함하는 제2 이미지 데이터를 수집하고, 상기 처리부는 상기 제2 이미지 데이터 및 상기 기준 피사체의 실제 크기에 기초하여 실제 비율을 산출할 수 있다.The collection unit may collect second image data including a predetermined reference object, and the processing unit may calculate an actual ratio based on the second image data and an actual size of the reference object.

상기 보정부는, 상기 센싱 데이터에 칼만 필터를 적용하여 상기 사용자 단말의 기울기 각을 계산하고, 상기 기울기 각에 기초하여 상기 특징 점의 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행할 수 있다.The compensator may apply a Kalman filter to the sensing data to calculate a tilt angle of the user terminal, and perform a correction on a pixel position of the feature point on the first image data based on the tilt angle .

상기 처리부는, 상기 유효 모션 벡터를 중간 값 필터에 입력하여 중간 값을 산출하고, 상기 산출된 중간 값이 미리 정해진 방향에 투영된 값, 상기 사용자 단말의 상대 높이 및 실제 비율에 기초하여 상기 사용자 단말의 이동 거리를 추정하고, 상기 회전각 및 상기 추정된 이동 거리에 기초하여 상기 사용자 단말의 이동 경로를 결정할 수 있다.The processing unit inputs the effective motion vector to an intermediate value filter to calculate an intermediate value, and the calculated intermediate value is projected in a predetermined direction, the user terminal based on the relative height of the user terminal, and an actual ratio may estimate a movement distance of , and determine a movement path of the user terminal based on the rotation angle and the estimated movement distance.

일 실시예에 따르면 이미지 데이터와 센서 데이터를 결합하여 실내에서도 사용자의 이동 거리를 정확하게 측정할 수 있다.According to an embodiment, by combining image data and sensor data, it is possible to accurately measure the moving distance of the user even indoors.

일 실시예에 다르면 GPS 기술이 적용되기 어려운 환경에서도 사용자의 이동 거리를 정확하게 측정할 수 있다.According to an embodiment, it is possible to accurately measure the user's moving distance even in an environment where GPS technology is difficult to apply.

일 실시예에 따르면 광학 흐름을 이용하여 사용자의 이동 거리를 측정할 수 있다.According to an embodiment, the movement distance of the user may be measured using the optical flow.

일 실시예에 따르면 사용자 단말의 이동 거리를 정확하게 측정할 수 있어, 사용자 단말을 휴대하고 있는 사용자의 이동 거리가 반영된 애플리케이션의 활용도를 높일 수 있다.According to an embodiment, it is possible to accurately measure the moving distance of the user terminal, so that the utilization of the application reflecting the moving distance of the user carrying the user terminal can be increased.

도 1은 일 실시예에 따른 사용자 단말의 이동 경로 추적 방법을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 특징 점이 나타난 이미지 데이터의 일례를 도시하는 도면이다.
도 3은 이동 경로 추적 장치의 성능을 설명하기 위한 그래프들이다.
도 4는 사용자 단말의 높이 변화를 설명하기 위한 그래프이다.
도 5은 일 실시예에 따른 이동 경로 추적 장치의 구성을 도시하는 도면이다.
1 is a flowchart illustrating a method of tracking a moving path of a user terminal according to an embodiment.
2 is a diagram illustrating an example of image data in which feature points appear according to an exemplary embodiment.
3 is a graph for explaining the performance of the moving path tracking device.
4 is a graph for explaining a change in height of a user terminal.
5 is a diagram illustrating a configuration of a moving path tracking apparatus according to an embodiment.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징 점, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징 점들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present specification, terms such as “comprise” or “have” are intended to designate that a feature point, number, step, operation, component, part, or a combination thereof described on the specification exists, but one or more other It should be understood that the existence or addition of feature points or numbers, steps, operations, components, parts or combinations thereof is not precluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are assigned the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

또한, 실시 예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다. In addition, in describing the components of the embodiment, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the component from other components, and the essence, order, or order of the component is not limited by the term. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It will be understood that may also be "connected", "coupled" or "connected".

어느 하나의 실시 예에 포함된 구성요소와, 공통적인 기능을 포함하는 구성요소는, 다른 실시 예에서 동일한 명칭을 사용하여 설명하기로 한다. 반대되는 기재가 없는 이상, 어느 하나의 실시 예에 기재한 설명은 다른 실시 예에도 적용될 수 있으며, 중복되는 범위에서 구체적인 설명은 생략하기로 한다.Components included in one embodiment and components having a common function will be described using the same names in other embodiments. Unless otherwise stated, descriptions described in one embodiment may be applied to other embodiments as well, and detailed descriptions within the overlapping range will be omitted.

도 1은 일 실시예에 따른 사용자 단말의 이동 경로 추적 방법을 설명하기 위한 흐름도이다.1 is a flowchart illustrating a method of tracking a moving path of a user terminal according to an embodiment.

본 명세서에서 설명하는 사용자 단말의 이동 경로 추적 방법은 광학 흐름 기술을 사용하여 스마트 폰의 이동 경로를 추적하기 위한 방법을 개시할 수 있다. 일 실시예에 따른 이동 경로 추적 방법은 사용자 단말에 내장된 카메라를 통해 촬영된 이미지 데이터와, 사용자 단말에 내장된 센서를 통해 수집된 센싱 데이터에 기초하여 사용자 단말의 이동 거리를 측정할 수 있다. 이동 경로 추적 방법은 이미지 데이터의 광학 흐름 및 실제 비율을 이용하여 사용자 단말의 이동 거리를 추정하고, 사용자 단말의 이동 거리 및 센싱 데이터를 기초로 하여 사용자 단말의 이동 궤적을 계산하는 방법을 제공할 수 있다. 본 명세서에서 설명하는 이동 경로 추적 방법은 실내 및 실외의 정확한 위치 정확도로 보행자의 사용자 단말의 경로를 추적하는 데 적용될 수 있다.The method for tracking a movement path of a user terminal described in this specification may disclose a method for tracking a movement path of a smart phone using an optical flow technology. The moving path tracking method according to an embodiment may measure the moving distance of the user terminal based on image data captured by a camera built in the user terminal and sensing data collected through a sensor built in the user terminal. The movement path tracking method may provide a method of estimating the movement distance of the user terminal using the optical flow and actual ratio of image data, and calculating the movement trajectory of the user terminal based on the movement distance and sensing data of the user terminal. there is. The moving path tracking method described in this specification may be applied to tracking the path of a user terminal of a pedestrian with accurate location accuracy indoors and outdoors.

사용자가 사용자 단말을 수평으로 들고 이동을 하면, 바닥이 촬영된 동영상에서 바닥이 움직일 수 있다. 이동 경로 추적 방법은 동영상에서 바닥이 움직인 거리에 기초하여 사용자 단말의 이동 거리를 광류(optical flow) 기술로 계산하는 방법을 개시할 수 있다. 이동 경로 추적 장치는 한 장의 이미지 프레임에서 특징 점을 추출하고, 다음의 이미지 프레임에서 동일한 특징 점이 이동한 거리와 방향 정보(motion vector; mv), 즉 모션 벡터를 검출할 수 있다. 이동 경로 추적 장치는 동영상의 이미지 프레임에서 특징점들을 추출하고, 다음 이미지 프레임에서 동일한 (물체에 대한) 특징 점을 추출할 수 있다. 일 이미지 프레임에서의 특징 점을 다음 이미지 프레임에서의 특징 점과 연결한 선이 모션 벡터일 수 있다. 이동 경로 추적 장치는 사용자가 사용자 단말을 들고 이동할 때, 사용자 단말의 관성 센서로 수집된 데이터에 칼만 필터를 적용하여, 지속적으로 사용자 단말의 회전(yaw) 각, 기울기(pitch or roll) 각을 계산할 수 있다.When the user moves while holding the user terminal horizontally, the floor may move in the video where the floor is captured. The moving path tracking method may disclose a method of calculating the moving distance of the user terminal using an optical flow technique based on the moving distance of the floor in the video. The movement path tracking apparatus may extract a feature point from one image frame, and detect distance and direction information (motion vector; mv), ie, a motion vector, moved by the same feature point in the next image frame. The moving path tracking apparatus may extract feature points from an image frame of a moving picture, and extract the same feature points (for an object) from a next image frame. A line connecting a feature point in one image frame to a feature point in the next image frame may be a motion vector. The movement path tracking device continuously calculates the yaw angle and the pitch or roll angle of the user terminal by applying a Kalman filter to the data collected by the inertial sensor of the user terminal when the user moves while holding the user terminal. can

이동 경로 추적 방법을 설명하기 위한 실시예의 일 예에서, 이미지 데이터의 픽셀 수는 540 Х 480이고 프레임 속도는 초당 약 30 프레임이며 센싱 데이터는 10ms마다 수집될 수 있다. 위 예에서 사용자 단말은 삼성 갤럭시 A8 및 샤오미 미 MIX2가 사용될 수 있다. 각 사용자 단말이 바닥으로부터 1m의 거리에서 측정한 실제 비율은 각각 픽셀 당 1.9824mm 및 픽셀 당 2.0342mm일 수 있다.In one example of the embodiment for describing the movement path tracking method, the number of pixels of the image data is 540 Х 480, the frame rate is about 30 frames per second, and the sensed data may be collected every 10 ms. In the above example, as the user terminal, Samsung Galaxy A8 and Xiaomi Mi MIX2 may be used. Actual ratios measured by each user terminal at a distance of 1 m from the floor may be 1.9824 mm per pixel and 2.0342 mm per pixel, respectively.

본 명세서에서 설명하는 이동 경로 추적 방법은 사용자의 발 앞쪽의 바닥에 A4 용지와 같은 기준 피사체가 놓인 상태에서, 사용자가 사용자 단말을 가슴 앞에 수평으로 들고 기준 피사체를 포함하는 동영상을 촬영할 수 있다. 이동 경로 추적 장치는 동영상에서 A4 용지의 픽셀 개수, 실제 크기의 비율에 기초하여 실제 비율을 산출할 수 있다. 실시예에 따라 사용자는 이동 시에 사용자 단말이, 기준 피사체를 촬영된 높이에 위치하도록 유지할 수 있다.In the movement path tracking method described in this specification, in a state in which a reference object such as A4 paper is placed on the floor in front of the user's feet, the user may take a video including the reference object while holding the user terminal horizontally in front of the chest. The movement path tracking device may calculate the actual ratio based on the ratio of the number of pixels and the actual size of the A4 paper in the video. According to an embodiment, when the user moves, the user terminal may maintain the reference subject to be positioned at the photographed height.

도 1을 참조하면 단계(110)에서 이동 경로 추적 장치는 제1 이미지 데이터 및 센싱 데이터를 수집할 수 있다. 여기서, 이동 경로 추적 장치는 사용자 단말과 동일한 장치일 수 있고, 실시예에 따라 다른 장치일 수도 있다. 이동 경로 추적 장치는 이동 경로 추적 장치(또는 사용자 단말)에 내장된 고해상도의 카메라를 통해 제1 이미지 데이터를 수집할 수 있다. 여기서, 제1 이미지 데이터는 사용자가 이동 경로 추적 장치를 몸 앞에 두고 보행하는 상태에서 수집될 수 있고, 사용자 단말의 카메라가, 수집하고자 하는 대상과 수평을 이룬 상태에서 수집될 수 있다. 또한, 이동 경로 추적 장치는 이동 경로 추적 장치(또는 사용자 단말)에 내장된 센서를 통해 센싱 데이터를 수집할 수 있다. 센서는 관성 센서 및 자이로 센서 중 적어도 하나를 포함할 수 있고, 센싱 데이터는 가속도 센싱 데이터 및 자이로 센싱 데이터 중 적어도 하나를 포함할 수 있다.Referring to FIG. 1 , in step 110 , the moving path tracking apparatus may collect first image data and sensing data. Here, the moving path tracking device may be the same device as the user terminal, or may be a different device according to an embodiment. The moving-path tracking device may collect the first image data through a high-resolution camera built into the moving-path tracking device (or user terminal). Here, the first image data may be collected in a state in which the user walks with the movement path tracking device in front of the body, and the camera of the user terminal may be collected in a state in which the user is level with the object to be collected. Also, the moving-path tracking device may collect sensing data through a sensor built into the moving-path tracking device (or user terminal). The sensor may include at least one of an inertial sensor and a gyro sensor, and the sensing data may include at least one of acceleration sensing data and gyro sensing data.

단계(120)에서 이동 경로 추적 장치는 수집한 제1 이미지 데이터로부터 특징 점을 검출할 수 있다. 단계(130)에서 이동 경로 추적 장치는 센싱 데이터에 기초하여 검출된 특징 점에 대응하는 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행할 수 있다. 사용자는 일정한 높이에서 사용자 단말을 들고 대상을 촬영하지만, 경우에 따라 사용자가 들고 있는 사용자 단말의 높이가 달라질 수 있기 때문에 이동 경로 추적 장치는 제1 이미지 데이터에 대한 보정을 수행하여 보다 정확하게 사용자 단말의 이동 경로를 추적할 수 있다. 본 명세서에서 설명하는 이동 경로 추적 장치는 특징 점을 검출한 후에 보정을 수행함으로써, 보정을 먼저 수행한 다음에 특징 점을 검출하는 것보다 정확하게 특징 점을 검출할 수 있다.In operation 120 , the movement path tracking apparatus may detect a feature point from the collected first image data. In operation 130 , the movement path tracking apparatus may correct the pixel position on the first image data corresponding to the detected feature point based on the sensed data. Although the user holds the user terminal at a certain height and shoots the subject, since the height of the user terminal held by the user may vary in some cases, the movement path tracking device performs correction on the first image data to more accurately capture the image of the user terminal. You can track your travel path. The movement path tracking apparatus described in this specification performs correction after detecting the characteristic point, so that it is possible to detect the characteristic point more accurately than to perform the correction first and then detect the characteristic point.

보정을 수행하는 과정에서, 이동 경로 추적 장치는 센싱 데이터에 칼만 필터를 적용하여 사용자 단말의 기울기 각을 계산할 수 있다. 이동 경로 추적 장치는 기울기 각에 기초하여 특징 점의 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행할 수 있다. 이동 경로 추적 장치는 제1 이미지 데이터로부터 특징 점을 검출하고, 특징 점의 제1 이미지 데이터 상에서의 2차원 좌표와 사용자 단말의 기울기 각에 기초하여 특징 점의 2차원 좌표에 대한 보정을 수행할 수 있다. 이동 경로 추적 장치는 보정을 수행하여, 제1 이미지 데이터를, 일정한 높이에서 촬영된 것과 같은 이미지 데이터로 변환할 수 있다. 이동 경로 추적 장치는 이미지 데이터로부터 먼저 특징 점을 검출한 후에, 각 특징 점의 이미지 데이터 상에서의 2차원 좌표 정보를 저장하고, 검출된 특징 점들의 2차원 좌표를 변환하여 보정함으로써, 특징 점들을 보다 정확하게 검출할 수 있고, 사용자 단말의 각도에 의한 오차를 보정하여 이동 거리를 추정하는 것에 대한 정확도를 향상시킬 수 있다.In the process of performing the correction, the movement path tracking apparatus may calculate the inclination angle of the user terminal by applying the Kalman filter to the sensed data. The movement path tracking apparatus may correct the pixel position of the feature point on the first image data based on the inclination angle. The movement path tracking device may detect a feature point from the first image data, and perform correction on the two-dimensional coordinates of the feature point based on the two-dimensional coordinates of the feature point on the first image data and the inclination angle of the user terminal. there is. The movement path tracking apparatus may perform correction to convert the first image data into image data such as that photographed at a constant height. The movement path tracking apparatus detects the feature points from the image data first, stores the two-dimensional coordinate information on the image data of each feature point, converts and corrects the two-dimensional coordinates of the detected feature points, It can be accurately detected, and the accuracy of estimating the moving distance can be improved by correcting an error caused by the angle of the user terminal.

이동 경로 추적 장치가 특징 점의 픽셀 위치를 보정하는 식은 다음과 같을 수 있다.An equation for correcting the pixel position of the feature point by the movement path tracking device may be as follows.

Figure pat00001
Figure pat00001

여기서, P는 초점 거리 f의 투영 행렬이고, T는 이미지 평면을 초점 평면으로 이동시키기 위한 변환 행렬일 수 있다. R은 이미지 평면의 회전 행렬이고, S는 이미지 평면의 원점을 좌표축의 중심으로 이동시키는 행렬일 수 있다. P, T, R 및 S는 다음 식에서 설명될 수 있다.Here, P may be a projection matrix of the focal length f, and T may be a transformation matrix for moving the image plane to the focal plane. R may be a rotation matrix of the image plane, and S may be a matrix that moves the origin of the image plane to the center of the coordinate axis. P, T, R and S can be described in the following formula.

Figure pat00002
Figure pat00002

Figure pat00003
Figure pat00003

Figure pat00004
Figure pat00004

Figure pat00005
Figure pat00005

여기서,

Figure pat00006
0
Figure pat00007
0는 각각 이미지 데이터의 수평 및 수직 방향으로 픽셀 수의 절반이고, ρx 및 ρy는 각각 카메라 이미지 센서에서 한 픽셀의 수평 및 수직 길이이다.
Figure pat00008
Figure pat00009
는 각각 사용자 단말 카메라의 피치 및 롤 각도일 수 있다.here,
Figure pat00006
0 and
Figure pat00007
0 is half the number of pixels in the horizontal and vertical directions of the image data, respectively, and ρ x and ρ y are the horizontal and vertical lengths of one pixel in the camera image sensor, respectively.
Figure pat00008
and
Figure pat00009
may be the pitch and roll angle of the user terminal camera, respectively.

다른 실시예에서 이동 경로 추적 장치는 보정을 수행하는 과정에서, 센싱 데이터를 수집하고, 센싱 데이터에 수집된 가속도 센싱 데이터 및 사용자 단말의 기울기 각에 기초하여 보정된 가속도 값을 계산할 수 있다. 이동 경로 추적 장치는 보정된 가속도 값에 기초하여, 바닥으로부터의 사용자 단말의 높이를 계산할 수 있다. 이동 경로 추적 장치는 가속도 값에 대해 사용자 단말의 기울기 각만큼 보정을 수행하고, 2중 적분을 수행하여 바닥으로부터의 사용자 단말의 높이를 계산할 수 있다.In another embodiment, the moving path tracking apparatus may collect sensing data in the process of performing the correction, and may calculate a corrected acceleration value based on the acceleration sensing data collected in the sensing data and the inclination angle of the user terminal. The movement path tracking apparatus may calculate the height of the user terminal from the floor based on the corrected acceleration value. The moving path tracking apparatus may correct the acceleration value by the inclination angle of the user terminal and calculate the height of the user terminal from the floor by performing double integration.

여기서, 바닥으로부터의 사용자 단말의 높이는 사용자의 발이 바닥에 닿았을 때 초기화될 수 있다. 바닥으로부터의 사용자 단말의 높이는 사용자 단말을 들고 있는 사용자가 발을 딛을 때마다 새롭게 계산될 수 있다.Here, the height of the user terminal from the floor may be initialized when the user's foot touches the floor. The height of the user terminal from the floor may be newly calculated every time the user holding the user terminal steps on it.

단계(140)에서 이동 경로 추적 장치는 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 유효 모션 벡터를 결정할 수 있다. 이동 경로 추적 장치는 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하고, 추출된 모션 벡터들 중에서 미리 정해진 방향에서 미리 정해진 각도 범위 이내에 대응하는 모션 벡터를 유효 모션 벡터로 결정할 수 있다. 이동 경로 추적 장치는 제 1 이미지 데이터에서 추출된 특징 점들을 폐기하지 않고 다음 이미지 데이터들에서, 제1 이미지 데이터에서 추출된 특징 점들에 대응되는 특징 점들을 검출하여, 제 1 이미지 데이터에서 추출된 특징 점들에 대응되는 특징 점들이 이미지 데이터에서 검출되지 않을 때까지 연속적으로 제1 이미지 데이터의 다음 이미지 데이터들에서 추적하여 모션 벡터들을 계산할 수 있다.In operation 140 , the movement path tracking apparatus may determine an effective motion vector by tracking a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data. The movement path tracking apparatus extracts motion vectors by tracking a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data, and a predetermined angular range in a predetermined direction from among the extracted motion vectors A motion vector corresponding to within may be determined as an effective motion vector. The movement path tracking device does not discard the feature points extracted from the first image data, but detects feature points corresponding to the feature points extracted from the first image data from the next image data, and the feature extracted from the first image data The motion vectors may be calculated by successively tracking next image data of the first image data until feature points corresponding to the points are not detected in the image data.

이동 경로 추적 장치는 유효 모션 벡터를 결정하는 과정에서, 추출된 모션 벡터들 중 모션 벡터의 길이가 미리 정해진 길이보다 짧거나, 모션 벡터의 방향과 기울기 각의 차이가 미리 설정된 값의 범위를 벗어나는 모션 벡터를 제거할 수 있다. 이동 경로 추적 장치는 모션 벡터들 중에서 유효 모션 벡터를 결정하여, 사용자 단말이 원래 이동하던 방향에서 반대로 이동하는 것과 같은 경우를 제외함으로써, 보다 정확하게 사용자 단말의 이동 경로를 결정할 수 있다. 이동 경로 추적 장치는 사용자 단말이 이동하는 방향과 반대 방향으로 이동하는 모션 벡터들을 제외하여 유효 모션 벡터를 결정할 수 있다.In the process of determining the effective motion vector, the motion path tracking device is a motion in which a length of a motion vector among the extracted motion vectors is shorter than a predetermined length, or a motion in which a difference between a direction and an inclination angle of a motion vector is out of a range of a preset value Vector can be removed. The movement path tracking apparatus determines an effective motion vector from among the motion vectors and excludes a case in which the user terminal moves in the opposite direction from the original movement direction, thereby more accurately determining the movement path of the user terminal. The moving path tracking apparatus may determine an effective motion vector by excluding motion vectors moving in a direction opposite to a moving direction of the user terminal.

이동 경로 추적 장치는 진동으로 인한 이동 거리 측정의 오류를 줄이기 위해 6mm 이상의 순방향 모션 벡터를 유효 모션 벡터로 추출할 수 있고, 모든 역방향 모션 벡터를 제외할 수 있다. 이미지 데이터 상에서의 검출된 특징 점으로 인한 모션 벡터의 방향은 실제 방향과 일치하지 않기 때문에, 이동 거리 측정 장치의 이동 방향에 대한 특정 각도 범위 내의 모션 벡터만이 유효 벡터로 추출될 수 있다. 즉, 미리 정해진 일 방향의 허용 방향 각도 내의 모션 벡터만이 유효 벡터로 추출될 수 있다. 일 실시예에서 이미지 데이터에서 추출된 유효 모션 벡터는 중간 필터에 입력될 수 있다.The movement path tracking device may extract a forward motion vector of 6 mm or more as an effective motion vector in order to reduce an error in movement distance measurement due to vibration, and may exclude all backward motion vectors. Since the direction of the motion vector due to the detected feature point on the image data does not coincide with the actual direction, only a motion vector within a specific angular range with respect to the moving direction of the moving distance measuring device can be extracted as a valid vector. That is, only a motion vector within a predetermined allowable direction angle in one direction may be extracted as an effective vector. In an embodiment, an effective motion vector extracted from image data may be input to an intermediate filter.

다른 실시예에서 이동 경로 추적 장치는 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출할 수 있다. 이동 경로 추적 장치는 다음 이미지 데이터에서 추출된 모션 벡터들 중 제1 이미지 데이터에서 추출된 특징 점에 대한 모션 벡터의 길이에 비해 미리 정해진 기준보다 긴 모션 벡터를, 제1 이미지 데이터에서 추출된 특징 점에 대한 모션 벡터의 길이로 대체하거나 0값으로 대체할 수 있다. 예를 들어, 다음 이미지 데이터에서 추출된 모션 벡터의 길이가, 제1 이미지 데이터에서 추출된 모션 벡터의 길이보다 7배 이상 긴 경우, 이동 경로 추적 장치는 다음 이미지 데이터에서 추출된 모션 벡터를 제1 이미지 데이터에서 추출된 모션 벡터로 대체하여, 모든 이미지 모션 벡터들의 길이의 합이 실제 이동 거리보다 길게 추정되는 것을 방지함으로써, 사용자 단말의 이동 거리를 추정하는 것에 대한 정확도를 향상시킬 수 있다.In another embodiment, the movement path tracking apparatus may extract motion vectors by tracking a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data. The movement path tracking apparatus selects a motion vector longer than a predetermined criterion compared to a length of a motion vector for a feature point extracted from the first image data among motion vectors extracted from the next image data, and a feature point extracted from the first image data. It can be replaced with the length of the motion vector for , or replaced with a value of 0. For example, if the length of the motion vector extracted from the next image data is 7 times longer than the length of the motion vector extracted from the first image data, the movement path tracking device sets the motion vector extracted from the next image data to the first By replacing the motion vector extracted from the image data, the sum of the lengths of all image motion vectors is prevented from being estimated to be longer than the actual moving distance, thereby improving the accuracy of estimating the moving distance of the user terminal.

단계(150)에서 이동 경로 추적 장치는 유효 모션 벡터 및 센싱 데이터에 기초하여 사용자 단말의 이동 경로를 결정할 수 있다.In step 150, the moving path tracking apparatus may determine the moving path of the user terminal based on the effective motion vector and the sensed data.

이동 경로 추적 장치는 유효 모션 벡터 및 실제 비율에 기초하여 사용자 단말의 이동 거리를 추정할 수 있고, 이동 경로 추적 장치는 추정된 이동 거리 및 센싱 데이터에 기초하여 사용자 단말의 이동 경로를 결정할 수 있다.The moving-path tracking apparatus may estimate the moving distance of the user terminal based on the effective motion vector and the actual ratio, and the moving-path tracking apparatus may determine the moving path of the user terminal based on the estimated moving distance and sensing data.

이동 경로 추적 장치는 유효 모션 벡터를 중간 값 필터에 입력하여 중간 값을 산출할 수 있다. 이동 경로 추적 장치는 산출된 중간 값이 미리 정해진 방향에 투영된 값, 사용자 단말의 상대 높이 및 실제 비율에 기초하여 사용자 단말의 이동 거리를 추정할 수 있다. 예를 들어, 이동 경로 추적 장치는 산출된 중간 값이 미리 정해진 방향에 투영된 값에 실제 비율을 곱한 값을 제1 이미지 데이터와 다음 이미지 데이터 사이에 사용자 단말이 이동한 거리로 추정할 수 있다. 이동 경로 추적 장치는 회전각 및 추정된 이동 거리에 기초하여 사용자 단말의 이동 경로를 결정할 수 있다. 여기서, 사용자 단말의 상대 높이는 사용자 단말의 가속도 센싱 데이터에 기초하여 계산될 수 있다. 이동 경로 추적 장치는 매 이미지 프레임마다 사용자 단말의 가속도 센싱 값을 이중 적분하고, 사용자가 발걸음을 딛는 정보를 초기화하여 사용자 단말의 상대 높이를 계산할 수 있다. 회전각 및 가속도 센싱 데이터는 센싱 데이터에 기초하여 계산될 수 있다.The moving path tracking apparatus may calculate an intermediate value by inputting the effective motion vector to the intermediate value filter. The movement path tracking apparatus may estimate the movement distance of the user terminal based on a value in which the calculated intermediate value is projected in a predetermined direction, a relative height of the user terminal, and an actual ratio. For example, the movement path tracking apparatus may estimate a value obtained by multiplying a calculated intermediate value by a value projected in a predetermined direction by an actual ratio as a distance moved by the user terminal between the first image data and the next image data. The movement path tracking apparatus may determine the movement path of the user terminal based on the rotation angle and the estimated movement distance. Here, the relative height of the user terminal may be calculated based on acceleration sensing data of the user terminal. The movement path tracking apparatus may calculate the relative height of the user terminal by double-integrating the acceleration sensing value of the user terminal for every image frame, and initializing information about the step of the user. The rotation angle and acceleration sensing data may be calculated based on the sensing data.

이동 경로 추적 장치는 추출된 특징 점들이 연속된 이미지 데이터 안에서 계속해서 추출되는 경우에는, 지속적으로 해당 특징점들을 추적하면서 모션 벡터를 계산할 수 있다. 계속해서 유지되는 특징 점들은 이동 경로 추적 장치가 사용자 단말의 이동 경로를 추정하는 것을 보다 효과적이게 할 수 있다.When the extracted feature points are continuously extracted from continuous image data, the movement path tracking apparatus may calculate a motion vector while continuously tracking the corresponding feature points. The continuously maintained feature points may make it more effective for the moving-path tracking apparatus to estimate the moving path of the user terminal.

일 실시예에서 이동 경로 추적 장치는 미리 정해진 기준 피사체를 포함하는 제2 이미지 데이터를 수집할 수 있다. 여기서, 미리 정해진 기준 피사체는 이동 경로 추적 장치가 실제 크기는 인지하고 있는 피사체일 수 있다. 예를 들어, 기준 피사체는 A4용지가 될 수 있다. 이동 경로 추적 장치는 제2 이미지 데이터 및 기준 피사체의 실제 크기에 기초하여 실제 비율을 산출할 수 있다. 이동 경로 추적 장치는 제2 이미지 데이터가 수집되는 순간의 바닥과 사용자 단말 간의 거리, 즉 사용자 단말의 높이이 위치한 높이와 기준 피사체의 실제 크기 및 제2 이미지 데이터에 기초하여 실제 비율을 산출할 수 있다.In an embodiment, the movement path tracking apparatus may collect second image data including a predetermined reference subject. Here, the predetermined reference subject may be a subject whose actual size is recognized by the movement path tracking apparatus. For example, the reference subject may be A4 paper. The movement path tracking apparatus may calculate an actual ratio based on the second image data and the actual size of the reference object. The movement path tracking apparatus may calculate an actual ratio based on the distance between the floor and the user terminal at the moment the second image data is collected, that is, the height at which the height of the user terminal is located, the actual size of the reference object, and the second image data.

일 실시예에서 모션 벡터의 궤적이 반원인 경우, 이동 경로 추적 장치는 센싱 데이터 중 적어도 하나를 칼만 필터에 적용하여 사용자 단말의 회전 각도를 산출할 수 있다. 모션 벡터의 궤적이 반원인 경우는, 사용자가 이동 방향을 변경한 경우일 수 있다. 사용자가 이동 방향을 변경한 경우, 이동 경로 추적 장치는 사용자 단말의 회전 각도를 추정하기 위하여, 센싱 데이터에 포함된 자이로 센싱 데이터 및 가속 데이터에 칼만 필터를 적용하여, 사용자 단말의 회전 각도를 10ms 간격으로 획득할 수 있다. 사용자 단말의 이동 경로는 사용자 단말의 이동 거리와 관성 센서를 통해 수집된 회전 각도에 기초하여 결정될 수 있다.In an embodiment, when the trajectory of the motion vector is a semicircle, the movement path tracking apparatus may calculate the rotation angle of the user terminal by applying at least one of the sensing data to the Kalman filter. When the trajectory of the motion vector is a semicircle, it may be a case in which the user changes the movement direction. When the user changes the movement direction, the movement path tracking apparatus applies a Kalman filter to the gyro sensing data and acceleration data included in the sensing data to estimate the rotation angle of the user terminal, and sets the rotation angle of the user terminal at 10 ms intervals. can be obtained with The movement path of the user terminal may be determined based on the movement distance of the user terminal and the rotation angle collected through the inertial sensor.

일 실시예에서, 피치 및 롤 각도는 수학식 6에 기초하여 계산될 수 있다.In one embodiment, the pitch and roll angle may be calculated based on Equation (6).

Figure pat00010
Figure pat00010

여기서 fx 및 fy는 각각 x 축 및 y 축에 대한 가속도이고, g는 중력의 가속도일 수 있다. EKF의 상태 변수 x는

Figure pat00011
이고 여기서 '
Figure pat00012
'는 스마트 폰의 요잉 각도일 수 있다. 시스템 모델은 수학식 7과 같고, 측정 모델은 수학식 8과 같으며, 상태 전이 행렬 A는 수학식 9와 같을 수 있다.Here, f x and f y may be accelerations about the x-axis and y-axis, respectively, and g may be the acceleration of gravity. The state variable x in EKF is
Figure pat00011
and where '
Figure pat00012
' may be a yaw angle of the smart phone. The system model may be expressed as Equation 7, the measurement model may be expressed as Equation 8, and the state transition matrix A may be expressed as Equation 9.

Figure pat00013
Figure pat00013

Figure pat00014
Figure pat00014

Figure pat00015
Figure pat00015

여기서,

Figure pat00016
x,
Figure pat00017
y
Figure pat00018
z는 각각 x 축, y 축 및 z 축에 대한 각속도이다. w 및 v는 각각 시스템 및 측정 노이즈일 수 있다.here,
Figure pat00016
x ,
Figure pat00017
y and
Figure pat00018
z is the angular velocity about the x-axis, y-axis, and z-axis, respectively. w and v may be system and measurement noise, respectively.

도 2는 일 실시예에 따른 특징 점이 나타난 이미지 데이터의 일례를 도시하는 도면이다.2 is a diagram illustrating an example of image data in which feature points appear according to an exemplary embodiment.

도 2는 예를 들어, 회전 및 이동 중 허용 방향 각도가 30도일 때의 특징 점의 궤적을 나타낼 수 있다.FIG. 2 may represent, for example, a trajectory of a feature point when an allowable direction angle during rotation and movement is 30 degrees.

실제 이미지 데이터에서 모션 벡터의 방향이 일치하지 않기 때문에, 이동 경로 추적 장치는 사용자 단말의 보행 방향에 기초하여, 허용 가능한 방향 각도 내의 모션 벡터만을 유효 모션 벡터로 결정하여, 에러를 줄일 수 있다. 허용 방향 각도가 너무 작은 경우, 사용자가 회전하여 보행하는 동안, 모든 모션 벡터가 제거되어, 정확한 이동 거리가 계산되지 않을 수 있다. 또한, 각도가 너무 크면 거리 오차를 증가시킬 수 있는 오차 성분이 많아질 수 있다. 따라서, 정확한 이동 거리 추정을 위하여, 적합한 허용 방향 각도를 결정해야할 수 있고, 그 각도는 30도가 될 수 있다.Since the direction of the motion vector in the actual image data does not match, the moving path tracking apparatus determines only a motion vector within an allowable direction angle as an effective motion vector based on the walking direction of the user terminal, thereby reducing errors. If the allowable direction angle is too small, all motion vectors may be removed while the user rotates and walks, so that an accurate movement distance may not be calculated. Also, if the angle is too large, an error component that may increase the distance error may increase. Therefore, in order to accurately estimate the moving distance, it may be necessary to determine an appropriate allowable direction angle, and the angle may be 30 degrees.

도 2를 참조하면, 이동 경로 추적 장치는 특징 점(210)을 검출할 수 있다. 이동 경로 추적 장치는 특징 점(210)이 다음 이미지 데이터에도 남아 있는 경우, 특징 점(210)이 위치 변화에 기초하여 모션 벡터를 결정할 수 있다.Referring to FIG. 2 , the moving path tracking apparatus may detect a feature point 210 . When the feature point 210 remains in the next image data, the movement path tracking apparatus may determine a motion vector based on a change in the position of the feature point 210 .

도 3은 이동 경로 추적 장치의 성능을 설명하기 위한 그래프들이다.3 is a graph for explaining the performance of the moving path tracking device.

도 3은 이미지 데이터의 보정의 유무에 따른 이동 경로 추적 장치의 성능을 설명하기 위한 도면일 수 있다. 도 3를 참조하면, y축은 오류의 누적분포함수이고, y축은 예상 이동 거리의 오류일 수 있다. 실선(G)은 이미지 데이터의 특징점이 보정되지 않은 경우에 이동 경로 추적 장치가 추정한 예상 이동 거리에 대한 오류를 나타낼 수 있고, 점선(H)은 이미지 데이터의 특징 점이 보정된 경우에 이동 경로 추적 장치가 추정한 예상 이동 거리에 대한 오류를 나타낼 수 있다. 도 3을 참조하면, 특징 점이 보정된 경우에 이동 경로 추적 장치가 추정한 예상 이동 거리에 대한 오류가 더 낮은 것을 알 수 있다.3 may be a diagram for explaining the performance of the moving path tracking apparatus according to the presence or absence of correction of image data. Referring to FIG. 3 , the y-axis may be a cumulative distribution function of errors, and the y-axis may be an error of an expected moving distance. The solid line (G) may indicate an error with respect to the estimated movement distance estimated by the movement path tracking device when the feature points of the image data are not corrected, and the dotted line (H) is the movement route tracking when the feature points of the image data are corrected. It may indicate an error in the estimated movement distance estimated by the device. Referring to FIG. 3 , it can be seen that, when the feature point is corrected, the error with respect to the estimated movement distance estimated by the movement path tracking apparatus is lower.

도 4은 사용자 단말의 높이 변화를 설명하기 위한 그래프이다.4 is a graph for explaining a change in height of a user terminal.

사용자가 사용자 단말을 휴대하고 걷는 경우, 계속해서 사용자 단말의 높이가 변화하므로 이동 경로 추적 장치는 정확도를 도모하기 위해서 이미지 데이터 및 센싱 데이터에 사용자 단말의 높이의 변화를 반영해야 할 수 있다. 본 명세서에서 설명하는 이동 경로 추적 방법은 PDR의 탐지 기능이 적용될 수 있다. 이동 경로 추적 장치는 사용자 단말의 초기 높이가 사용자가 바닥을 처음 밟을 때의 높이라고 가정하고, 가속도 센싱 데이터의 이중 적분 값을 초기화하여 누적된 에러의 문제를 해결할 수 있다. 이때, 가속도 센싱 데이터는 사용자 단말이 바닥과 수평인 경우의 피치 및 롤 각도로 보정될 수 있고, 그 식은 수학식 10과 같을 수 있다.When a user walks while carrying the user terminal, since the height of the user terminal continuously changes, the movement path tracking apparatus may have to reflect the change in the height of the user terminal in image data and sensing data in order to improve accuracy. The movement path tracking method described in this specification can be applied to the detection function of the PDR. The moving path tracking apparatus may solve the problem of accumulated errors by assuming that the initial height of the user terminal is the height when the user first steps on the floor, and initializes the double integral value of the acceleration sensing data. In this case, the acceleration sensing data may be corrected with a pitch and a roll angle when the user terminal is horizontal to the floor, and the equation may be as shown in Equation (10).

Figure pat00019
Figure pat00019

az,comp,k 피치 및 롤 각도를 반영하는 수직축 상의 가속도 성분이다.a z,comp,k is A component of acceleration on the vertical axis that reflects pitch and roll angle.

Figure pat00020
Figure pat00020

Figure pat00021
Figure pat00021

수학식 11에서 높이 h는 가속도를 두 번 적분함으로써 획득될 수 있다. 수학식 12에서 속도 v는 가속도를 적분함으로써 계산되며, 여기서 Δt는 가속도 센싱 데이터의 샘플링 간격일 수 있다. 도 4은 사용자 단말이 수평으로 위, 아래 10cm 이동하고 바닥에서 높이를 0cm로 재설정한 실험 결과를 나타낼 수 있다. 사용자가 보행을 할 때, 이동 경로 추적 장치는 사용자의 걸음이 감지될 때마다 사용자 단말의 높이를 1m로 재설정할 수 있다.In Equation 11, the height h can be obtained by integrating the acceleration twice. In Equation 12, the velocity v is calculated by integrating the acceleration, where Δt may be a sampling interval of the acceleration sensing data. 4 may show the experimental results in which the user terminal moves horizontally up and down by 10 cm and resets the height from the floor to 0 cm. When the user walks, the movement path tracking apparatus may reset the height of the user terminal to 1 m whenever the user's step is sensed.

도 5은 일 실시예에 따른 이동 경로 추적 장치의 구성을 도시하는 도면이다.5 is a diagram illustrating a configuration of a moving path tracking apparatus according to an embodiment.

도 5을 참조하면, 이동 경로 추적 장치(500)는 수집부(510), 유효 모션 벡터 결정부(520), 특징 점 검출부(530), 처리부(540) 및 보정부(550)를 포함할 수 있다. 여기서, 이동 경로 추적 장치(500)는 본 명세서에서 설명하는 이동 경로 추적 장치일 수 있고, 또는 사용자 단말일 수 있다. 이동 경로 추적 장치(500)는 예를 들어 카메라 기능이 내장된 스마트 폰일 수 있다.Referring to FIG. 5 , the movement path tracking apparatus 500 may include a collection unit 510 , an effective motion vector determiner 520 , a feature point detection unit 530 , a processing unit 540 , and a correction unit 550 . there is. Here, the moving-path tracking device 500 may be the moving-path tracking device described in this specification, or it may be a user terminal. The movement path tracking device 500 may be, for example, a smart phone with a built-in camera function.

수집부(510)는 제1 이미지 데이터 및 센싱 데이터를 수집할 수 있다. 또한, 수집부(510)는 미리 정해진 기준 피사체를 포함하는 제2 이미지 데이터를 수집할 수 있다.The collection unit 510 may collect first image data and sensing data. Also, the collection unit 510 may collect second image data including a predetermined reference subject.

특징 점 검출부(530)는 수집한 제1 이미지 데이터로부터 특징 점을 검출할 수 있다.The feature point detector 530 may detect the feature point from the collected first image data.

보정부(550)는 센싱 데이터에 기초하여 검출된 특징 점에 대응하는 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행할 수 있다. 보정부(550)는, 센싱 데이터에 칼만 필터를 적용하여 사용자 단말의 기울기 각을 계산하고, 기울기 각에 기초하여 특징 점의 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행할 수 있다.The corrector 550 may correct the pixel position on the first image data corresponding to the detected feature point based on the sensed data. The corrector 550 may calculate a tilt angle of the user terminal by applying a Kalman filter to the sensed data, and may correct the pixel position of the feature point on the first image data based on the tilt angle.

유효 모션 벡터 결정부(520)는 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 유효 모션 벡터를 결정할 수 있다. 유효 모션 벡터 결정부(520)는 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하고, 추출된 모션 벡터들 중에서 미리 정해진 방향에서 미리 정해진 각도 범위 이내에 대응하는 모션 벡터를 유효 모션 벡터로 결정할 수 있다.The effective motion vector determiner 520 may determine the effective motion vector by tracking the change in the position of the feature point corresponding to the corrected pixel position in the next image data of the first image data. The effective motion vector determiner 520 extracts motion vectors by tracking a change in the position of a feature point corresponding to the corrected pixel position from the next image data of the first image data, and extracts motion vectors from among the extracted motion vectors in a predetermined direction. A motion vector corresponding within a predetermined angular range may be determined as an effective motion vector.

처리부(540)는 유효 모션 벡터 및 센싱 데이터에 기초하여 사용자 단말의 이동 경로를 결정할 수 있다. 처리부(540)는 유효 모션 벡터 및 실제 비율 기초하여 사용자 단말의 이동 거리를 추정하고, 추정된 이동 거리 및 센싱 데이터에 기초하여 사용자 단말의 이동 경로를 결정할 수 있다.The processing unit 540 may determine the movement path of the user terminal based on the effective motion vector and the sensed data. The processing unit 540 may estimate the moving distance of the user terminal based on the effective motion vector and the actual ratio, and determine the moving path of the user terminal based on the estimated moving distance and sensing data.

처리부(540)는 유효 모션 벡터를 중간 값 필터에 입력하여 중간 값을 산출하고, 산출된 중간 값이 미리 정해진 방향에 투영된 값, 사용자 단말의 상대 높이 및 실제 비율에 기초하여 사용자 단말의 이동 거리를 추정하고, 회전각 및 추정된 이동 거리에 기초하여 사용자 단말의 이동 경로를 결정할 수 있다. 또한, 처리부(540)는 제2 이미지 데이터 및 기준 피사체의 실제 크기에 기초하여 실제 비율을 산출할 수 있다.The processing unit 540 inputs the effective motion vector to the median value filter to calculate the median value, and the calculated median value is projected in a predetermined direction, the moving distance of the user terminal based on the relative height of the user terminal, and the actual ratio may be estimated, and the movement path of the user terminal may be determined based on the rotation angle and the estimated movement distance. Also, the processor 540 may calculate the actual ratio based on the second image data and the actual size of the reference object.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (19)

사용자 단말의 이동 경로 추적 방법에 있어서,
제1 이미지 데이터 및 센싱 데이터를 수집하는 단계;
상기 수집한 제1 이미지 데이터로부터 특징 점을 검출하는 단계;
상기 센싱 데이터에 기초하여 상기 검출된 특징 점에 대응하는 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는 단계;
상기 제1 이미지 데이터의 다음 이미지 데이터에서, 상기 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 유효 모션 벡터를 결정하는 단계; 및
상기 유효 모션 벡터 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 단계
를 포함하는 이동 경로 추적 방법.
In the moving path tracking method of the user terminal,
collecting first image data and sensing data;
detecting a feature point from the collected first image data;
performing correction on a pixel position on the first image data corresponding to the detected feature point based on the sensed data;
determining an effective motion vector by tracking a position change of a feature point corresponding to the corrected pixel position in the next image data of the first image data; and
Determining a movement path of the user terminal based on the effective motion vector and the sensed data
A method of tracking a movement route, including
제1항에 있어서,
상기 유효 모션 벡터를 결정하는 단계는,
상기 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하는 단계;
상기 추출된 모션 벡터들 중에서 미리 정해진 방향에서 미리 정해진 각도 범위 이내에 대응하는 모션 벡터를 유효 모션 벡터로 결정하는 단계
를 포함하는 이동 경로 추적 방법.
The method of claim 1,
Determining the effective motion vector comprises:
extracting motion vectors by tracking a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data;
determining, as an effective motion vector, a motion vector corresponding within a predetermined angular range in a predetermined direction among the extracted motion vectors as an effective motion vector
A method of tracking a movement route, including
제1항에 있어서,
상기 제1 이미지 데이터는,
상기 사용자 단말의 카메라가, 수집하고자 하는 대상과 수평을 이룬 상태에서 수집된,
이동 경로 추적 방법.
The method of claim 1,
The first image data is
The camera of the user terminal is collected in a state parallel to the object to be collected,
How to track your travel route.
제1항에 있어서,
상기 이동 경로를 결정하는 단계는,
상기 유효 모션 벡터 및 실제 비율에 기초하여 상기 사용자 단말의 이동 거리를 추정하는 단계; 및
상기 추정된 이동 거리 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 단계
를 포함하는 이동 경로 추적 방법.
The method of claim 1,
The step of determining the moving path comprises:
estimating the moving distance of the user terminal based on the effective motion vector and the actual ratio; and
determining a moving path of the user terminal based on the estimated moving distance and the sensing data
A method of tracking a movement route, including
제1항에 있어서,
미리 정해진 기준 피사체를 포함하는 제2 이미지 데이터를 수집하는 단계; 및
상기 제2 이미지 데이터 및 상기 기준 피사체의 실제 크기에 기초하여 실제 비율을 산출하는 단계
를 더 포함하는 이동 경로 추적 방법.
The method of claim 1,
collecting second image data including a predetermined reference subject; and
calculating an actual ratio based on the second image data and the actual size of the reference object
A movement path tracking method further comprising a.
제1항에 있어서,
상기 보정을 수행하는 단계는,
상기 센싱 데이터에 칼만 필터를 적용하여 상기 사용자 단말의 기울기 각을 계산하는 단계; 및
상기 기울기 각에 기초하여 상기 특징 점의 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는 단계
를 포함하는 이동 경로 추적 방법.
According to claim 1,
The step of performing the correction is
calculating an inclination angle of the user terminal by applying a Kalman filter to the sensed data; and
performing correction on the pixel position of the feature point on the first image data based on the inclination angle;
A method of tracking a movement route, including
제1항에 있어서,
상기 이동 경로를 결정하는 단계는,
상기 유효 모션 벡터를 중간 값 필터에 입력하여 중간 값을 산출하는 단계;
상기 산출된 중간 값이 미리 정해진 방향에 투영된 값, 상기 사용자 단말의 상대 높이 및 실제 비율에 기초하여 상기 사용자 단말의 이동 거리를 추정하는 단계; 및
상기 회전각 및 상기 추정된 이동 거리에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 단계
를 포함하는 이동 경로 추적 방법.
According to claim 1,
The step of determining the moving path includes:
inputting the effective motion vector into an intermediate value filter to calculate an intermediate value;
estimating a moving distance of the user terminal based on a value in which the calculated intermediate value is projected in a predetermined direction, a relative height of the user terminal, and an actual ratio; and
determining a movement path of the user terminal based on the rotation angle and the estimated movement distance;
A method of tracking a movement route, including
제7항에 있어서,
상기 사용자 단말의 상대 높이는 상기 사용자 단말의 가속도 센싱 데이터에 기초하여 계산되고,
상기 회전각 및 상기 가속도 센싱 데이터는 상기 센싱 데이터에 기초하여 계산되는,
이동 경로 추적 방법.
8. The method of claim 7,
The relative height of the user terminal is calculated based on the acceleration sensing data of the user terminal,
The rotation angle and the acceleration sensing data are calculated based on the sensing data,
How to track your travel route.
제1항에 있어서,
상기 유효 모션 벡터를 결정하는 단계는,
상기 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하는 단계; 및
상기 다음 이미지 데이터에서 추출된 모션 벡터들 중 상기 제1 이미지 데이터에서 추출된 특징 점에 대한 모션 벡터의 길이에 비해 미리 정해진 기준보다 긴 모션 벡터를, 상기 제1 이미지 데이터에서 추출된 특징 점에 대한 모션 벡터의 길이로 대체하거나 0값으로 대체하는 단계
를 포함하는 이동 경로 추적 방법.
The method of claim 1,
Determining the effective motion vector comprises:
extracting motion vectors by tracking a change in the position of a feature point corresponding to the corrected pixel position in the next image data of the first image data; and
Among the motion vectors extracted from the next image data, a motion vector longer than a predetermined criterion compared to the length of the motion vector for the feature point extracted from the first image data is selected for the feature point extracted from the first image data. Steps to replace with the length of the motion vector or with a value of 0
A method of tracking a movement route, including
제1항에 있어서,
상기 유효 모션 벡터를 결정하는 단계는,
상기 사용자 단말이 이동하는 방향과 반대 방향으로 이동하는 모션 벡터들을 제외하는 단계
를 포함하는 이동 경로 추적 방법.
The method of claim 1,
Determining the effective motion vector comprises:
Excluding motion vectors moving in a direction opposite to the direction in which the user terminal moves
A method of tracking a movement route, including
제1항에 있어서,
상기 유효 모션 벡터를 결정하는 단계는,
상기 제 1 이미지 데이터에서 추출된 특징 점들을 폐기하지 않고 상기 다음 이미지 데이터들에서, 상기 제1 이미지 데이터에서 추출된 특징 점들에 대응되는 특징 점들을 검출하여, 상기 제 1 이미지 데이터에서 추출된 특징 점들에 대응되는 특징 점들이 이미지 데이터에서 검출되지 않을 때까지 연속적으로 상기 제1 이미지 데이터의 다음 이미지 데이터들에서 추적하여 모션 벡터들을 계산하는 단계
를 포함하는 이동 경로 추적 방법.
The method of claim 1,
Determining the effective motion vector comprises:
The feature points extracted from the first image data are detected by detecting feature points corresponding to the feature points extracted from the first image data from the next image data without discarding the feature points extracted from the first image data Calculating motion vectors by successively tracing in the next image data of the first image data until feature points corresponding to are not detected in the image data
A method of tracking a movement route, including
제6항에 있어서,
상기 보정을 수행하는 단계는,
상기 제1 이미지 데이터로부터 특징 점을 검출하는 단계; 및
상기 특징 점의 상기 제1 이미지 데이터 상에서의 2차원 좌표와 상기 사용자 단말의 기울기 각에 기초하여 상기 특징 점의 2차원 좌표에 대한 보정을 수행하는 단계
를 포함하는 이동 경로 추적 방법.
7. The method of claim 6,
The step of performing the correction is
detecting a feature point from the first image data; and
performing correction on the two-dimensional coordinates of the feature points based on the two-dimensional coordinates of the feature points on the first image data and the inclination angle of the user terminal
A method of tracking a movement route, including
제1항에 있어서,
상기 보정을 수행하는 단계는,
센싱 데이터를 수집하는 단계;
상기 센싱 데이터에 포함된 가속도 센싱 데이터 및 상기 사용자 단말의 기울기 각에 기초하여 보정된 가속도 값을 계산하는 단계; 및
상기 보정된 가속도 값에 기초하여, 바닥으로부터의 상기 사용자 단말의 높이를 계산하는 단계를 포함하고,
상기 바닥으로부터의 상기 사용자 단말 높이는, 사용자의 발이 바닥에 닿았을 때 초기화되는,
이동 경로 추적 방법.
The method of claim 1,
The step of performing the correction is
collecting sensing data;
calculating a corrected acceleration value based on the acceleration sensing data included in the sensing data and an inclination angle of the user terminal; and
Based on the corrected acceleration value, comprising the step of calculating the height of the user terminal from the floor,
The height of the user terminal from the floor is initialized when the user's foot touches the floor,
How to track your travel route.
사용자 단말의 이동 경로 추적 장치에 있어서,
제1 이미지 데이터 및 센싱 데이터를 수집하는 수집부;
상기 수집한 제1 이미지 데이터로부터 특징 점을 검출하는 특징 점 검출부;
상기 센싱 데이터에 기초하여 상기 검출된 특징 점에 대응하는 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는 보정부;
상기 제1 이미지 데이터의 다음 이미지 데이터에서, 상기 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 유효 모션 벡터를 결정하는 유효 모션 벡터 결정부;
상기 유효 모션 벡터 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는 처리부
를 포함하는 이동 경로 추적 장치.
In the moving path tracking device of the user terminal,
a collection unit configured to collect first image data and sensing data;
a feature point detection unit for detecting a feature point from the collected first image data;
a correction unit configured to correct a pixel position on the first image data corresponding to the detected feature point based on the sensed data;
an effective motion vector determiner configured to determine an effective motion vector by tracking a position change of a feature point corresponding to the corrected pixel position in the next image data of the first image data;
A processing unit for determining a movement path of the user terminal based on the effective motion vector and the sensed data
A movement path tracking device comprising a.
제14항에 있어서,
상기 유효 모션 벡터 결정부는,
상기 제1 이미지 데이터의 다음 이미지 데이터에서, 보정된 픽셀 위치에 대응하는 특징 점의 위치 변화를 추적하여 모션 벡터들을 추출하고, 상기 추출된 모션 벡터들 중에서 미리 정해진 방향에서 미리 정해진 각도 범위 이내에 대응하는 모션 벡터를 유효 모션 벡터로 결정하는,
이동 경로 추적 장치.
15. The method of claim 14,
The effective motion vector determining unit,
In the next image data of the first image data, motion vectors are extracted by tracking the position change of the feature point corresponding to the corrected pixel position, and the motion vectors corresponding to within a predetermined angular range in a predetermined direction from among the extracted motion vectors are determining the motion vector as an effective motion vector,
travel path tracking device.
제14항에 있어서,
상기 처리부는,
상기 유효 모션 벡터 및 실제 비율 기초하여 상기 사용자 단말의 이동 거리를 추정하고, 상기 추정된 이동 거리 및 상기 센싱 데이터에 기초하여 상기 사용자 단말의 이동 경로를 결정하는,
이동 경로 추적 장치.
15. The method of claim 14,
The processing unit,
estimating the moving distance of the user terminal based on the effective motion vector and the actual ratio, and determining the moving path of the user terminal based on the estimated moving distance and the sensing data,
travel path tracking device.
제14항에 있어서,
상기 수집부는 미리 정해진 기준 피사체를 포함하는 제2 이미지 데이터를 수집하고,
상기 처리부는 상기 제2 이미지 데이터 및 상기 기준 피사체의 실제 크기에 기초하여 실제 비율을 산출하는,
이동 경로 추적 장치.
15. The method of claim 14,
The collecting unit collects second image data including a predetermined reference subject,
The processing unit calculates an actual ratio based on the second image data and the actual size of the reference object,
travel path tracking device.
제14항에 있어서,
상기 보정부는, 상기 센싱 데이터에 칼만 필터를 적용하여 상기 사용자 단말의 기울기 각을 계산하고, 상기 기울기 각에 기초하여 상기 특징 점의 상기 제1 이미지 데이터 상에서의 픽셀 위치에 대한 보정을 수행하는,
이동 경로 추적 장치.
15. The method of claim 14,
The compensator applies a Kalman filter to the sensed data to calculate a tilt angle of the user terminal, and performs a correction on a pixel position of the feature point on the first image data based on the tilt angle,
travel path tracking device.
제14항에 있어서,
상기 처리부는,
상기 유효 모션 벡터를 중간 값 필터에 입력하여 중간 값을 산출하고, 상기 산출된 중간 값이 미리 정해진 방향에 투영된 값, 상기 사용자 단말의 상대 높이 및 실제 비율에 기초하여 상기 사용자 단말의 이동 거리를 추정하고, 상기 회전각 및 상기 추정된 이동 거리에 기초하여 상기 사용자 단말의 이동 경로를 결정하는,
이동 경로 추적 장치.
15. The method of claim 14,
The processing unit,
The effective motion vector is input to an intermediate value filter to calculate an intermediate value, and the calculated intermediate value is projected in a predetermined direction, and the movement distance of the user terminal is calculated based on the relative height and actual ratio of the user terminal Estimating, and determining the movement path of the user terminal based on the rotation angle and the estimated movement distance,
travel path tracking device.
KR1020200110130A 2020-08-31 2020-08-31 Method and apparatus for tracking the movement path of a user terminal KR102445400B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200110130A KR102445400B1 (en) 2020-08-31 2020-08-31 Method and apparatus for tracking the movement path of a user terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200110130A KR102445400B1 (en) 2020-08-31 2020-08-31 Method and apparatus for tracking the movement path of a user terminal

Publications (2)

Publication Number Publication Date
KR20220028737A true KR20220028737A (en) 2022-03-08
KR102445400B1 KR102445400B1 (en) 2022-09-20

Family

ID=80812900

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200110130A KR102445400B1 (en) 2020-08-31 2020-08-31 Method and apparatus for tracking the movement path of a user terminal

Country Status (1)

Country Link
KR (1) KR102445400B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101345076B1 (en) * 2012-06-29 2013-12-26 인텔렉추얼디스커버리 주식회사 Apparatus and method for measuring moving distance
JP2015088092A (en) * 2013-11-01 2015-05-07 富士通株式会社 Movement amount estimation device and movement amount estimation method
JP2016157197A (en) * 2015-02-23 2016-09-01 株式会社リコー Self-position estimation device, self-position estimation method, and program
JP2017058660A (en) * 2015-09-15 2017-03-23 キヤノン株式会社 Image tremor correction device, tilt correction device, image tremor correction device control method, tilt correction device control method
KR20200044420A (en) * 2018-10-19 2020-04-29 삼성전자주식회사 Method and device to estimate position
KR20200048918A (en) * 2018-10-31 2020-05-08 삼성에스디에스 주식회사 Positioning method and apparatus thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101345076B1 (en) * 2012-06-29 2013-12-26 인텔렉추얼디스커버리 주식회사 Apparatus and method for measuring moving distance
JP2015088092A (en) * 2013-11-01 2015-05-07 富士通株式会社 Movement amount estimation device and movement amount estimation method
JP2016157197A (en) * 2015-02-23 2016-09-01 株式会社リコー Self-position estimation device, self-position estimation method, and program
JP2017058660A (en) * 2015-09-15 2017-03-23 キヤノン株式会社 Image tremor correction device, tilt correction device, image tremor correction device control method, tilt correction device control method
KR20200044420A (en) * 2018-10-19 2020-04-29 삼성전자주식회사 Method and device to estimate position
KR20200048918A (en) * 2018-10-31 2020-05-08 삼성에스디에스 주식회사 Positioning method and apparatus thereof

Also Published As

Publication number Publication date
KR102445400B1 (en) 2022-09-20

Similar Documents

Publication Publication Date Title
EP2909810B1 (en) Sensor calibration and position estimation based on vanishing point determination
EP3361948B1 (en) Integration of inertial tracking and position aiding for motion capture
WO2017088196A1 (en) Fusion navigation device and method based on wireless fingerprints and mems sensor
US20150092048A1 (en) Off-Target Tracking Using Feature Aiding in the Context of Inertial Navigation
CN110579207B (en) Indoor positioning system and method based on combination of geomagnetic signals and computer vision
CN110553648A (en) method and system for indoor navigation
US11035915B2 (en) Method and system for magnetic fingerprinting
CN111829516B (en) Autonomous pedestrian positioning method based on smart phone
CN111083633B (en) Mobile terminal positioning system, establishment method thereof and positioning method of mobile terminal
JP5742794B2 (en) Inertial navigation device and program
Kao et al. Indoor navigation with smartphone-based visual SLAM and Bluetooth-connected wheel-robot
TWM560099U (en) Indoor precise navigation system using augmented reality technology
Aicardi et al. Sensors integration for smartphone navigation: performances and future challenges
Kuusniemi et al. Multi-sensor multi-network seamless positioning with visual aiding
KR101459522B1 (en) Location Correction Method Using Additional Information of Mobile Instrument
KR102445400B1 (en) Method and apparatus for tracking the movement path of a user terminal
Qian et al. Optical flow based step length estimation for indoor pedestrian navigation on a smartphone
Zhang et al. Monocular camera and IMU integration for indoor position estimation
CN115235455B (en) Pedestrian positioning method based on smart phone PDR and vision correction
JP2010145219A (en) Movement estimation device and program
KR101900759B1 (en) Mobile terminal performing augmented reality servcie and mehod thereof
US20230069018A1 (en) Image processing apparatus, imaging apparatus, image processing system, image processing method, and non-transitory computer readable medium
Qian et al. Optical flow-based gait modeling algorithm for pedestrian navigation using smartphone sensors
KR20160004084A (en) Pedestrian Tracking apparatus and method at indoors
CN115112123A (en) Multi-mobile-robot cooperative positioning method and system based on vision-IMU fusion

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant