KR20200064947A - Apparatus for tracking position based optical position tracking system and method thereof - Google Patents

Apparatus for tracking position based optical position tracking system and method thereof Download PDF

Info

Publication number
KR20200064947A
KR20200064947A KR1020190157011A KR20190157011A KR20200064947A KR 20200064947 A KR20200064947 A KR 20200064947A KR 1020190157011 A KR1020190157011 A KR 1020190157011A KR 20190157011 A KR20190157011 A KR 20190157011A KR 20200064947 A KR20200064947 A KR 20200064947A
Authority
KR
South Korea
Prior art keywords
camera
coordinates
matrix
calculating
cameras
Prior art date
Application number
KR1020190157011A
Other languages
Korean (ko)
Other versions
KR102188480B1 (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 (주)코어센스
Publication of KR20200064947A publication Critical patent/KR20200064947A/en
Application granted granted Critical
Publication of KR102188480B1 publication Critical patent/KR102188480B1/en

Links

Images

Classifications

    • 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
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • H04N5/247

Abstract

According to an embodiment of the present invention, provided is a device for tracking a position which comprises: a camera calibration unit calculating a projection matrix with regard to a plurality of cameras based on an internal variable and an external variable of the plurality of cameras; a coordinate conversion unit converting a plurality of two-dimensional marker coordinates of an input image photographed from the plurality of cameras into a plurality of three-dimensional market coordinates based on the projection matrix; a rigid body classification unit grouping the marker coordinates having an Euclid distance included in a predetermined range among the plurality of three-dimensional marker coordinates to be classified into a plurality of rigid body groups; a trajectory calculation unit calculating a movement trajectory of the plurality of rigid groups based on a center coordinate for each of the plurality of rigid body groups; and an alarm unit transmitting an alarm by determining whether a collision or detachment between the plurality of rigid body groups is performed based on the movement trajectory.

Description

광학식 위치 트래킹 시스템 기반의 위치 추적 장치 및 그 방법{APPARATUS FOR TRACKING POSITION BASED OPTICAL POSITION TRACKING SYSTEM AND METHOD THEREOF}Positioning device and method based on optical position tracking system{APPARATUS FOR TRACKING POSITION BASED OPTICAL POSITION TRACKING SYSTEM AND METHOD THEREOF}

실시 예는 광학식 위치 트래킹 시스템 기반의 위치 추적 장치 및 그 방법에 관한 것이다.Embodiments relate to an optical position tracking system-based position tracking device and method.

모션 캡쳐(Motion Cature)란 신체에 센서를 부착시키거나, 적외선 카메라 등을 이용하는 방법으로 인체의 움직임을 파악하여 디지털 형태로 기록하는 작업을 말한다. 이러한 모션 캡쳐를 통해 얻어지는 모션 캡쳐 데이터는 디지털 콘텐츠로서, 애니메이션이나 영화 게임, 동작분석, 재활 등 다양하게 활용된다.Motion capture (Motion Cature) is a method of attaching a sensor to the body, or using an infrared camera, etc., to identify the movement of the human body and record it in digital form. The motion capture data obtained through the motion capture is digital content, and is used in various ways, such as animation, movie games, motion analysis, and rehabilitation.

모션 캡쳐 시스템은 데이터를 추출하는 방식에 따라 광학식, 기계식, 자기식으로 구분될 수 있다. 최근에는 여러 대의 카메라를 통해서 마커의 위치를 추적함으로서 인체 및 사물의 모션 캡쳐를 수행하는 광학식 모션 캡쳐 시스템이 주로 이용된다. 광학식 모션캡쳐는 고속으로 촬영할 수 있어 유실되는 데이터가 거의 없고 대상의 움직임을 제약하는 요소가 없어 자유로운 동작 표현이 가능하여 매우 섬세한 동작을 추출해 낼 수 있다. The motion capture system can be classified into optical, mechanical, and magnetic methods depending on the method of extracting data. Recently, an optical motion capture system that performs motion capture of a human body and objects by tracking the position of a marker through several cameras is mainly used. Since the optical motion capture can shoot at high speed, there is little data lost and there is no element that restricts the movement of the object, so it is possible to express free motion and extract very delicate motion.

광학식 모션 캡쳐에서 가장 중요한 것은 측정 대상에 부착된 마커의 3차원 좌표 산출이다. 마커의 3차원 좌표 산출이 정확할수록 가상 캐릭터의 모션 구현이 용이하고 자연스러워진다. The most important thing in optical motion capture is the calculation of three-dimensional coordinates of a marker attached to a measurement object. The more accurate the 3D coordinate calculation of the marker is, the easier and natural the motion of the virtual character can be.

이러한 위치 트레킹은 모션 캡쳐 시스템뿐만 아니라 가상현실 (Virtual Reality, VR), 증강현실(Augmented Reality, AR), 혼합현실(Mixed Reality)과 같은 콘텐츠에서도 관심이 높아지고 있다. 가상현실 등의 콘텐츠는 이용자가 오감을 통해 가상의 현실 세계를 체험하게 되므로, 헤드마운트디스플레이(HMD)와 같은 장비의 착용이 필요하게 된다. 하지만, HMD와 같은 장비는 실제 세계에 대한 오감을 차단하게 되므로 주위의 사물에 대한 인지가 불가능하다. 특히, 다수 사용자가 동일한 공간에서 콘텐츠를 이용하는 경우, 타 사용자에 대한 인지가 차단되어 충돌 위험이 발생할 수 있고, 콘텐츠 제공이 가능한 공간을 이탈하는 문제점들이 발생할 수 있다. 이러한 문제점을 해결하기 위한 위치 트레킹 방법이 요구된다. Such location tracking is receiving attention not only in motion capture systems, but also in contents such as virtual reality (VR), augmented reality (AR), and mixed reality (Mixed Reality). Content such as virtual reality experiences the virtual real world through the five senses, so it is necessary to wear equipment such as a head mounted display (HMD). However, since equipment such as HMD blocks the senses of the real world, it is impossible to recognize the surrounding objects. In particular, when multiple users use the content in the same space, the perception of other users may be blocked, and a risk of collision may occur, and problems that deviate from the space where content can be provided may occur. There is a need for a location tracking method to solve this problem.

본 발명의 배경이 되는 기술은 한국공개특허 제10-2013-0032579호(2013.04.02.공개)에 개시되어 있다.The background technology of the present invention is disclosed in Korean Patent Publication No. 10-2013-0032579 (published on April 2, 2013).

실시 예는 광학식 위치 트래킹 시스템에서 사용자의 위치를 추적하여 충돌 및 이탈을 경보할 수 있는 위치 추적 장치 및 그 방법을 제공하기 위한 것이다. An embodiment is to provide a location tracking device and method for tracking collisions and deviations by tracking a user's location in an optical location tracking system.

실시 예에서 해결하고자 하는 과제는 이에 한정되는 것은 아니며, 아래에서 설명하는 과제의 해결수단이나 실시 형태로부터 파악될 수 있는 목적이나 효과도 포함된다고 할 것이다.The problem to be solved in the embodiment is not limited to this, and it will be said that the object or effect that can be grasped from the solution means or the embodiment of the problem described below is also included.

본 발명의 실시예에 따른 위치 추적 장치는 복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출하는 카메라 보정부, 상기 투영 행렬에 기초하여 상기 복수의 카메라로부터 촬영된 입력 영상의 복수의 2차원 마커 좌표를 복수의 3차원 마커 좌표로 변환하는 좌표 변환부, 상기 복수의 3차원 마커 좌표 중 유클리드 거리가 소정의 범위 내에 포함되는 마커 좌표를 그룹핑하여 복수의 강체 그룹으로 분류하는 강체 분류부, 상기 복수의 강체 그룹 각각에 대한 중심 좌표에 기초하여 복수의 강체 그룹의 이동 궤적을 산출하는 궤적 산출부, 그리고 상기 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출하는 경보부를 포함한다. Position tracking device according to an embodiment of the present invention is a camera correction unit for calculating a projection matrix for each of a plurality of cameras based on the internal and external variables of the plurality of cameras, taken from the plurality of cameras based on the projection matrix A plurality of rigid body groups by grouping a plurality of two-dimensional marker coordinates of the input image into a plurality of three-dimensional marker coordinates, grouping the marker coordinates in which a Euclidean distance is included within a predetermined range among the plurality of three-dimensional marker coordinates Rigid body classifying unit, a trajectory calculating unit for calculating a movement trajectory of a plurality of rigid body groups based on center coordinates for each of the plurality of rigid body groups, and collision and departure between a plurality of rigid body groups based on the moving trajectory And an alarm unit for determining whether or not to send an alarm.

상기 카메라 보정부는, 체스 보드를 촬영한 복수의 제1 교정 영상을 이용하여 복수의 카메라 각각에 대한 내부 변수를 추정하고, 복수의 제1 마커가 부착된 보정용 봉을 촬영한 복수의 제2 교정 영상으로부터 상기 복수의 제1 마커의 2차원 좌표값을 산출하고, 상기 복수의 제2 교정 영상에 기초하여 복수의 카메라 각각에 대한 외부 변수를 추정하고, 상기 내부 변수 및 외부 변수에 기초하여 복수의 후보 투영 행렬을 산출하고, 상기 복수의 후보 투영 행렬에 기초하여 상기 복수의 제1 마커의 2차원 좌표값을 상기 복수의 제1 마커의 3차원 좌표값으로 변환하고, 상기 복수의 제1 마커의 2차원 좌표값 및 3차원 좌표값과 상기 복수의 후보 투영 행렬에 기초하여 상기 투영 행렬을 산출할 수 있다. The camera correcting unit estimates internal variables for each of the plurality of cameras by using a plurality of first correction images photographed on a chess board, and a plurality of second correction images photographing correction rods with a plurality of first markers attached thereto. Calculates two-dimensional coordinate values of the plurality of first markers, estimates external variables for each of the plurality of cameras based on the plurality of second calibration images, and multiple candidates based on the internal variables and external variables Calculate a projection matrix, convert the two-dimensional coordinate values of the plurality of first markers to three-dimensional coordinate values of the plurality of first markers based on the plurality of candidate projection matrices, and convert the two of the plurality of first markers The projection matrix may be calculated based on a dimensional coordinate value and a 3D coordinate value and the plurality of candidate projection matrices.

상기 카메라 보정부는, 임계치 이하의 밝기 정보를 제거하여 상기 복수의 제2 교정 영상을 보정하고, 보정된 상기 복수의 제2 교정 영상으로부터 에지 정보를 추출하여 복수의 에지 영상을 생성하고, 상기 복수의 에지 영상에 기초하여 원 형상을 추정하고, 상기 추정된 원 형상의 중심 좌표를 상기 복수의 제1 마커의 좌표로 산출하고, 상기 복수의 제1 마커의 좌표 중 직선 상에 배치된 제1 반사마커의 좌표를 그룹핑하여 제1 마커 정렬 정보를 생성할 수 있다. The camera corrector corrects the plurality of second corrected images by removing brightness information below a threshold, generates edge images by extracting edge information from the corrected plurality of second corrected images, and generates the plurality of edge images. A circle shape is estimated based on an edge image, the center coordinates of the estimated circle shape are calculated as coordinates of the plurality of first markers, and a first reflection marker disposed on a straight line among coordinates of the plurality of first markers The first marker alignment information may be generated by grouping the coordinates of.

상기 카메라 보정부는, 복수의 카메라 중 제1 카메라에 의해 촬영된 제2 교정 영상의 제1 픽셀 좌표와 상기 제1 픽셀 좌표에 대응하는 제2 카메라에 의해 촬영된 제2 교정 영상의 제2 픽셀 좌표에 기초하여 상기 제1 카메라와 상기 제2 카메라에 의해 촬영된 2개의 교정 영상 사이의 관계인 기본 행렬을 산출하고, 상기 제1 카메라의 내부 변수, 상기 제2 카메라의 내부 변수, 및 상기 기본 행렬에 기초하여 카메라의 위치 및 자세 정보를 나타내는 필수 행렬을 산출하고, 상기 필수 행렬에 기초하여 상기 복수의 카메라의 외부 변수를 나타내는 회전 행렬 및 병진 벡터를 산출할 수 있다. The camera correction unit may include first pixel coordinates of a second calibration image taken by a first camera among a plurality of cameras, and second pixel coordinates of a second calibration image taken by a second camera corresponding to the first pixel coordinates. Based on the first matrix and calculates a basic matrix that is a relationship between the two correction images taken by the second camera, the internal parameters of the first camera, the internal variables of the second camera, and the basic matrix Based on the essential matrix, an essential matrix representing position and posture information of the camera may be calculated, and a rotation matrix and a translation vector representing external variables of the plurality of cameras may be calculated based on the essential matrix.

상기 카메라 보정부는, 상기 제2 교정 영상의 제1 마커의 2차원 좌표값과 상기 복수의 후보 투영 행렬 및 상기 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보에 기초하여 상기 투영 행렬을 산출할 수 있다. The camera correcting unit, based on the distance information between the two-dimensional coordinate values of the first marker of the second correction image and the plurality of candidate projection matrices and the two-dimensional coordinate values calculated through the three-dimensional coordinates of the first marker The projection matrix can be calculated.

상기 궤적 산출부는, 제1 시점에서의 강체 그룹의 중심 좌표와 상기 제1 시점보다 늦은 제2 시점에서 상기 강체 그룹의 중심좌표를 이용하여 상기 제1 시점과 상기 제2 시점에서 강체 그룹의 상관관계를 나타내는 공분산 행렬을 산출하고, 상기 공분산 행렬을 특이값 분해하여 회전 행렬을 산출하고, 상기 회전 행렬을 이용하여 상기 강체 그룹의 이동 궤적을 산출할 수 있다. The trajectory calculating unit uses the center coordinates of the rigid body group at the first time point and the central coordinates of the rigid body group at the second time point later than the first time point to correlate the rigid body group at the first time point and the second time point. A covariance matrix denoting is calculated, and the covariance matrix is singularly decomposed to calculate a rotation matrix, and the moving trajectory of the rigid group can be calculated using the rotation matrix.

본 발명의 실시예에 따른 위치 추적 방법은 복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출하는 단계, 상기 투영 행렬에 기초하여 상기 복수의 카메라로부터 촬영된 입력 영상의 복수의 2차원 마커 좌표를 복수의 3차원 마커 좌표로 변환하는 단계, 상기 복수의 3차원 마커 좌표 중 유클리드 거리가 소정의 범위 내에 포함되는 마커 좌표를 그룹핑하여 복수의 강체 그룹으로 분류하는 단계, 상기 복수의 강체 그룹 각각에 대한 중심 좌표에 기초하여 복수의 강체 그룹의 이동 궤적을 산출하는 단계, 그리고 상기 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출하는 단계를 포함한다. The method for tracking a location according to an embodiment of the present invention includes calculating a projection matrix for each of a plurality of cameras based on internal and external variables of a plurality of cameras, and input taken from the plurality of cameras based on the projection matrix Converting a plurality of two-dimensional marker coordinates of an image into a plurality of three-dimensional marker coordinates, and grouping marker coordinates having a Euclidean distance within a predetermined range among the plurality of three-dimensional marker coordinates to classify them into a plurality of rigid body groups. , Calculating a movement trajectory of the plurality of rigid groups based on the center coordinates for each of the plurality of rigid groups, and determining whether a collision or departure between the plurality of rigid groups based on the movement trajectory and sending an alarm Steps.

상기 투영 행렬을 산출하는 단계는, 체스 보드를 촬영한 복수의 제1 교정 영상을 이용하여 복수의 카메라 각각에 대한 내부 변수를 추정하는 단계, 복수의 제1 마커가 부착된 보정용 봉을 촬영한 복수의 제2 교정 영상으로부터 상기 복수의 제1 마커의 2차원 좌표값을 산출하는 단계, 상기 복수의 제2 교정 영상에 기초하여 복수의 카메라 각각에 대한 외부 변수를 추정하는 단계, 상기 내부 변수 및 외부 변수에 기초하여 복수의 후보 투영 행렬을 산출하는 단계, 상기 복수의 후보 투영 행렬에 기초하여 상기 복수의 제1 마커의 2차원 좌표값을 상기 복수의 제1 마커의 3차원 좌표값으로 변환하는 단계, 그리고 상기 복수의 제1 마커의 2차원 좌표값 및 3차원 좌표값과 상기 복수의 후보 투영 행렬에 기초하여 상기 투영 행렬을 산출하는 단계를 포함할 수 있다. The calculating of the projection matrix may include estimating internal variables for each of a plurality of cameras by using a plurality of first corrected images photographed on a chess board, and a plurality of photographing correction rods attached with a plurality of first markers. Calculating two-dimensional coordinate values of the plurality of first markers from the second calibration image, estimating external variables for each of the plurality of cameras based on the plurality of second calibration images, the internal variable and the external Calculating a plurality of candidate projection matrices based on variables, and converting two-dimensional coordinate values of the plurality of first markers to three-dimensional coordinate values of the plurality of first markers based on the plurality of candidate projection matrices. And calculating the projection matrix based on two-dimensional coordinate values and three-dimensional coordinate values of the plurality of first markers and the plurality of candidate projection matrices.

상기 복수의 제1 마커의 2차원 좌표값을 산출하는 단계는, 임계치 이하의 밝기 정보를 제거하여 상기 복수의 제2 교정 영상을 보정하는 단계, 보정된 상기 복수의 제2 교정 영상으로부터 에지 정보를 추출하여 복수의 에지 영상을 생성하는 단계, 상기 복수의 에지 영상에 기초하여 원 형상을 추정하는 단계, 상기 추정된 원 형상의 중심 좌표를 상기 복수의 제1 마커의 좌표로 산출하는 단계, 그리고 상기 복수의 제1 마커의 좌표 중 직선 상에 배치된 제1 반사마커의 좌표를 그룹핑하여 제1 마커 정렬 정보를 생성하는 단계를 포함할 수 있다. The calculating of the 2D coordinate values of the plurality of first markers may include correcting the plurality of second correction images by removing brightness information below a threshold, and extracting edge information from the corrected plurality of second correction images. Extracting and generating a plurality of edge images, estimating a circle shape based on the plurality of edge images, calculating a center coordinate of the estimated circle shape as coordinates of the plurality of first markers, and the The method may include generating first marker alignment information by grouping coordinates of a first reflective marker disposed on a straight line among coordinates of a plurality of first markers.

상기 외부 변수를 추정하는 단계는, 복수의 카메라 중 제1 카메라에 의해 촬영된 제2 교정 영상의 제1 픽셀 좌표와 상기 제1 픽셀 좌표에 대응하는 제2 카메라에 의해 촬영된 제2 교정 영상의 제2 픽셀 좌표에 기초하여 상기 제1 카메라와 상기 제2 카메라에 의해 촬영된 2개의 교정 영상 사이의 관계인 기본 행렬을 산출하는 단계, 상기 제1 카메라의 내부 변수, 상기 제2 카메라의 내부 변수, 및 상기 기본 행렬에 기초하여 카메라의 위치 및 자세 정보를 나타내는 필수 행렬을 산출하는 단계, 그리고 상기 필수 행렬에 기초하여 상기 복수의 카메라의 외부 변수를 나타내는 회전 행렬 및 병진 벡터를 산출하는 단계를 포함할 수 있다. The estimating of the external variable may include first pixel coordinates of a second calibration image captured by a first camera among a plurality of cameras, and second second calibration images captured by a second camera corresponding to the first pixel coordinates. Calculating a basic matrix that is a relationship between the first camera and two corrected images photographed by the second camera based on second pixel coordinates, internal variables of the first camera, internal variables of the second camera, And calculating essential matrices representing camera position and posture information based on the basic matrix, and calculating rotation matrices and translation vectors representing external variables of the plurality of cameras based on the essential matrices. Can be.

상기 복수의 후보 투영 행렬에 기초하여 상기 투영 행렬을 산출하는 단계는, 상기 제2 교정 영상의 제1 마커의 2차원 좌표값과 상기 복수의 후보 투영 행렬 및 상기 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보에 기초하여 상기 투영 행렬을 산출할 수 있다. The calculating of the projection matrix based on the plurality of candidate projection matrices may include a two-dimensional coordinate value of the first marker of the second calibration image, three-dimensional coordinates of the plurality of candidate projection matrices, and the first marker. The projection matrix may be calculated based on the distance information between the calculated two-dimensional coordinate values.

상기 복수의 강체 그룹의 이동 궤적을 산출하는 단계는, 제1 시점에서의 강체 그룹의 중심 좌표와 상기 제1 시점보다 늦은 제2 시점에서 상기 강체 그룹의 중심좌표를 이용하여 상기 제1 시점과 상기 제2 시점에서 강체 그룹의 상관관계를 나타내는 공분산 행렬을 산출하는 단계, 상기 공분산 행렬을 특이값 분해하여 회전 행렬을 산출하는 단계, 그리고 상기 회전 행렬을 이용하여 상기 강체 그룹의 이동 궤적을 산출하는 단계를 포함할 수 있다. The calculating of the movement trajectories of the plurality of rigid body groups may include using the first coordinates of the rigid body group at a first time point and the central coordinates of the rigid body group at a second time point later than the first time point. Calculating a covariance matrix representing a correlation of a rigid body group at a second time point, decomposing the covariance matrix into singular values, calculating a rotation matrix, and calculating a moving trajectory of the rigid group using the rotation matrix It may include.

실시 예에 따르면, 마커의 3차원 좌표를 정확히 산출할 수 있다. According to an embodiment, the three-dimensional coordinates of the marker can be accurately calculated.

VR/AR 등의 콘텐츠 이용시 마커의 3차원 좌표 정보를 통해 다수 사용자간 충돌을 방지할 수 있다. When using content such as VR/AR, collision between multiple users can be prevented through 3D coordinate information of a marker.

VR/AR 등의 콘텐츠 이용시 마커의 3차원 좌표 정보를 통해 사용자의 경로 이탈을 경보할 수 있다. When using content such as VR/AR, a user's path deviation can be alerted through 3D coordinate information of a marker.

본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.Various and beneficial advantages and effects of the present invention are not limited to the above, and will be more easily understood in the course of describing specific embodiments of the present invention.

도 1은 본 발명의 실시예에 따른 광학식 위치 트래킹 시스템의 개념도이다.
도 2는 본 발명의 실시예에 따른 위치 추적 장치의 구성도이다.
도 3은 본 발명의 실시예에 따른 위치 추적 방법의 순서도이다.
도 4는 도 3의 S310 단계를 상세하게 나타낸 순서도이다.
도 5는 본 발명의 실시예에 따른 카메라 보정 과정에 대한 개념도이고, 도 6은 본 발명의 실시예에 따른 카메라 보정 과정을 개략적으로 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 보정용 봉의 예시 도면이다.
도 8은 본 발명의 실시예에 따른 제1 마커의 좌표를 도시한 도면이다.
도 9는 도 3의 S320 내지 360 단계를 상세하게 설명하기 위한 도면이다.
1 is a conceptual diagram of an optical position tracking system according to an embodiment of the present invention.
2 is a block diagram of a location tracking device according to an embodiment of the present invention.
3 is a flowchart of a location tracking method according to an embodiment of the present invention.
4 is a flowchart illustrating in detail step S310 of FIG. 3.
5 is a conceptual diagram for a camera calibration process according to an embodiment of the present invention, and FIG. 6 is a diagram schematically showing a camera calibration process according to an embodiment of the present invention.
7 is an exemplary view of a correction rod according to an embodiment of the present invention.
8 is a view showing coordinates of a first marker according to an embodiment of the present invention.
9 is a view for explaining in detail steps S320 to 360 of FIG. 3.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. The present invention can be applied to various changes and can have various embodiments, and specific embodiments will be illustrated and described in the drawings. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

제2, 제1 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms including ordinal numbers such as second and first may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from other components. For example, the second component may be referred to as a first component without departing from the scope of the present invention, and similarly, the first component may also be referred to as a second component. The term and/or includes a combination of a plurality of related described items or any one of a plurality of related described items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When an element is said to be "connected" or "connected" to another component, it is understood that other components may be directly connected to or connected to the other component, but there may be other components in between. It should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that no other component exists in the middle.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, terms such as “include” or “have” are intended to indicate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.

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

이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings, but the same or corresponding components are assigned the same reference numbers regardless of reference numerals, and redundant descriptions thereof will be omitted.

도 1은 본 발명의 실시예에 따른 광학식 위치 트래킹 시스템의 개념도이다. 1 is a conceptual diagram of an optical position tracking system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 실시예에 따른 광학식 위치 트래킹 시스템은 소정의 공간 내에 설치된 복수의 카메라 및 복수의 카메라로부터 촬영된 영상을 수신하여 카메라 보정 및 사용자의 충돌/이탈에 관한 경보를 송출하는 위치 추적 장치(100)를 포함할 수 있다. Referring to FIG. 1, the optical position tracking system according to an embodiment of the present invention receives a plurality of cameras installed in a predetermined space and images photographed from a plurality of cameras, and transmits an alert regarding camera correction and user collision/deviation. It may include a location tracking device 100.

복수의 카메라는 소정의 공간 내에 이격되어 설치될 수 있다. 복수의 카메라는 공간의 외곽을 따라 배치될 수 있으며, 공간을 바라보도록 배치될 수 있다. 복수의 카메라는 각각의 배치 위치에서 공간을 촬영하여 영상을 생성할 수 있다. 생성된 영상은 유선 또는 무선 통신망을 통해 위치 추적 장치(100)로 전송될 수 있다. The plurality of cameras may be installed spaced apart in a predetermined space. A plurality of cameras may be arranged along the outer periphery of the space, and may be arranged to face the space. A plurality of cameras may generate an image by photographing a space at each placement position. The generated image may be transmitted to the location tracking device 100 through a wired or wireless communication network.

위치 추적 장치(100)는 수신된 영상을 통해 복수의 카메라를 보정할 수 있다. 위치 추적 장치(100)는 제1 교정 영상을 통해 복수의 카메라의 내부 변수를 추정할 수 있다. 또한 위치 추적 장치(100)는 제2 교정 영상을 통해 복수의 카메라의 외부 변수를 추정할 수 있다. 복수의 카메라의 내부 변수 및 외부 변수를 통해 복수의 카메라 사이의 기하학적 관계 등을 계산하여 카메라 보정을 수행한다. The location tracking device 100 may correct a plurality of cameras through the received image. The location tracking device 100 may estimate internal variables of the plurality of cameras through the first calibration image. In addition, the location tracking device 100 may estimate external variables of the plurality of cameras through the second calibration image. Camera calibration is performed by calculating geometrical relationships between a plurality of cameras through internal and external variables of the plurality of cameras.

위치 추적 장치(100)는 마커가 부착된 대상을 촬영한 영상을 통해 대상의 이동 궤적을 추적한다. 위치 추적 장치(100)는 이동 궤적을 통해 복수의 대상 간 충돌 및 이탈 여부를 판단하여 경보를 송출한다. The location tracking device 100 tracks the movement trajectory of the object through an image of the object to which the marker is attached. The location tracking device 100 determines whether a collision or departure between a plurality of objects is performed through a movement trajectory and transmits an alarm.

위치 추적 장치(100)는 데이터를 저장하고 처리하기 위한 프로세서, 램 및 저장 장치 등을 포함할 수 있다. 예를 들어, 위치 추적 장치(100)는 PC(personal computer)나 서버 등으로 구현될 수 있다. The location tracking device 100 may include a processor, RAM, and storage device for storing and processing data. For example, the location tracking device 100 may be implemented as a personal computer (PC) or a server.

도 2는 본 발명의 실시예에 따른 위치 추적 장치의 구성도이다. 2 is a block diagram of a location tracking device according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 실시예에 따른 위치 추적 장치(100)는 카메라 보정부(110), 좌표 변환부(120), 강체 분류부(130), 궤적 산출부(140) 및 경보부(150)를 포함할 수 있다. Referring to FIG. 2, the position tracking device 100 according to an embodiment of the present invention includes a camera correction unit 110, a coordinate conversion unit 120, a rigid body classification unit 130, a trajectory calculation unit 140, and an alarm unit ( 150).

카메라 보정부(110)는 복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출한다. The camera compensator 110 calculates a projection matrix for each of the plurality of cameras based on the internal and external variables of the plurality of cameras.

구체적으로, 카메라 보정부(110)는 체스 보드를 촬영한 복수의 제1 교정 영상을 이용하여 복수의 카메라 각각에 대한 내부 변수를 추정할 수 있다. 카메라 보정부(110)는 복수의 제1 마커가 부착된 보정용 봉을 촬영한 복수의 제2 교정 영상으로부터 복수의 제1 마커의 2차원 좌표값을 산출할 수 있다. 카메라 보정부(110)는 복수의 제2 교정 영상에 기초하여 복수의 카메라 각각에 대한 외부 변수를 추정할 수 있다. 카메라 보정부(110)는 내부 변수 및 외부 변수에 기초하여 복수의 후보 투영 행렬을 산출할 수 있다. 카메라 보정부(110)는 복수의 후보 투영 행렬에 기초하여 복수의 제1 마커의 2차원 좌표값을 복수의 제1 마커의 2차원 좌표값 및 3차원 좌표값으로 변환할 수 있다. 복수의 제1 마커의 3차원 좌표값과 복수의 후보 투영 행렬에 기초하여 투영 행렬을 산출할 수 있다. Specifically, the camera compensator 110 may estimate internal variables for each of the plurality of cameras by using a plurality of first calibration images of the chess board. The camera correction unit 110 may calculate a two-dimensional coordinate value of the plurality of first markers from the plurality of second correction images obtained by photographing the correction rod with the plurality of first markers. The camera compensator 110 may estimate external variables for each of the plurality of cameras based on the plurality of second calibration images. The camera compensator 110 may calculate a plurality of candidate projection matrices based on internal variables and external variables. The camera compensator 110 may convert the two-dimensional coordinate values of the plurality of first markers into two-dimensional and three-dimensional coordinate values of the plurality of first markers based on the plurality of candidate projection matrices. The projection matrix can be calculated based on the three-dimensional coordinate values of the plurality of first markers and the plurality of candidate projection matrices.

카메라 보정부(110)는 임계치 이하의 밝기 정보를 제거하여 복수의 제2 교정 영상을 보정할 수 있다. 카메라 보정부(110)는 보정된 복수의 제2 교정 영상으로부터 에지 정보를 추출하여 복수의 에지 영상을 생성할 수 있다. 카메라 보정부(110)는 복수의 에지 영상에 기초하여 원 형상을 추정할 수 있다. 카메라 보정부(110)는 추정된 원 형상의 중심 좌표를 복수의 제1 마커의 좌표로 산출할 수 있다. 카메라 보정부(110)는 복수의 제1 마커의 좌표 중 직선 상에 배치된 제1 마커의 좌표를 그룹핑하여 제1 마커 정렬 정보를 생성할 수 있다. The camera compensator 110 may correct a plurality of second correction images by removing brightness information below a threshold. The camera corrector 110 may extract edge information from the corrected plurality of second corrected images to generate a plurality of edge images. The camera compensator 110 may estimate a circular shape based on a plurality of edge images. The camera compensator 110 may calculate the estimated center coordinates of the circular shape as coordinates of the plurality of first markers. The camera compensator 110 may generate first marker alignment information by grouping coordinates of a first marker disposed on a straight line among coordinates of a plurality of first markers.

카메라 보정부(110)는 복수의 카메라 중 제1 카메라에 의해 촬영된 제2 교정 영상의 제1 픽셀 좌표와 제1 픽셀 좌표에 대응하는 제2 카메라에 의해 촬영된 제2 교정 영상의 제2 픽셀 좌표에 기초하여 제1 카메라와 제2 카메라에 의해 촬영된 2개의 교정 영상 사이의 관계인 기본 행렬을 산출할 수 있다. 카메라 보정부(110)는 제1 카메라의 내부 변수, 제2 카메라의 내부 변수, 및 기본 행렬에 기초하여 카메라의 위치 및 자세 정보를 나타내는 필수 행렬을 산출할 수 있다. 카메라 보정부(110)는 필수 행렬에 기초하여 복수의 카메라의 외부 변수를 나타내는 회전 행렬 및 병진 벡터를 산출할 수 있다. The camera correction unit 110 may include a first pixel coordinate of a second calibration image captured by the first camera among a plurality of cameras, and a second pixel of a second calibration image captured by the second camera corresponding to the first pixel coordinates. Based on the coordinates, a basic matrix, which is a relationship between two corrected images captured by the first camera and the second camera, can be calculated. The camera compensator 110 may calculate an essential matrix indicating the position and posture information of the camera based on the internal variables of the first camera, the internal variables of the second camera, and the basic matrix. The camera compensator 110 may calculate a rotation matrix and a translation vector representing external variables of a plurality of cameras based on the essential matrix.

카메라 보정부(110)는 제2 교정 영상의 제1 마커의 2차원 좌표값과 복수의 후보 투영 행렬 및 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보에 기초하여 투영 행렬을 산출할 수 있다. The camera correction unit 110 projects based on the distance information between the two-dimensional coordinate values of the first marker of the second calibration image and the plurality of candidate projection matrices and the two-dimensional coordinate values calculated through the three-dimensional coordinates of the first marker. You can compute the matrix.

좌표 변환부(120)는 투영 행렬에 기초하여 복수의 카메라로부터 촬영된 입력 영상의 복수의 2차원 마커 좌표를 복수의 3차원 마커 좌표로 변환한다. The coordinate conversion unit 120 converts a plurality of two-dimensional marker coordinates of an input image captured from a plurality of cameras into a plurality of three-dimensional marker coordinates based on the projection matrix.

강체 분류부(130)는 복수의 3차원 마커 좌표 중 유클리드 거리가 소정의 범위 내에 포함되는 마커 좌표를 그룹핑하여 복수의 강체 그룹으로 분류한다. The rigid body classification unit 130 groups marker coordinates in which a Euclidean distance is included within a predetermined range among a plurality of 3D marker coordinates and classifies them into a plurality of rigid body groups.

궤적 산출부(140)는 복수의 강체 그룹 각각에 대한 중심 좌표에 기초하여 복수의 강체 그룹의 이동 궤적을 산출한다. The trajectory calculating unit 140 calculates a movement trajectory of the plurality of rigid groups based on the center coordinates for each of the plurality of rigid groups.

경보부(150)는 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출한다. The alarm unit 150 determines whether a collision or departure between the plurality of rigid bodies is performed based on the movement trajectory and transmits an alarm.

궤적 산출부(140)는 제1 시점에서의 강체 그룹의 중심 좌표와 제1 시점보다 늦은 시점에서 강체 그룹의 중심좌표를 이용하여 제1 시점과 제2 시점에서 강체 그룹의 상관관계를 나타내는 공분산 행렬을 산출할 수 있다. 궤적 산출부(140)는 공분산 행렬을 특이값 분해하여 회전 행렬을 산출할 수 있다. 궤적 산출부(140)는 회전 행렬을 이용하여 강체 그룹의 이동 궤적을 산출할 수 있다. The trajectory calculating unit 140 uses the central coordinates of the rigid body group at the first time point and the central coordinates of the rigid body group at a time later than the first time point, and a covariance matrix indicating the correlation of the rigid body group at the first time point and the second time point. Can be calculated. The trajectory calculating unit 140 may calculate a rotation matrix by decomposing the covariance matrix singularly. The trajectory calculator 140 may calculate a moving trajectory of the rigid body group using a rotation matrix.

도 3은 본 발명의 실시예에 따른 위치 추적 방법의 순서도이다. 3 is a flowchart of a location tracking method according to an embodiment of the present invention.

도 3을 참조하면, 본 발명의 실시예에 따른 위치 추정 방법은 S310 내지 S360단계를 포함할 수 있다. Referring to FIG. 3, a method for estimating a location according to an embodiment of the present invention may include steps S310 to S360.

우선, 카메라 보정부(110)는 복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출한다(S310). First, the camera compensator 110 calculates a projection matrix for each of the plurality of cameras based on the internal and external variables of the plurality of cameras (S310).

다음으로, 좌표 변환부(120)는 복수의 카메라로부터 촬영된 입력 영상으로부터 복수의 2차원 마커 좌표를 산출한다(S320). Next, the coordinate converter 120 calculates a plurality of two-dimensional marker coordinates from an input image captured by a plurality of cameras (S320).

그리고, 좌표 변환부(120)는 투영 행렬에 기초하여 복수의 2차원 마커 좌표를 복수의 3차원 마커 좌표로 변환한다(S330). Then, the coordinate converter 120 converts a plurality of two-dimensional marker coordinates to a plurality of three-dimensional marker coordinates based on the projection matrix (S330).

강체 분류부(130)는 복수의 3차원 마커 좌표 중 유클리드 거리가 소정의 범위 내에 포함되는 마커 좌표를 그룹핑하여 복수의 강체 그룹으로 분류한다(S340). The rigid body classification unit 130 groups marker coordinates in which a Euclidean distance is included within a predetermined range among a plurality of 3D marker coordinates and classifies them into a plurality of rigid body groups (S340).

궤적 산출부(140)는 복수의 강체 그룹 각각에 대한 중심 좌표에 기초하여 복수의 강체 그룹의 이동 궤적을 산출한다(S350). 구체적으로, 궤적 산출부(140)는 제1 시점에서의 강체 그룹의 중심 좌표와 제1 시점보다 늦은 시점에서 강체 그룹의 중심좌표를 이용하여 제1 시점과 제2 시점에서 강체 그룹의 상관관계를 나타내는 공분산 행렬을 산출할 수 있다. 궤적 산출부(140)는 공분산 행렬을 특이값 분해하여 회전 행렬을 산출할 수 있다. 궤적 산출부(140)는 회전 행렬을 이용하여 강체 그룹의 이동 궤적을 산출할 수 있다.The trajectory calculating unit 140 calculates a moving trajectory of the plurality of rigid groups based on the center coordinates for each of the plurality of rigid groups (S350). Specifically, the trajectory calculating unit 140 uses the central coordinates of the rigid body group at the first time point and the central coordinates of the rigid body group at a time later than the first time point to correlate the rigid body group at the first time point and the second time point. The indicated covariance matrix can be calculated. The trajectory calculating unit 140 may calculate a rotation matrix by decomposing the covariance matrix singularly. The trajectory calculator 140 may calculate a moving trajectory of the rigid body group using a rotation matrix.

경보부(150)는 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출한다(S360). The alarm unit 150 determines whether a collision or departure between the plurality of rigid groups is performed based on the movement trajectory and transmits an alarm (S360).

도 4는 도 3의 S310 단계를 상세하게 나타낸 순서도이다. 4 is a flowchart illustrating in detail step S310 of FIG. 3.

카메라 보정부(110)는 체스 보드를 촬영한 복수의 제1 교정 영상을 이용하여 복수의 카메라 각각에 대한 내부 변수를 추정한다(S311). The camera compensator 110 estimates internal variables for each of the plurality of cameras by using a plurality of first calibration images of the chess board (S311 ).

카메라 보정부(110)는 복수의 제1 마커가 부착된 보정용 봉을 촬영한 복수의 제2 교정 영상으로부터 복수의 제1 마커의 2차원 좌표값을 산출할 수 있다(S312).The camera compensator 110 may calculate a two-dimensional coordinate value of the plurality of first markers from a plurality of second calibration images obtained by photographing a correction rod with a plurality of first markers (S312 ).

카메라 보정부(110)는 임계치 이하의 밝기 정보를 제거하여 복수의 제2 교정 영상을 보정할 수 있다(S313). 구체적으로, 카메라 보정부(110)는 보정된 복수의 제2 교정 영상으로부터 에지 정보를 추출하여 복수의 에지 영상을 생성할 수 있다. 그 후, 카메라 보정부(110)는 복수의 에지 영상에 기초하여 원 형상을 추정할 수 있다. 그리고, 카메라 보정부(110)는 추정된 원 형상의 중심 좌표를 복수의 제1 마커의 좌표로 산출할 수 있다. 카메라 보정부(110)는 복수의 제1 마커의 좌표 중 직선 상에 배치된 제1 마커의 좌표를 그룹핑하여 제1 마커 정렬 정보를 생성할 수 있다.The camera compensator 110 may correct a plurality of second correction images by removing brightness information below a threshold (S313). Specifically, the camera corrector 110 may extract edge information from the corrected plurality of second corrected images to generate a plurality of edge images. Thereafter, the camera correction unit 110 may estimate the circular shape based on the plurality of edge images. Then, the camera correction unit 110 may calculate the estimated center coordinates of the circular shape as the coordinates of the plurality of first markers. The camera compensator 110 may generate first marker alignment information by grouping coordinates of a first marker disposed on a straight line among coordinates of a plurality of first markers.

카메라 보정부(110)는 복수의 제2 교정 영상에 기초하여 복수의 카메라 각각에 대한 외부 변수를 추정할 수 있다(S314). 구체적으로, 카메라 보정부(110)는 복수의 카메라 중 제1 카메라에 의해 촬영된 제2 교정 영상의 제1 픽셀 좌표와 제1 픽셀 좌표에 대응하는 제2 카메라에 의해 촬영된 제2 교정 영상의 제2 픽셀 좌표에 기초하여 제1 카메라와 제2 카메라에 의해 촬영된 2개의 교정 영상 사이의 관계인 기본 행렬을 산출할 수 있다. 카메라 보정부(110)는 제1 카메라의 내부 변수, 제2 카메라의 내부 변수, 및 기본 행렬에 기초하여 카메라의 위치 및 자세 정보를 나타내는 필수 행렬을 산출할 수 있다. 카메라 보정부(110)는 필수 행렬에 기초하여 복수의 카메라의 외부 변수를 나타내는 회전 행렬 및 병진 벡터를 산출할 수 있다.The camera correction unit 110 may estimate external variables for each of the plurality of cameras based on the plurality of second correction images (S314 ). Specifically, the camera correction unit 110 may include a first pixel coordinate of a second calibration image captured by the first camera among a plurality of cameras and a second calibration image captured by the second camera corresponding to the first pixel coordinates. Based on the second pixel coordinates, a basic matrix that is a relationship between two corrected images captured by the first camera and the second camera may be calculated. The camera compensator 110 may calculate an essential matrix indicating the position and posture information of the camera based on the internal variables of the first camera, the internal variables of the second camera, and the basic matrix. The camera compensator 110 may calculate a rotation matrix and a translation vector representing external variables of a plurality of cameras based on the essential matrix.

카메라 보정부(110)는 내부 변수 및 외부 변수에 기초하여 복수의 후보 투영 행렬을 산출할 수 있다(S315). The camera compensator 110 may calculate a plurality of candidate projection matrices based on internal variables and external variables (S315 ).

카메라 보정부(110)는 복수의 후보 투영 행렬에 기초하여 복수의 제1 마커의 2차원 좌표값을 복수의 제1 마커의 3차원 좌표값으로 변환한다(S316). The camera correction unit 110 converts the two-dimensional coordinate values of the plurality of first markers to the three-dimensional coordinate values of the plurality of first markers based on the plurality of candidate projection matrices (S316 ).

카메라 보정부(110)는 복수의 제1 마커의 2차원 좌표값 및 3차원 좌표값과 복수의 후보 투영 행렬에 기초하여 투영 행렬을 산출할 수 있다(S317). 구체적으로, 카메라 보정부(110)는 제2 교정 영상의 제1 마커의 2차원 좌표값과 복수의 후보 투영 행렬 및 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보에 기초하여 투영 행렬을 산출할 수 있다. The camera corrector 110 may calculate a projection matrix based on the two-dimensional coordinate values and the three-dimensional coordinate values of the plurality of first markers and the plurality of candidate projection matrices (S317 ). Specifically, the camera correction unit 110 is used for distance information between the two-dimensional coordinate values of the first marker of the second calibration image and the two-dimensional coordinate values calculated through the plurality of candidate projection matrices and the three-dimensional coordinates of the first marker. Based on this, the projection matrix can be calculated.

이하에서는 도 5 내지 도 8을 통해 S310 단계를 상세하게 살펴보도록 한다. Hereinafter, steps S310 will be described in detail with reference to FIGS. 5 to 8.

도 5는 본 발명의 실시예에 따른 카메라 보정 과정에 대한 개념도이고, 도 6은 본 발명의 실시예에 따른 카메라 보정 과정을 개략적으로 나타낸 도면이다. 5 is a conceptual diagram for a camera calibration process according to an embodiment of the present invention, and FIG. 6 is a diagram schematically showing a camera calibration process according to an embodiment of the present invention.

본 발명의 실시예에 따르면, 카메라 보정부(110)는 복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출한다. According to an embodiment of the present invention, the camera compensator 110 calculates a projection matrix for each of a plurality of cameras based on internal and external variables of the plurality of cameras.

카메라 내부 변수를 추정하기 위하여, 카메라 보정부(110)는 제1 교정 영상을 수신한다. 여기서, 제1 교정 영상은 도 5의 (a)와 같은 소정의 공간 내에 복수의 카메라가 설치된 시점에서 체스보드를 촬영한 영상을 의미할 수 있다. 복수의 카메라가 설치된 시점은 카메라 설치 후 카메라 보정 과정이 진행되지 않은 시점을 의미할 수 있다. In order to estimate the camera internal variables, the camera correction unit 110 receives the first calibration image. Here, the first calibration image may refer to an image of a chess board taken when a plurality of cameras are installed in a predetermined space as shown in FIG. 5(a). When multiple cameras are installed, the camera calibration process may not be performed after the camera is installed.

카메라 보정부(110)는 제1 교정 영상을 통해 카메라의 내부 변수를 추정할 수 있다. 카메라 보정부(110)는 영상 내 체스 보드의 코너 점 좌표를 이용하여 카메라의 내부 변수를 추정할 수 있다. 카메라의 내부 변수는 카메라의 초점 거리(focal length), 주점(principle point), 기울어짐(skew) 등을 포함할 수 있다. 카메라의 내부 변수는 복수의 카메라 각각에 대해 추정될 수 있다.The camera compensator 110 may estimate an internal variable of the camera through the first calibration image. The camera compensator 110 may estimate an internal variable of the camera using coordinates of corner points of the chess board in the image. The internal parameters of the camera may include the focal length, principal point, and skew of the camera. The camera's internal variables can be estimated for each of a plurality of cameras.

카메라 보정부(110)는 제2 교정 영상을 수신할 수 있다. 제2 교정 영상은 도 5의 (a)와 같은 소정의 공간 내에 복수의 카메라가 설치된 시점에서 보정용 봉을 촬영한 영상을 의미할 수 있다. 여기서, 보정용 봉은 복수의 제1 마커가 부착될 수 있다. 도 7은 본 발명의 실시예에 따른 보정용 봉의 예시 도면이다. 도 7에서와 같이, 보정용 봉은 T자 형태의 프레임에 3개의 제1 마커(A, B, C)가 부착된 형태일 수 있다. 보정용 봉은 도 5의 (b)와 같이 고정의 공간 내에서 무작위로 움직이며 복수의 카메라는 이를 촬영함으로써 제2 교정 영상을 생성할 수 있다. The camera correction unit 110 may receive a second correction image. The second calibration image may mean an image obtained by photographing a correction rod when a plurality of cameras are installed in a predetermined space as shown in FIG. 5(a). Here, a plurality of first markers may be attached to the correction rod. 7 is an exemplary view of a correction rod according to an embodiment of the present invention. As shown in FIG. 7, the correction rod may have a shape in which three first markers A, B, and C are attached to a T-shaped frame. The correction rod moves randomly within a fixed space as shown in FIG. 5(b), and a plurality of cameras can generate a second correction image by photographing it.

카메라 보정부(110)는 제2 교정 영상으로부터 마커의 2차원 좌표를 산출한다. 카메라 보정부(110)는 잡음을 제거하기 위하여 제2 교정 영상에서 임계치 이하의 밝기 정보를 제거한다. 카메라 보정부(110)는 제2 교정 영상에서 에지 정보를 추출하여 에지 영상을 생성한다. 제1 마커는 구 형상이나 2차원 상에서는 원 형상으로 나타나게 되므로, 카메라 보정부(110)는 에지 영상으로부터 원 형상을 추정함으로써 제1 마커에 대한 형상을 추정한다. 카메라 보정부(110)는 원적합법(circle fitting)을 통해 원 형상을 추정할 수 있으며, 원 형상의 모델은 아래의 수학식 1과 같이 나타낼 수 있다. The camera correction unit 110 calculates the two-dimensional coordinates of the marker from the second calibration image. The camera correction unit 110 removes brightness information below a threshold from the second calibration image to remove noise. The camera correction unit 110 extracts edge information from the second calibration image to generate an edge image. Since the first marker appears in a spherical shape or a circular shape in two dimensions, the camera correction unit 110 estimates the shape for the first marker by estimating the circular shape from the edge image. The camera compensator 110 may estimate a circular shape through a circle fitting method, and the model of the circular shape may be expressed as Equation 1 below.

Figure pat00001
Figure pat00001

카메라 보정부(110)는 추정된 원 형상으로부터 각 원 형상의 중심 좌표를 산출한다. 각 원 형상의 중심 좌표는 제1 마커의 좌표가 된다. The camera correction unit 110 calculates the center coordinates of each circle shape from the estimated circle shape. The center coordinate of each circle shape becomes the coordinate of the first marker.

도 8은 본 발명의 실시예에 따른 제1 마커의 좌표를 도시한 도면이다. 8 is a view showing coordinates of a first marker according to an embodiment of the present invention.

제2 교정 영상의 각 프레임별로 제1 마커의 좌표를 산출하여 배치하면, 도 8에서와 같이 무작위로 배치될 수 있다. 따라서, 제1 마커의 좌표를 정렬할 필요가 있다. 카메라 보정부(110)는 복수의 제1 마커의 좌표 중 2개를 임의로 선택하고 선택된 2개의 좌표와 직선상에 배치된 제1 마커의 좌표가 존재하는지를 판단하는 과정을 반복한다. 직선상에 배치된 제1 마커의 좌표가 존재하면, 선택된 2개의 좌표와 함께 하나의 그룹으로 그룹핑함으로써 제1 마커 정렬 정보를 생성한다. If the coordinates of the first marker are calculated and arranged for each frame of the second calibration image, it may be randomly arranged as in FIG. 8. Therefore, it is necessary to align the coordinates of the first marker. The camera compensator 110 repeats a process of randomly selecting two of a plurality of first marker coordinates and determining whether there are two selected coordinates and a coordinate of the first marker disposed on a straight line. When the coordinates of the first markers arranged on the straight line exist, the first marker alignment information is generated by grouping the two selected coordinates into one group.

카메라 보정부(110)는 제2 교정 영상을 통해 카메라의 외부 변수를 추정한다. 카메라의 촬영 영상은 3차원 공간상의 점들을 카메라에 대응하는 2차원 영상 평면에 투사함으로서 생성될 수 있다. 3차원 공간상의 점을 2차원 영상 평면(image plane) 상의 점으로 변환하기 위한 카메라 모델은 아래의 수학식 2와 같이 나타낼 수 있다. The camera correction unit 110 estimates an external variable of the camera through the second calibration image. The photographed image of the camera may be generated by projecting points on a 3D space onto a 2D image plane corresponding to the camera. A camera model for converting a point on a 3D space into a point on a 2D image plane can be expressed as Equation 2 below.

Figure pat00002
Figure pat00002

여기서, X=(X,Y,Z,1)T으로서 3차원 공간상의 점을 의미하고, P는 투영행렬(projection matrix)를 의미하고, u=(u,v,1)T로서 2차원 영상 평면 상의 점을 의미한다. 해당 모델은 3차원 공간상의 점 X는 2차원 영상 평면 상의 점 u와 선형 관계(Direct linear transformation)가 있음을 가정한다. Here, X=(X,Y,Z,1) T means a point in three-dimensional space, P means a projection matrix, and u=(u,v,1) T means a two-dimensional image. It means a point on a plane. The model assumes that the point X in the 3D space has a direct linear transformation with the point u on the 2D image plane.

투영 행렬은 카메라의 내부 변수와 외부 변수를 포함할 수 있다. 이러한 투영 행렬은 아래의 수학식 3을 통해 나타낼 수 있다. The projection matrix can include internal and external variables of the camera. This projection matrix can be expressed by Equation 3 below.

Figure pat00003
Figure pat00003

여기서, K는 카메라 내부 변수를 의미하고, [R|t]는 카메라의 회전(R) 및 이동 성분(t)을 포함하는 카메라 외부 변수를 의미한다. Here, K means an internal variable of the camera, and [R|t] means an external variable of the camera including the rotation (R) and the movement component (t) of the camera.

카메라 내부 변수(K)는 아래의 수학식 4를 통해 나타낼 수 있다. The camera internal variable K can be expressed through Equation 4 below.

Figure pat00004
Figure pat00004

여기서, fx는 및 fy는 영상의 x축 및 y축 방향으로의 초점 거리를 의미하고, cx 및 cy는 영상에서 주점(principal point)의 x축 값 및 y축 값을 의미한다.Here, f x and f y denote focal lengths in the x-axis and y-axis directions of the image, and c x and c y denote the x-axis value and the y-axis value of the principal point in the image.

카메라 보정부(110)는 투영 행렬 산출에 이용되는 카메라의 외부 변수를 산출하기 위하여 기본 행렬 및 필수 행렬을 산출한다. The camera compensator 110 calculates a basic matrix and an essential matrix to calculate external variables of the camera used for calculating the projection matrix.

필수 행렬은 카메라의 위치 및 자세 정보를 의미하며, 좌표 p와 p' 사이의 기하학적인 관계를 만족하는 행렬을 의미할 수 있다. 좌표 p와 p'은 3차원 좌표계 상의 점이 이상적인 영상 평면(Image Plane) A 및 B에 투영된 좌표를 의미할 수 있다. 이는 아래의 수학식 5를 통해 나타낼 수 있다. The essential matrix means camera position and posture information, and may mean a matrix that satisfies the geometrical relationship between coordinates p and p'. Coordinates p and p'may refer to coordinates in which points on a three-dimensional coordinate system are projected onto ideal image planes A and B. This can be expressed through Equation 5 below.

Figure pat00005
Figure pat00005

여기서, E는 필수 행렬을 의미하고, 3x3 행렬일 수 있다. Here, E means an essential matrix, and may be a 3x3 matrix.

필수 행렬은 두 카메라 사이의 회전 행렬과 병진 벡터를 통해 나타낼 수 있다. 이때, 병진 벡터는 3x3의 반대칭 행렬(skew-symmetric matrix)로 변환되어 이용될 수 있다. 이는 아래의 수학식 6을 통해 나타낼 수 있다. The required matrix can be represented by a rotation matrix between two cameras and a translation vector. At this time, the translation vector may be converted to a 3x3 skew-symmetric matrix and used. This can be expressed through Equation 6 below.

Figure pat00006
Figure pat00006

여기서, R은 회전 행렬을 의미하고, t는 병진 벡터를 의미한다. Here, R means a rotation matrix, and t means a translation vector.

필수 행렬은 좌표 p와 p'으로부터 카메라의 상대적인 위치 및 자세를 추정하는데 이용될 수 있다. 하지만, 실제 카메라는 다양한 물리적 오차를 포함하고 있으므로, 필수 행렬에 대한 보정이 요구된다. The essential matrix can be used to estimate the relative position and posture of the camera from coordinates p and p'. However, since the actual camera includes various physical errors, correction for the necessary matrix is required.

아래의 수학식 7은 영상 내 픽셀의 좌표와 좌표 p와의 관계를 나타낸다. Equation 7 below shows the relationship between the coordinates of the pixel in the image and the coordinate p.

Figure pat00007
Figure pat00007

여기서, pimg는 영상의 픽셀 좌표를 의미한다. Here, p img means pixel coordinates of the image.

이와 같이, 필수 행렬은 카메라의 내부 변수가 포함되지 않은 좌표계를 이용하고 있는바, 촬영 영상으로부터 카메라 사이의 물리적 관계를 나타내기 위해서는 필수 행렬에 카메라의 내부 변수를 포함된 기본 행렬이 요구된다. 기본 행렬(F)은 아래의 수학식 8과 같은 관계로 나타낼 수 있다. As described above, since the essential matrix uses a coordinate system that does not include the internal variables of the camera, a basic matrix including the internal variables of the camera is required in the essential matrix to represent the physical relationship between the cameras from the captured image. The basic matrix F can be expressed by the following equation (8).

Figure pat00008
Figure pat00008

여기서, p'img는 제1 카메라의 영상의 제1 좌표점을 의미하고, pimg는 제1 좌표점에 대응하는 제2 카메라의 영상의 제2 좌표점을 의미한다. 즉, 제1 좌표점과 제2 좌표점은 대응관계이다. Here, p'img means a first coordinate point of the image of the first camera, and pimg means a second coordinate point of the image of the second camera corresponding to the first coordinate point. That is, the first coordinate point and the second coordinate point have a correspondence relationship.

즉, 카메라 보정부(110)는 수학식 8에 기초하여 기본 행렬을 산출할 수 있다. 구체적으로, 카메라 보정부(110)는 복수의 카메라 중 기준으로 설정한 제1 카메라에 대응하는 제1 마커의 좌표와 제2 카메라에 대응하는 제1 마커의 좌표의 정보를 이용하여 각 카메라의 기본 행렬을 산출할 수 있다. That is, the camera correction unit 110 may calculate a basic matrix based on Equation (8). Specifically, the camera compensator 110 uses the information of the coordinates of the first marker corresponding to the first camera and the coordinates of the first marker corresponding to the second camera, which are set as a reference among the plurality of cameras, to determine the basicity of each camera. You can compute the matrix.

상기의 수학식을 벡터 형식으로 나타내면 아래의 수학식 9와 같이 나타낼 수 있다. When the above equation is expressed in a vector format, it can be expressed as Equation 9 below.

Figure pat00009
Figure pat00009

이를 다시 내적을 이용하여 나타내면 아래의 수학식 10으로 나타낼 수 있다. If this is expressed again using the dot product, it can be expressed by Equation 10 below.

Figure pat00010
Figure pat00010

대응점이 n개인 경우에는 아래의 수학식 11과 같이 나타낼 수 있다. When there are n correspondence points, it can be expressed as Equation 11 below.

Figure pat00011
Figure pat00011

하지만, n개의 대응점은 완전히 대응하는 것이 아니므로, 행렬 A는 역행렬이 존재하지 않은 특이행렬(singular matrix)이다. 따라서, f에 대한 자명해가 산출되는 것을 방지하기 위하여 특이값 분해(Singular Value Decomposition, SVD)를 이용하여 기본 행렬을 산출한다. 구체적으로, 행렬 A를 특이값 분해하여 산출된 특이값 중 가장 작은 특이값에 대응하는 특이 벡터(singular vector)가 기본 행렬(F)이 될 수 있다. However, since n correspondence points do not completely correspond, matrix A is a singular matrix without an inverse matrix. Therefore, a basic matrix is calculated using singular value decomposition (SVD) to prevent the self-evident solution for f from being calculated. Specifically, the singular vector corresponding to the smallest singular value among the singular values obtained by decomposing the singular value of the matrix A may be the basic matrix F.

기본 행렬은 아래의 수학식 12와 같이 필수 행렬과 두 카메라의 내부 파라미터를 통해 나타낼 수 있다. The basic matrix can be expressed through the required matrix and the internal parameters of the two cameras as shown in Equation 12 below.

Figure pat00012
Figure pat00012

여기서, K1은 제1 카메라의 내부 변수를 의미하고, K2는 제2 카메라의 내부 변수를 의미한다. Here, K 1 means an internal variable of the first camera, and K 2 means an internal variable of the second camera.

즉, 카메라 보정부(110)는 수학식 12에 기초하여 필수 행렬을 산출할 수 있다. 구체적으로, 카메라 보정부(110)는 기준으로 설정된 제1 카메라의 내부 파라미터와 제2 카메라의 내부, 그리고 앞서 산출된 기본 행렬을 통해 필수 행렬을 산출할 수 있다. That is, the camera correction unit 110 may calculate an essential matrix based on Equation (12). Specifically, the camera compensator 110 may calculate an essential matrix through the internal parameters of the first camera set as a reference, the interior of the second camera, and the basic matrix calculated above.

카메라 보정부(110)는 산출된 필수 행렬을 통해 외부 변수를 산출할 수 있다. 구체적으로, 카메라 보정부(110)는 필수 행렬을 특이값 분해하여 외부 변수에 포함된 회전 행렬과 병진 벡터를 산출할 수 있다. 이는 아래의 수학식 13 내지 16을 통해 나타낼 수 있다.The camera compensator 110 may calculate external variables through the calculated essential matrix. Specifically, the camera compensator 110 may decompose an essential matrix into singular values to calculate a rotation matrix and a translation vector included in external variables. This can be expressed through Equations 13 to 16 below.

Figure pat00013
Figure pat00013

Figure pat00014
Figure pat00014

Figure pat00015
Figure pat00015

Figure pat00016
Figure pat00016

카메라 보정부(110)는 산출된 외부 변수 및 내부 변수를 이용하여 후보 투영 행렬을 산출할 수 있다. 카메라 보정부(110)는 앞서 설명한 수학식 3을 이용하여 후보 투영 행렬을 산출할 수 있다. 한편, 외부 변수 중 병진 벡터의 경우 실제 크기를 알 수 없는 스칼라량으로 나타나므로 위치 관계를 알기 위해서는 제1 마커 사이의 거리로 보정을 수행해야 한다. 카메라 보정부(110)는 보정용 봉에서 외곽에 배치된 제1 마커(A) 및 제1 마커(B)의 좌표값을 이용하여 스케일 펙터를 산출할 수 있으며, 이는 아래의 수학식 17을 통해 나타낼 수 있다.The camera compensator 110 may calculate a candidate projection matrix using the calculated external variable and internal variable. The camera correction unit 110 may calculate a candidate projection matrix using Equation 3 described above. On the other hand, in the case of a translation vector among external variables, since the actual size appears as an unknown scalar amount, it is necessary to correct the distance between the first markers in order to know the positional relationship. The camera compensator 110 may calculate the scale factor using the coordinate values of the first marker A and the first marker B disposed on the outer side of the calibration rod, which is expressed through Equation 17 below. Can be.

Figure pat00017
Figure pat00017

여기서, Xk A는 제1 마커(A)의 좌표값을 의미하고, Xk B는 제1 마커(B)의 좌표값을 의미하고, μ는 스케일 펙터를 의미하고, d는 제1 마커(A)와 제1 마커(B) 사이의 실제 거리를 의미한다. 카메라 보정부(110)는 잡음 오차를 줄이기 위하며 다수의 스케일 펙터를 산출한 후 이를 평균값을 산출할 수 있다. Here, X k A means the coordinate value of the first marker (A), X k B means the coordinate value of the first marker (B), μ means the scale factor, d means the first marker ( It means the actual distance between A) and the first marker (B). The camera compensator 110 may reduce noise errors and calculate a number of scale factors, and then calculate the average value.

카메라 보정부(110)는 투영 행렬과 영상의 제1 마커의 2차원 좌표값을 이용하여 제1 마커의 3차원 좌표를 계산할 수 있으며, 이는 아래의 수학식 18과 같이 나타낼 수 있다. The camera correction unit 110 may calculate the 3D coordinates of the first marker using the projection matrix and the 2D coordinate values of the first marker of the image, which can be expressed as Equation 18 below.

Figure pat00018
Figure pat00018

여기서, m은 복수의 카메라의 개수를 의미하고, pm은 투영 행렬을 의미하고, u및 v는 제1 마커의 2차원 좌표를 의미하고, j는 제1 마커의 인덱스 번호를 의미한다. Here, m denotes the number of a plurality of cameras, p m denotes a projection matrix, u and v denote two-dimensional coordinates of the first marker, and j denotes an index number of the first marker.

카메라 보정부(110)는 광속 조정법(bundle adjustment)을 통해 투영 행렬을 산출할 수 있다. 카메라 보정부(110)는 제2 교정 영상의 제1 마커의 2차원 좌표값과 후보 투영 행렬 및 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보를 통해 후보 투영 행렬을 최적화함으로써 투영 행렬을 산출한다. 이는 아래의 수학식 19와 같이 나타낼 수 있다.The camera correction unit 110 may calculate a projection matrix through a bundle adjustment method. The camera compensator 110 determines the candidate projection matrix through distance information between the 2D coordinate values of the first marker of the second calibration image and the candidate projection matrix and the 2D coordinate values calculated through the 3D coordinates of the first marker. By optimization, the projection matrix is calculated. This can be expressed as Equation 19 below.

Figure pat00019
Figure pat00019

여기서, m은 카메라의 수이고, n은 마커의 수이다. D(x,y)는 다차원 공간에서 두 점 사이의 거리인 유클리디안 거리를 의미한다. Pk는 투영 행렬을 의미하고, Mi는 제1 마커의 3차원 좌표를 의미한다. Here, m is the number of cameras, and n is the number of markers. D(x,y) means the Euclidean distance, the distance between two points in a multidimensional space. P k means a projection matrix, and M i means three-dimensional coordinates of the first marker.

아래에서는 도 9를 통해 S320 내지 360 단계를 상세하게 살펴보도록 한다. Hereinafter, steps S320 to 360 will be described in detail with reference to FIG. 9.

도 9는 도 3의 S320 내지 360 단계를 상세하게 설명하기 위한 도면이다. 9 is a view for explaining in detail steps S320 to 360 of FIG. 3.

입력 영상은 카메라 보정부(110)에 의해 카메라 보정이 종료된 시점에서 제2 마커가 부착된 대상을 촬영한 영상을 의미할 수 있다. The input image may refer to an image of the object to which the second marker is attached when the camera correction is completed by the camera correction unit 110.

좌표 변환부(120)는 입력 영상에서 제2 마커의 2차원 좌표를 산출할 수 있다. 제2 마커의 2차원 좌표 산출 과정은 앞서 설명한 제1 마커의 2차원 좌표 산출 과정과 동일할 수 있다. 그리고, 좌표 변환부(120)는 투영 행렬을 통해 제2 마커의 2차원 좌표를 3차원 좌표로 변환한다. The coordinate converter 120 may calculate the 2D coordinates of the second marker from the input image. The process of calculating the 2D coordinates of the second marker may be the same as the process of calculating the 2D coordinates of the first marker described above. Then, the coordinate converting unit 120 converts the 2D coordinates of the second marker into 3D coordinates through the projection matrix.

이후, 강체 분류부(130)는 3차원 좌표를 그룹핑하여 강체 별로 분류한다. 이를 위해, 강체 분류부(130)는 3차원 좌표 사이의 유클리드 거리를 산출한다. 강체 분류부(130)는 산출된 유클리드 거리가 소정의 범위 내에 포함되는 3차원 좌표들을 하나의 강체 그룹으로 그룹핑한다. Subsequently, the rigid body classifying unit 130 groups the three-dimensional coordinates and classifies them for each rigid body. To this end, the rigid body classification unit 130 calculates the Euclidean distance between three-dimensional coordinates. The rigid body classification unit 130 groups three-dimensional coordinates in which the calculated Euclidean distance is included in a predetermined range into one rigid body group.

궤적 산출부(140)는 각 강체 그룹의 중심 좌표를 산출한다. 그리고, 궤적 산출부(140)는 중심 좌표의 정보를 이용하여 강체의 이동 궤적을 산출한다. The trajectory calculating unit 140 calculates the center coordinates of each rigid group. Then, the trajectory calculating unit 140 calculates the moving trajectory of the rigid body using the information of the center coordinates.

이를 위해, 우선, 궤적 산출부(140)는 아래의 수학식 20을 통해 강체의 회전 정보를 포함하는 공분산 행렬(H)을 산출하게 된다. To this end, first, the trajectory calculating unit 140 calculates a covariance matrix H including rotation information of a rigid body through Equation 20 below.

Figure pat00020
Figure pat00020

여기서, centroidA는 강체의 제1 시점에서의 중심 좌표를 의미하고, centroidB는 강체의 제1 시점보다 늦은 제2 시점에서의 중심 좌표를 의미하고, PA i는 제1 시점에서의 투영 행렬이고, PB i는 제2 시점에서의 투영행렬이고, N는 의미한다. 제1 시점의 중심 좌표는 제1 프레임에서 강체의 중심 좌표이고, 제2 시점의 중심 좌표는 제1 프레임의 다음 프레임인 제2 프레임에서 강체의 중심 좌표를 의미할 수 있다. Here, centroid A means the center coordinates at the first time point of the rigid body, centroid B means the center coordinates at the second time point later than the first time point of the rigid body, and P A i is the projection matrix at the first time point. , P B i is the projection matrix at the second time point, and N means. The center coordinates of the first view point may be the center coordinates of the rigid body in the first frame, and the center coordinates of the second view point may refer to the center coordinates of the rigid body in the second frame, which is the next frame of the first frame.

궤적 산출부(140)는 공분산 행렬을 통해 강체의 회전 행렬을 산출할 수 있다. 이를 위해 궤적 산출부(140)는 공분산 행렬을 특이값 분해할 수 있으며, 이는 아래의 수학식 21과 같이 나타낼 수 있다. The trajectory calculating unit 140 may calculate the rotation matrix of the rigid body through the covariance matrix. To this end, the trajectory calculator 140 can decompose the covariance matrix into singular values, which can be expressed as Equation 21 below.

Figure pat00021
Figure pat00021

그러면, 궤적 산출부(140)는 특이값 분해의 결과를 이용하여 회전 행렬을 산출하며 이는 아래의 수학식 22와 같이 나타낼 수 있다. Then, the trajectory calculating unit 140 calculates the rotation matrix using the result of the singular value decomposition, which can be expressed as Equation 22 below.

Figure pat00022
Figure pat00022

궤적 산출부(140)는 강체에 대한 회전 행렬을 통해 강체의 이동 궤적을 산출한다. The trajectory calculator 140 calculates a moving trajectory of the rigid body through a rotation matrix for the rigid body.

경보부(150)는 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출한다. 예를 들어, 경보부(150)는 제1 강체 그룹의 이동 궤적과 제2 강체 그룹의 이동 궤적 사이의 거리를 산출하고, 이동 궤적 사이의 거리가 임계치 이하인 경우 제1 강체 그룹과 제2 강체 그룹이 충돌한다고 판단할 수 있다. 충돌 판단된 경우, 경보부(150)는 제1 강체 그룹 및 제2 강체 그룹에 대응하는 대상에게 충돌 경보를 송출한다. 충돌 경보는 경보음을 통해 송출될 수 있으며, 대상이 HMD와 같은 장치를 착용하고 있는 경우 상대방의 위치를 제공하는 형태로 송출될 수도 있다. 이탈의 경우에는 강체 그룹의 이동 궤적이 기 설정된 영역 범위를 이탈하는 경우일 수 있다. The alarm unit 150 determines whether a collision or departure between the plurality of rigid bodies is performed based on the movement trajectory and transmits an alarm. For example, the alarm unit 150 calculates a distance between the movement trajectory of the first rigid body group and the movement trajectory of the second rigid body group, and when the distance between the movement trajectories is less than or equal to a threshold, the first rigid body group and the second rigid body group It can be judged as colliding. When it is determined that the collision, the alarm unit 150 transmits a collision warning to a target corresponding to the first rigid group and the second rigid group. The collision alarm may be transmitted through an alarm sound, or may be transmitted in the form of providing the opponent's location when the subject is wearing a device such as an HMD. In the case of departure, it may be the case that the movement trajectory of the rigid group deviates from the predetermined range of the region.

본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.The term'~ unit' used in this embodiment means a software or hardware component such as a field-programmable gate array (FPGA) or an ASIC, and the'~ unit' performs certain roles. However,'~ wealth' is not limited to software or hardware. The'~ unit' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays, and variables. The functions provided within components and'~units' may be combined into a smaller number of components and'~units', or further separated into additional components and'~units'. In addition, the components and'~ unit' may be implemented to play one or more CPUs in the device or secure multimedia card.

이상에서 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. The embodiments have been mainly described above, but this is merely an example and does not limit the present invention, and those of ordinary skill in the art to which the present invention pertains have not been exemplified above in a range that does not depart from the essential characteristics of the present embodiment. It will be appreciated that various modifications and applications are possible. For example, each component specifically shown in the embodiments can be implemented by modification. And differences related to these modifications and applications should be construed as being included in the scope of the invention defined in the appended claims.

100 : 위치 추적 장치
110 : 카메라 보정부
120 : 좌표 변환부
130 : 강체 분류부
140 : 궤적 산출부
150 : 경보부
100: location tracking device
110: camera correction unit
120: coordinate conversion unit
130: rigid body classification unit
140: trajectory calculation unit
150: alarm unit

Claims (12)

복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출하는 카메라 보정부,
상기 투영 행렬에 기초하여 상기 복수의 카메라로부터 촬영된 입력 영상의 복수의 2차원 마커 좌표를 복수의 3차원 마커 좌표로 변환하는 좌표 변환부,
상기 복수의 3차원 마커 좌표 중 유클리드 거리가 소정의 범위 내에 포함되는 마커 좌표를 그룹핑하여 복수의 강체 그룹으로 분류하는 강체 분류부,
상기 복수의 강체 그룹 각각에 대한 중심 좌표에 기초하여 복수의 강체 그룹의 이동 궤적을 산출하는 궤적 산출부, 그리고
상기 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출하는 경보부를 포함하는 위치 추적 장치.
A camera compensator for calculating a projection matrix for each of the plurality of cameras based on the internal and external variables of the plurality of cameras,
A coordinate conversion unit that converts a plurality of two-dimensional marker coordinates of an input image captured from the plurality of cameras into a plurality of three-dimensional marker coordinates based on the projection matrix,
A rigid body classifying unit for grouping marker coordinates in which a Euclidean distance is included in a predetermined range among the plurality of three-dimensional marker coordinates and classifying them into a plurality of rigid body groups,
A trajectory calculating unit that calculates a movement trajectory of the plurality of rigid groups based on the center coordinates for each of the plurality of rigid groups, and
Position tracking device including an alarm unit for determining whether a collision and departure between a plurality of rigid groups based on the movement trajectory, and transmits an alarm.
제1항에 있어서,
상기 카메라 보정부는,
체스 보드를 촬영한 복수의 제1 교정 영상을 이용하여 복수의 카메라 각각에 대한 내부 변수를 추정하고,
복수의 제1 마커가 부착된 보정용 봉을 촬영한 복수의 제2 교정 영상으로부터 상기 복수의 제1 마커의 2차원 좌표값을 산출하고,
상기 복수의 제2 교정 영상에 기초하여 복수의 카메라 각각에 대한 외부 변수를 추정하고,
상기 내부 변수 및 외부 변수에 기초하여 복수의 후보 투영 행렬을 산출하고,
상기 복수의 후보 투영 행렬에 기초하여 상기 복수의 제1 마커의 2차원 좌표값을 상기 복수의 제1 마커의 3차원 좌표값으로 변환하고,
상기 복수의 제1 마커의 2차원 좌표값 및 3차원 좌표값과 상기 복수의 후보 투영 행렬에 기초하여 상기 투영 행렬을 산출하는 위치 추적 장치.
According to claim 1,
The camera correction unit,
Estimating internal variables for each of a plurality of cameras using a plurality of first calibration images taken of a chess board,
A two-dimensional coordinate value of the plurality of first markers is calculated from a plurality of second calibration images obtained by photographing a correction rod to which a plurality of first markers are attached,
Estimate external variables for each of the plurality of cameras based on the plurality of second calibration images,
Calculate a plurality of candidate projection matrices based on the internal variable and the external variable,
Converting two-dimensional coordinate values of the plurality of first markers to three-dimensional coordinate values of the plurality of first markers based on the plurality of candidate projection matrices,
A position tracking device for calculating the projection matrix based on two-dimensional coordinate values and three-dimensional coordinate values of the plurality of first markers and the plurality of candidate projection matrices.
제2항에 있어서,
상기 카메라 보정부는,
임계치 이하의 밝기 정보를 제거하여 상기 복수의 제2 교정 영상을 보정하고,
보정된 상기 복수의 제2 교정 영상으로부터 에지 정보를 추출하여 복수의 에지 영상을 생성하고,
상기 복수의 에지 영상에 기초하여 원 형상을 추정하고,
상기 추정된 원 형상의 중심 좌표를 상기 복수의 제1 마커의 좌표로 산출하고,
상기 복수의 제1 마커의 좌표 중 직선 상에 배치된 제1 반사마커의 좌표를 그룹핑하여 제1 마커 정렬 정보를 생성하는 위치 추적 장치.
According to claim 2,
The camera correction unit,
The plurality of second correction images are corrected by removing brightness information below a threshold,
Edge information is extracted from the corrected plurality of second calibration images to generate a plurality of edge images,
A circular shape is estimated based on the plurality of edge images,
The center coordinates of the estimated circle shape are calculated as coordinates of the plurality of first markers,
A position tracking device generating first marker alignment information by grouping coordinates of a first reflective marker disposed on a straight line among coordinates of the plurality of first markers.
제2항에 있어서,
상기 카메라 보정부는,
복수의 카메라 중 제1 카메라에 의해 촬영된 제2 교정 영상의 제1 픽셀 좌표와 상기 제1 픽셀 좌표에 대응하는 제2 카메라에 의해 촬영된 제2 교정 영상의 제2 픽셀 좌표에 기초하여 상기 제1 카메라와 상기 제2 카메라에 의해 촬영된 2개의 교정 영상 사이의 관계인 기본 행렬을 산출하고,
상기 제1 카메라의 내부 변수, 상기 제2 카메라의 내부 변수, 및 상기 기본 행렬에 기초하여 카메라의 위치 및 자세 정보를 나타내는 필수 행렬을 산출하고,
상기 필수 행렬에 기초하여 상기 복수의 카메라의 외부 변수를 나타내는 회전 행렬 및 병진 벡터를 산출하는 위치 추적 장치.
According to claim 2,
The camera correction unit,
The first pixel coordinates of the second calibration image captured by the first camera among the plurality of cameras and the second pixel coordinates of the second calibration image captured by the second camera corresponding to the first pixel coordinates Calculate a basic matrix that is a relationship between two corrected images captured by one camera and the second camera,
Based on the internal variables of the first camera, the internal variables of the second camera, and the basic matrix, an essential matrix representing position and posture information of the camera is calculated,
A position tracking device for calculating a rotation matrix and a translation vector representing external variables of the plurality of cameras based on the essential matrix.
제2항에 있어서,
상기 카메라 보정부는,
상기 제2 교정 영상의 제1 마커의 2차원 좌표값과 상기 복수의 후보 투영 행렬 및 상기 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보에 기초하여 상기 투영 행렬을 산출하는 위치 추적 장치.
According to claim 2,
The camera correction unit,
The projection matrix is calculated based on distance information between the two-dimensional coordinate values of the first marker of the second calibration image and the plurality of candidate projection matrices and the two-dimensional coordinate values calculated through the three-dimensional coordinates of the first marker. Location tracking device.
제1항에 있어서,
상기 궤적 산출부는,
제1 시점에서의 강체 그룹의 중심 좌표와 상기 제1 시점보다 늦은 제2 시점에서 상기 강체 그룹의 중심좌표를 이용하여 상기 제1 시점과 상기 제2 시점에서 강체 그룹의 상관관계를 나타내는 공분산 행렬을 산출하고,
상기 공분산 행렬을 특이값 분해하여 회전 행렬을 산출하고,
상기 회전 행렬을 이용하여 상기 강체 그룹의 이동 궤적을 산출하는 위치 추적 장치.
According to claim 1,
The trajectory calculation unit,
A covariance matrix representing a correlation of a rigid body group at the first time point and the second time point using a center coordinate of the rigid body group at a first time point and a central coordinate of the rigid body group at a second time point later than the first time point Calculate
The covariance matrix is singularly decomposed to calculate a rotation matrix,
Position tracking device for calculating the movement trajectory of the rigid group using the rotation matrix.
복수의 카메라의 내부 변수 및 외부 변수에 기초하여 복수의 카메라 각각에 대한 투영 행렬을 산출하는 단계,
상기 투영 행렬에 기초하여 상기 복수의 카메라로부터 촬영된 입력 영상의 복수의 2차원 마커 좌표를 복수의 3차원 마커 좌표로 변환하는 단계,
상기 복수의 3차원 마커 좌표 중 유클리드 거리가 소정의 범위 내에 포함되는 마커 좌표를 그룹핑하여 복수의 강체 그룹으로 분류하는 단계,
상기 복수의 강체 그룹 각각에 대한 중심 좌표에 기초하여 복수의 강체 그룹의 이동 궤적을 산출하는 단계, 그리고
상기 이동 궤적에 기초하여 복수의 강체 그룹 사이의 충돌 및 이탈 여부를 판단하여 경보를 송출하는 단계를 포함하는 위치 추적 방법.
Calculating projection matrices for each of the plurality of cameras based on the internal and external variables of the plurality of cameras,
Converting a plurality of two-dimensional marker coordinates of the input image captured from the plurality of cameras to a plurality of three-dimensional marker coordinates based on the projection matrix,
Grouping marker coordinates in which a Euclidean distance is included in a predetermined range among the plurality of three-dimensional marker coordinates and classifying them into a plurality of rigid body groups,
Calculating a movement trajectory of the plurality of rigid groups based on the center coordinates for each of the plurality of rigid groups, and
And determining whether a collision or departure between the plurality of rigid bodies is performed based on the movement trajectory and sending an alarm.
제7항에 있어서,
상기 투영 행렬을 산출하는 단계는,
체스 보드를 촬영한 복수의 제1 교정 영상을 이용하여 복수의 카메라 각각에 대한 내부 변수를 추정하는 단계,
복수의 제1 마커가 부착된 보정용 봉을 촬영한 복수의 제2 교정 영상으로부터 상기 복수의 제1 마커의 2차원 좌표값을 산출하는 단계,
상기 복수의 제2 교정 영상에 기초하여 복수의 카메라 각각에 대한 외부 변수를 추정하는 단계,
상기 내부 변수 및 외부 변수에 기초하여 복수의 후보 투영 행렬을 산출하는 단계,
상기 복수의 후보 투영 행렬에 기초하여 상기 복수의 제1 마커의 2차원 좌표값을 상기 복수의 제1 마커의 3차원 좌표값으로 변환하는 단계, 그리고
상기 복수의 제1 마커의 2차원 좌표값 및 3차원 좌표값과 상기 복수의 후보 투영 행렬에 기초하여 상기 투영 행렬을 산출하는 단계를 포함하는 위치 추적 방법.
The method of claim 7,
The calculating of the projection matrix may include:
Estimating internal variables for each of the plurality of cameras using the plurality of first calibration images taken of the chess board,
Calculating two-dimensional coordinate values of the plurality of first markers from a plurality of second calibration images of a correction rod to which a plurality of first markers are attached,
Estimating external variables for each of a plurality of cameras based on the plurality of second calibration images,
Calculating a plurality of candidate projection matrices based on the internal and external variables,
Converting two-dimensional coordinate values of the plurality of first markers to three-dimensional coordinate values of the plurality of first markers based on the plurality of candidate projection matrices, and
And calculating the projection matrix based on two-dimensional coordinate values and three-dimensional coordinate values of the plurality of first markers and the plurality of candidate projection matrices.
제8항에 있어서,
상기 복수의 제1 마커의 2차원 좌표값을 산출하는 단계는,
임계치 이하의 밝기 정보를 제거하여 상기 복수의 제2 교정 영상을 보정하는 단계,
보정된 상기 복수의 제2 교정 영상으로부터 에지 정보를 추출하여 복수의 에지 영상을 생성하는 단계,
상기 복수의 에지 영상에 기초하여 원 형상을 추정하는 단계,
상기 추정된 원 형상의 중심 좌표를 상기 복수의 제1 마커의 좌표로 산출하는 단계, 그리고
상기 복수의 제1 마커의 좌표 중 직선 상에 배치된 제1 반사마커의 좌표를 그룹핑하여 제1 마커 정렬 정보를 생성하는 단계를 포함하는 위치 추적 방법.
The method of claim 8,
The calculating of the two-dimensional coordinate values of the plurality of first markers may include:
Correcting the plurality of second correction images by removing brightness information below a threshold,
Generating edge images by extracting edge information from the corrected plurality of second corrected images,
Estimating a circular shape based on the plurality of edge images,
Calculating center coordinates of the estimated circle shape as coordinates of the plurality of first markers, and
And grouping coordinates of first reflective markers arranged on a straight line among coordinates of the plurality of first markers to generate first marker alignment information.
제8항에 있어서,
상기 외부 변수를 추정하는 단계는,
복수의 카메라 중 제1 카메라에 의해 촬영된 제2 교정 영상의 제1 픽셀 좌표와 상기 제1 픽셀 좌표에 대응하는 제2 카메라에 의해 촬영된 제2 교정 영상의 제2 픽셀 좌표에 기초하여 상기 제1 카메라와 상기 제2 카메라에 의해 촬영된 2개의 교정 영상 사이의 관계인 기본 행렬을 산출하는 단계,
상기 제1 카메라의 내부 변수, 상기 제2 카메라의 내부 변수, 및 상기 기본 행렬에 기초하여 카메라의 위치 및 자세 정보를 나타내는 필수 행렬을 산출하는 단계, 그리고
상기 필수 행렬에 기초하여 상기 복수의 카메라의 외부 변수를 나타내는 회전 행렬 및 병진 벡터를 산출하는 단계를 포함하는 위치 추적 방법.
The method of claim 8,
Estimating the external variable,
The first pixel coordinates of the second calibration image captured by the first camera among the plurality of cameras and the second pixel coordinates of the second calibration image captured by the second camera corresponding to the first pixel coordinates Calculating a basic matrix that is a relationship between two corrected images captured by the first camera and the second camera,
Calculating an essential matrix indicating position and posture information of the camera based on the internal variable of the first camera, the internal variable of the second camera, and the basic matrix, and
And calculating a rotation matrix and a translation vector representing external variables of the plurality of cameras based on the essential matrix.
제8항에 있어서,
상기 복수의 후보 투영 행렬에 기초하여 상기 투영 행렬을 산출하는 단계는,
상기 제2 교정 영상의 제1 마커의 2차원 좌표값과 상기 복수의 후보 투영 행렬 및 상기 제1 마커의 3차원 좌표를 통해 산출된 2차원 좌표값 사이의 거리 정보에 기초하여 상기 투영 행렬을 산출하는 위치 추적 방법.
The method of claim 8,
Computing the projection matrix based on the plurality of candidate projection matrix,
The projection matrix is calculated based on distance information between the two-dimensional coordinate values of the first marker of the second calibration image and the plurality of candidate projection matrices and the two-dimensional coordinate values calculated through the three-dimensional coordinates of the first marker. How to track location.
제7항에 있어서,
상기 복수의 강체 그룹의 이동 궤적을 산출하는 단계는,
제1 시점에서의 강체 그룹의 중심 좌표와 상기 제1 시점보다 늦은 제2 시점에서 상기 강체 그룹의 중심좌표를 이용하여 상기 제1 시점과 상기 제2 시점에서 강체 그룹의 상관관계를 나타내는 공분산 행렬을 산출하는 단계,
상기 공분산 행렬을 특이값 분해하여 회전 행렬을 산출하는 단계, 그리고
상기 회전 행렬을 이용하여 상기 강체 그룹의 이동 궤적을 산출하는 단계를 포함하는 위치 추적 방법.
The method of claim 7,
The calculating of the movement trajectories of the plurality of rigid body groups may include:
A covariance matrix representing a correlation of a rigid body group at the first time point and the second time point using a center coordinate of the rigid body group at a first time point and a central coordinate of the rigid body group at a second time point later than the first time point Calculating,
Calculating a rotation matrix by decomposing the covariance matrix singularly, and
And calculating a movement trajectory of the rigid group using the rotation matrix.
KR1020190157011A 2018-11-29 2019-11-29 Apparatus for tracking position based optical position tracking system and method thereof KR102188480B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180151057 2018-11-29
KR1020180151057 2018-11-29

Publications (2)

Publication Number Publication Date
KR20200064947A true KR20200064947A (en) 2020-06-08
KR102188480B1 KR102188480B1 (en) 2020-12-08

Family

ID=71089726

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190157011A KR102188480B1 (en) 2018-11-29 2019-11-29 Apparatus for tracking position based optical position tracking system and method thereof

Country Status (1)

Country Link
KR (1) KR102188480B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111975438A (en) * 2020-08-21 2020-11-24 南通大学 Machine tool emergency stop method and device based on distance sensor and machine vision
KR102250869B1 (en) * 2020-09-09 2021-05-11 한국전자기술연구원 System and method for tracking multi-object in a virtual reality platform using multiple optical cameras
WO2022007886A1 (en) * 2020-07-08 2022-01-13 深圳市瑞立视多媒体科技有限公司 Automatic camera calibration optimization method and related system and device
WO2022014805A1 (en) * 2020-07-17 2022-01-20 (주)코어센스 Virtual space mobile platform construction method via cross covariance 3d coordinate estimation
KR20220009836A (en) * 2020-07-16 2022-01-25 (주)코어센스 Motion capture system for virtual fire fighting and motion capture method using the same
CN115565134A (en) * 2022-10-13 2023-01-03 广州国交润万交通信息有限公司 Ball machine monitoring blind area diagnosis method, system, equipment and storage medium
WO2024053876A1 (en) * 2022-09-08 2024-03-14 삼성전자 주식회사 Electronic device performing camera calibration, and operation method therefor

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102543653B1 (en) 2020-12-24 2023-06-15 주식회사 아이팝 Method for Constructing Virtual Space Movement Platform Using Cross-covariance 3D Coordinate Estimation
KR102648471B1 (en) 2021-05-26 2024-03-18 주식회사 아이팝 Hybrid Motion Capture Position Switching Method for Virtual Fire Drill

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006003263A (en) * 2004-06-18 2006-01-05 Hitachi Ltd Visual information processor and application system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006003263A (en) * 2004-06-18 2006-01-05 Hitachi Ltd Visual information processor and application system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Samuel Blisard, "3D scene description and construction using spatial referencing language", University of Missouri-Columbia, (2010.12.31.) 1부.* *
정하형외 2인, "모션캡쳐를 위한 다중카메라 보정기법", 대한전자공학회 학술대회, (2016.04.30.) 1부.* *
정하형외 2인, "재난복구인력의 행동패턴분석을 위한 하이브리드 모션캡쳐 시스템 구현", 제어로봇시스템학회 논문지 23(5), (2017.05.31.) 1부.* *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022007886A1 (en) * 2020-07-08 2022-01-13 深圳市瑞立视多媒体科技有限公司 Automatic camera calibration optimization method and related system and device
KR20220009836A (en) * 2020-07-16 2022-01-25 (주)코어센스 Motion capture system for virtual fire fighting and motion capture method using the same
WO2022014805A1 (en) * 2020-07-17 2022-01-20 (주)코어센스 Virtual space mobile platform construction method via cross covariance 3d coordinate estimation
KR20220010304A (en) * 2020-07-17 2022-01-25 (주)코어센스 Method for Estimating 3D Position Using Cross Covariance
CN111975438A (en) * 2020-08-21 2020-11-24 南通大学 Machine tool emergency stop method and device based on distance sensor and machine vision
KR102250869B1 (en) * 2020-09-09 2021-05-11 한국전자기술연구원 System and method for tracking multi-object in a virtual reality platform using multiple optical cameras
WO2024053876A1 (en) * 2022-09-08 2024-03-14 삼성전자 주식회사 Electronic device performing camera calibration, and operation method therefor
CN115565134A (en) * 2022-10-13 2023-01-03 广州国交润万交通信息有限公司 Ball machine monitoring blind area diagnosis method, system, equipment and storage medium
CN115565134B (en) * 2022-10-13 2024-03-15 广州国交润万交通信息有限公司 Diagnostic method, system, equipment and storage medium for monitoring blind area of ball machine

Also Published As

Publication number Publication date
KR102188480B1 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
KR102188480B1 (en) Apparatus for tracking position based optical position tracking system and method thereof
US20190188533A1 (en) Pose estimation
US11205298B2 (en) Method and system for creating a virtual 3D model
JP4789745B2 (en) Image processing apparatus and method
US9330307B2 (en) Learning based estimation of hand and finger pose
JP5393318B2 (en) Position and orientation measurement method and apparatus
JP5417494B2 (en) Image processing method and system
JP4898464B2 (en) Information processing apparatus and method
JP2011174879A (en) Apparatus and method of estimating position and orientation
JP2016099982A (en) Behavior recognition device, behaviour learning device, method, and program
JP7379065B2 (en) Information processing device, information processing method, and program
KR102371127B1 (en) Gesture Recognition Method and Processing System using Skeleton Length Information
US10679362B1 (en) Multi-camera homogeneous object trajectory alignment
KR20140054710A (en) Apparatus and method for generating 3d map
Islam et al. Stereo vision-based 3D positioning and tracking
CN113196283A (en) Attitude estimation using radio frequency signals
CN115035546A (en) Three-dimensional human body posture detection method and device and electronic equipment
McIlroy et al. Kinectrack: 3d pose estimation using a projected dense dot pattern
McIlroy et al. Kinectrack: Agile 6-dof tracking using a projected dot pattern
Ababsa et al. A Robust Circular Fiducial Detection Technique and Real-Time 3D Camera Tracking.
CN115223240A (en) Motion real-time counting method and system based on dynamic time warping algorithm
KR20190005222A (en) How to adjust the direction of the line of sight in the representation of the virtual environment
US10600192B1 (en) Multi-camera homogeneous object alignment
US20240119620A1 (en) Posture estimation apparatus, posture estimation method, and computer-readable recording medium
Chen et al. A real-time photogrammetric system for acquisition and monitoring of three-dimensional human body kinematics

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