KR102542181B1 - 360도 vr 영상 제작을 위한 무인 비행체 제어 방법 및 장치 - Google Patents
360도 vr 영상 제작을 위한 무인 비행체 제어 방법 및 장치 Download PDFInfo
- Publication number
- KR102542181B1 KR102542181B1 KR1020220094471A KR20220094471A KR102542181B1 KR 102542181 B1 KR102542181 B1 KR 102542181B1 KR 1020220094471 A KR1020220094471 A KR 1020220094471A KR 20220094471 A KR20220094471 A KR 20220094471A KR 102542181 B1 KR102542181 B1 KR 102542181B1
- Authority
- KR
- South Korea
- Prior art keywords
- unmanned aerial
- aerial vehicle
- image data
- flight
- image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000002194 synthesizing effect Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000006855 networking Effects 0.000 description 4
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 241000914520 Staurastromyces oculus Species 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012876 topography Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/04—Control of altitude or depth
- G05D1/042—Control of altitude or depth specially adapted for aircraft
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D47/00—Equipment not otherwise provided for
- B64D47/08—Arrangements of cameras
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0808—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2101/00—UAVs specially adapted for particular uses or applications
- B64U2101/30—UAVs specially adapted for particular uses or applications for imaging, photography or videography
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U2201/00—UAVs characterised by their flight controls
- B64U2201/20—Remote controls
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Toys (AREA)
Abstract
촬영 지점의 주변 영역에 대한 VR(Virtual Reality) 영상을 생성하기 위해, 상기 촬영 지점을 비행하도록 상기 무인 비행체를 제어하는 방법으로서, 무인 비행체가 촬영 지점에서 일정한 고도를 유지하면서 호버링(Hovering) 비행을 수행하도록 무인 비행체를 제어하고, 무인 비행체 수평 방향 및 수직 방향으로 회전하면서 획득한 복수의 이미지 데이터를 합성함으로써 VR 영상을 생성하는 것을 포함하는, 무인 비행체를 제어하는 방법이 제공된다.
Description
본 발명은 VR 영상 또는 파노라마 영상과 같은 360도 영상을 생성하기 위한 비행 모드를 지원하는 무인 비행체 제어 방법에 관한 것이다.
드론은 무선전파의 유도에 의해서 비행 및 조종 가능한 비행기나 헬리콥터 모양의 군사용 무인비행기(Unmanned Aerial Vehicle; UAV)의 총칭으로, 2010년대를 전후하여 군사적 용도 외 다양한 민간 분야에 활용되고 있다. 헬리콥터나 드론처럼 프로펠러의 회전에 의해 양력을 발생시키는 비행 물체의 경우, 프로펠러 회전의 반작용에 의해 본체가 프로펠러가 회전하는 반대 방향으로 회전하게 된다. 싱글로터 헬리콥터의 경우 이 문제를 해결하기 위해 테일 로터(tail rotor)가 필요하지만, 드론은 앞뒤 프로펠러의 회전을 반대로 하여 프로펠러 회전에 의해 발생하는 반작용을 상쇄시키는 원리를 기본으로 한다. 즉, 드론은 각각의 로터 프로페러 회전을 제어하여 상승비행모드(ascend), 하강비행모드(descend), 전진비행모드 (forward), 후진비행모드(backward), 우횡비행모드(roll right), 좌횡비행모드 (roll left), 좌회전비행모드(yaw left), 우회전비행모드(yaw right)가 가능하다. 드론은 상대적으로 작은 복수 개의 프로펠러를 이용하여 양력을 얻고, 각각의 프로펠러로부터 발생하는 양력을 조절하여 전진 및 후진과 방향 전환을 한다. 이러한 드론에는 카메라 센서를 설치하여 주변의 영상 정보를 다양한 무선통신망(이동통신망 포함)을 통해 지상에서 모바일 디바이스(스마트폰 포함) 또는 디스플레이를 부착한 원격조종장치로 확인하도록 되어 있다. 고성능 드론에는 카메라의 방향을 원격 제어하는 짐벌(Gimbal) 기구를 설치하여 비행에 따른 카메라 떨림 방지 및 원하는 방향으로 카메라를 회전시켜 영상 촬영을 하도록 발전하였다. 이와 함께, 드론을 원격조종할 때 시야 거리 내에서만 조종이 가능하다는 한계를 탈피하기 위하여, 드론에 설치된 카메라센서 영상을 눈 앞에 보여주는 디스플레이 액정이 설치된 고글을 착용하는 FPV(First person View) 기술도 적용되어, 드론에 탑승하여 직접 비행하는 느낌도 제공하고 있다. 그러나 FPV 기술은 드론에 설치된 한 개의 카메라센서를 이용하므로 디스플레이를 렌즈로 눈앞에 확대하여 보여주는 와이드 스크린 기술(2D) 단계라는 한계가 있다.
액정(Liquid Crystal Display; LCD) 시대에 들어서 소니의 '글래스트론'이나 올림푸스의 '아이트랙'과 같이 작은 화면을 앞에 두고 렌즈를 사용하여 확대하는 헤드 업 디스플레이(Head Mounted Display; HMD)가 만들어져 FPV용으로 사용되고 있다. 이러한 HMD는 디스플레이를 프리즘과 렌즈의 결합으로 영상 왜곡없이 확대하기 위하여 복잡한 고가의 얇은 렌즈를 사용하였지만 화질적 감동이 높지 않았다. 이러한 광학 기구 대신 큰 모바일 고해상도 디스플레이를 1/2씩 나눠서 화면을 보여주는 사이드 바이 사이드(side by side) 가상현실(Virtual Reality; VR) 개념이 도입되었다. 즉, 큰 디스플레이에 맞추어 영상 처리를 통한 어안 렌더링(110°내외, fish eye rendering)과 저렴한 볼록 렌즈를 결합하여, 두 눈이 보는 장면이 합쳐져 입체감을 느끼도록 하는 가상 현실(Virtual Reality)이 스마트폰을 통하여 구현되었다. 미국 오큘러스 회사의 리프트와 구글의 카드보드 VR 헤드셋의 원리는 헤드셋의 왼쪽과 오른쪽 눈을 위한 2개의 디스플레이를 장착, 디스플레이마다 다른 깊이의 영상을 출력해 입체감 있는 영상을 구현한다. 스마트폰 모바일 디스플레이 기술의 발달로 그 동안 불가능했던 높은 해상도(2K급 1440x2560 픽셀) 구현이 가능해졌고, 컴퓨터 그래픽 기술의 진화로 한 기기에서 2개의 고해상도 출력이 가능해짐으로써 VR 헤드셋이 보편화 되었다. 특히 구글 카드보드 VR 및 삼성 기어 VR은 디스플레이 대신 스마트폰을 헤드셋에 장착함으로써, 컴퓨터를 따로 연결해야 하는 단점과 디스플레이와 영상 보드를 헤드셋에 탑재한 오큘러스 리프트의 높은 가격 문제도 해결하였다.
VR의 큰 장점은 바로 사용자가 가상 공간으로 몰입하는 것이다. 비행하는 드론 전방의 영상을 2D 와이드 스크린 형태로 보여주는 FPV 단계를 벗어나, 드론을 통하여 사용자가 조종하면서 관광지 등 주변의 풍물을 입체감 있는 3D VR 영상을 감상할 수 있다면 새로운 관광과 생활의 혁신을 가져올 수 있다.
최근 카메라를 이용한 VR(Virtual Reality) 영상 제작을 통해 현실감 있는 콘텐츠를 제공하는 최신 기술에 대한 관심이 증가함에 따라, 다양한 분야에 VR 영상 콘텐츠가 도입되고 있는 추세이며, 토목/건설 및 산림현장 조사에서도 이러한 기술을 도입하고자 하는 움직임을 보이고 있다.
하지만 이러한 현장은 촬영 범위가 매우 넓기 때문에 높은 고도에서의 촬영이 필요하며, 이를 위해서는 드론 카메라 활용하여 비행을 통해 영상을 취득하는 절차가 필요하다.
현장에서는 이미 고성능 카메라를 장착한 드론을 활용한 측량 조사가 활발히 도입되고 있기 때문에, 이와는 별도로 360도 카메라를 추가로 운용하는 것은 불편하고 비효율적일 수 밖에 없다.
한국공개특허 제10-2017-0093389호(공개일 2017년 06월 16일)는 무인 비행체의 제어를 효과적으로 수행하기 위한 사용자 인터페이스 및 방법에 대해 개시하고 있다.
상기에서 설명된 정보는 단지 이해를 돕기 위한 것이며, 종래 기술의 일부를 형성하지 않는 내용을 포함할 수 있으며, 종래 기술이 통상의 기술자에게 제시할 수 있는 것을 포함하지 않을 수 있다.
본 발명이 이루고자 하는 기술적 과제는 기존의 2D 카메라가 장착된 무인 비행체를 활용하여 VR 영상(360도 영상 또는 파노라마 영상 등)을 제작하는 방법을 제공하는데 있다. 다시 말해, 3D VR 영상을 제작하기 위해 2D 카메라가 장착된 무인 비행체를 360도 회전하면서 복수의 2D 영상 데이터를 획득하고, 일정 비율만큼의 중복율을 갖는 복수의 2D 영상 데이터에 대한 이미지 스티칭을 통해 고품질의 3D VR 영상을 제작하고자 한다.
일 측면에 있어서, 본 발명에서 제안하는 컴퓨터 시스템에 의해 수행되는 카메라가 장착된 무인 비행체의 비행을 제어하는 방법에 있어서, 촬영 지점의 주변 영역에 대한 VR(Virtual Reality) 영상을 생성하기 위해, 상기 촬영 지점을 비행하도록 상기 무인 비행체를 제어하는 단계를 포함하고, 상기 제어하는 단계는 상기 무인 비행체가 상기 촬영 지점에서 일정한 고도를 유지하면서 호버링(Hovering) 비행을 수행하도록 상기 무인 비행체를 제어하는 단계, 상기 무인 비행체가 상기 촬영 지점으로부터 수평 방향으로 360도 회전하면서 복수의 제1 2D 영상 데이터를 획득하도록 상기 무인 비행체를 제어하는 단계 - 상기 복수의 제1 2D 영상 데이터의 각 제1 2D 영상 데이터는 상기 촬영 지점으로부터 수평 방향으로 미리 정해진 제1 각도만큼 상기 무인 비행체가 회전한 상태에서 상기 카메라가 상기 주변 영역을 촬영함으로써 획득됨 - 및 상기 수평 방향으로의 회전 동안의 상기 각 제1 2D 영상 데이터의 촬영 위치에서, 상기 카메라 또는 상기 무인 비행체가 제1 수직 방향으로 회전하면서 복수의 제2 2D 영상 데이터를 획득하는 단계 - 상기 복수의 제2 2D 영상 데이터의 각 제2 2D 영상 데이터는 상기 각 제1 2D 영상 데이터의 촬영 위치에서 상기 제1 수직 방향으로 미리 정해진 제2 각도만큼 상기 카메라 또는 상기 무인 비행체가 회전한 상태에서 상기 카메라가 상기 주변 영역을 촬영함으로써 획득됨 -; 를 포함하고, 상기 복수의 제1 2D 영상 데이터 및 상기 복수의 제2 2D 영상 데이터를 합성함으로써 상기 VR 영상을 생성하는 단계를 포함한다.
실시예에 따른 제1 2D 영상 데이터의 개수는 상기 무인 비행체의 수평 방향으로의 360도 회전 동안의 상기 주변 영역에 대한 촬영 횟수인 수평 촬영 횟수이고, 상기 복수의 제1 2D 영상 데이터를 획득하기 위한 상기 제1 각도는 상기 각 제1 2D 영상 데이터를 획득하는 수평 방위각 간격이고, 상기 복수의 제1 2D 영상 데이터의 개수와 상기 제1 각도는, 상기 복수의 제1 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작할 수 있도록 하기 위해 두 개의 제1 2D 영상 데이터 간에 미리 정해진 기준 이상의 수평 중복율을 갖도록 하는 값으로 설정된다.
실시예에 따른 복수의 제2 2D 영상 데이터를 획득하는 단계는, 상기 각 제1 2D 영상 데이터의 촬영 위치에서 반복하여 수행되어, 상기 무인 비행체가 수평 방향으로 360도를 회전하여 최초의 촬영 위치로 돌아 올 때까지 반복된다.
실시예에 따른 제1 수직 방향으로의 회전은 최대 90도이다.
실시예에 따른 제2 2D 영상 데이터의 개수는 상기 무인 비행체 또는 상기 카메라의 제1 수직 방향으로의 회전 동안의 상기 주변 영역에 대한 촬영 횟수인 수직 촬영 횟수이고, 상기 복수의 제2 2D 영상 데이터를 획득하기 위한 상기 제2 각도는 상기 각 제2 2D 영상 데이터를 획득하는 수직 방위각 간격이고, 상기 제2 2D 영상 데이터의 개수와 상기 제2 각도는 상기 복수의 제2 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작할 수 있도록 하기 위해 두 개의 제2 2D 영상 데이터 간에 미리 정해진 기준 이상의 수직 중복율을 갖도록 하는 값으로 설정된다.
실시예에 따른 VR 영상을 생성하는 단계는 상기 복수의 제1 2D 영상 데이터 및 상기 복수의 제2 2D 영상 데이터에 대한 이미지 스티칭을 수행함으로써 3D VR 영상을 제작하는 단계를 포함한다.
실시예들에 따르면 기존의 2D 카메라가 장착된 무인 비행체를 활용하여 360도 VR 영상을 제작할 수 있다. 2D 카메라가 장착된 무인 비행체를 360도 회전하면서 복수의 2D 영상 데이터를 획득하고, 일정 비율만큼의 중복율을 갖는 복수의 2D 영상 데이터에 대한 이미지 스티칭을 통해 고품질의 3D VR 영상을 제작할 수 있다.
무인 비행체의 개별적인 촬영과 동작을 제어하지 않고도, 단지 지도 상에서 특정한 촬영 위치를 선택하고 무인 비행체의 해당 촬영 위치로의 비행을 명령하는 것만으로, 무인 비행체의 비행을 제어하는 사용자 단말 상에서, 간편하게 해당 촬영 지점의 주변 영역에 대한 VR 영상을 생성할 수 있다.
도 1a는 일 실시예에 따른, 무인 비행체와, 무인 비행체의 비행을 제어하는 방법을 수행하는 컴퓨터 시스템의 구조를 나타내는 블록도이다.
도 1b는 일 실시예에 따른 360도 VR 영상 제작을 위한 무인 비행체의 비행을 제어하는 방법을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 무인 비행체를 일정한 고도로 유지하면서 호버링 비행을 수행하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 무인 비행체를 수평 방향으로 360도 회전시키면서 복수의 2D 영상 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 이미지 스티칭 기술을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 무인 비행체를 반구 형태의 수직 방향으로 회전시키면서 복수의 2D 영상 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 360도 VR 영상 제작 과정을 설명하기 위한 예시도이다.
도 1b는 일 실시예에 따른 360도 VR 영상 제작을 위한 무인 비행체의 비행을 제어하는 방법을 설명하기 위한 흐름도이다.
도 2는 일 실시예에 따른 무인 비행체를 일정한 고도로 유지하면서 호버링 비행을 수행하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 무인 비행체를 수평 방향으로 360도 회전시키면서 복수의 2D 영상 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 이미지 스티칭 기술을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 무인 비행체를 반구 형태의 수직 방향으로 회전시키면서 복수의 2D 영상 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 360도 VR 영상 제작 과정을 설명하기 위한 예시도이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1a는 일 실시예에 따른, 무인 비행체와, 무인 비행체의 비행을 제어하는 방법을 수행하는 컴퓨터 시스템의 구조를 나타내는 블록도이다.
도 1a를 참조하여, 무인 비행체(11) 및 컴퓨터 시스템(10)의 구체적인 구성들이 설명된다. 한편, 컴퓨터 시스템(10)과 통신하는 컴퓨터 시스템(12)에 대해서도 더 자세하게 설명한다.
무인 비행체(11)는 기 설정된 목표 영역을 비행하여 목표 영역으로부터 데이터를 획득하기 위한 장치로서, 예컨대, 드론, 무인기, 또는 기타 자동 비행체 또는 무선 조종 비행체일 수 있다. 일례로, 무인 비행체(11)는 플러그인 DGPS 드론 또는 플러그인 RTK 드론일 수 있다. 무인 비행체(11)는 쿼드콥터 드론 또는 고정익 드론일 수 있다.
여기서 목표 영역은 상업지, 건축 예정지, 산악 지형 등을 비롯한 측량이나 촬영의 대상이 되는 구역(토지의 구역)을 나타낼 수 있다. 목표 영역은 무인 비행체(11)의 경로 비행을 위해 설정된 지리적 영역으로서 컴퓨터 시스템(10)의 사용자에 의해 설정된 영역을 나타낼 수 있다,
무인 비행체(11)는 목표 영역 상의 복수의 웨이포인트들을 포함하는 소정의 비행 경로를 비행할 수 있다. 비행 경로는 무인 비행체(11)의 사용자에 의한 입력에 따라 컴퓨터 시스템(10)을 통해 결정될 수 있다. 예컨대, 무인 비행체(11)의 사용자는 무인 비행체(11)와 연관된 사용자 단말(일례로, 스마트 폰 또는 컨트롤러 혹은 무인 비행체(11)의 제어와 관련된 어플리케이션이 설치된 단말)인 컴퓨터 시스템(10)을 통해 소정의 비행 경로를 설정할 수 있다.
무인 비행체(11)의 사용자는 무인 비행체(11)와 연관된 사용자 단말(100)을 통해 목표 영역을 나타내는 지도 상에서 복수의 웨이포인트들을 포함하는 비행 경로를 결정할 수 있다. 웨이포인트는 맵 상에서 지정되는 위치로서 그 위치 정보(예컨대, 좌표 값)는 기지의 값일 수 있다. 웨이포인트는 비행 경로 상의 무인 비행체(11)가 통과하는 지점을 나타낼 수 있다. 이러한 기 설정된 비행 경로를 비행하는 것은 "경로 비행"으로 명명될 수 있다.
무인 비행체(11)는 웨이포인트들을 포함하는 경로를 비행하면서 목표 영역에 대한 데이터를 획득하기 위한 장비로서, 예컨대, 카메라(25)를 포함할 수 있다. 또한, 무인 비행체(11)는 통신부(24), 프로세서(26) 및 저장부(27)를 포함할 수 있다.
통신부(24)는 무인 비행체(11)가 컴퓨터 시스템(10) 및 기타 다른 장치와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(24)는 무인 비행체(11)가 컴퓨터 시스템(10) 등의 장치에 대해 데이터 및/또는 정보를 무선 또는 유선으로 전송/수신하기 위한 구성으로서, 무인 비행체(11)의 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.
무인 비행체(11)는 통신부(24)통신부(24)를 통해 컴퓨터 시스템(10 또는 12)과 통신하거나, 컴퓨터 시스템(10 또는 12)으로 획득된 데이터를 전송할 수 있다.
프로세서(26)는 무인 비행체(11)의 구성 요소들을 관리할 수 있고, 무인 비행체(11)의 소정의 경로로의 비행을 제어하기 위한 구성일 수 있다. 예컨대, 프로세서(26)는 무인 비행체(11)의 비행을 제어하기 위해 필요한 데이터의 처리 및 연산을 수행할 수 있다. 프로세서(26)는 무인 비행체(11)의 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다.
카메라(25)는 비행 중에 목표 영역을 촬영하여 영상 데이터(즉, 이미지)를 획득하기 위한 장치일 수 있다.
저장부(27)저장부(27)는 목표 영역으로부터 획득된 데이터(이미지 등)를 저장하기 위한 스토리지를 포함할 수 있다. 저장부(27)저장부(27)는 무인 비행체(11)의 여하한 내부 메모리 또는 무인 비행체(11)에 장착되는 플래시 메모리, SD 카드 등과 같은 외부 메모리 장치일 수 있다. 또한, 저장부(27)저장부(27)는 무인 비행체(11)의 비행을 위한 소정의 경로와 관련된 정보(예컨대, 맵 및 웨이포인트에 관한 정보)를 저장하고 있을 수 있다.
실시예의 무인 비행체(11)는, 컴퓨터 시스템(10)의 제어에 따라, 전술한 경로 비행 외에 VR 영상을 생성하기 위한 비행을 수행할 수 있다.
컴퓨터 시스템(10)은 예컨대, 스마트 폰, PC(personal computer), 노트북 컴퓨터(laptop computer), 랩탑 컴퓨터(laptop computer), 태블릿(tablet), 사물 인터넷(Internet Of Things) 기기, 또는 웨어러블 컴퓨터(wearable computer) 등의 사용자가 사용하는 단말일 수 있다. 컴퓨터 시스템(10)은 무인 비행체(11)와 통신하며 무인 비행체(11)를 제어하는 단말로서, 무인 비행체(11)의 목표 영역 상의 비행 경로에 대한 비행인 경로 비행을 설정 및 제어하기 위한 장치일 수 있다. 또한, 컴퓨터 시스템(10)은 VR 영상의 생성을 위해, 무인 비행체(11)를 특정 촬영 지점으로 비행시키고 무인 비행체(11)로부터의 영상 데이터에 기반하여, 상기 촬영 지점의 주변 영역에 대한 VR 영상을 생성하기 위한 장치일 수 있다.
일례로, 컴퓨터 시스템(10)은 스마트 폰과 같은 사용자 단말로서 무인 비행체(11)의 비행을 제어하고 무인 비행체(11)로부터의 영상 데이터에 기반하여 VR 영상을 생성하기 위한 어플리케이션(앱)이 설치된 전자 장치일 수 있다.
컴퓨터 시스템(10)은 통신부(21), 프로세서(22) 및 표시부(23)를 포함할 수 있다.
통신부(21)는 무인 비행체(11)와의 통신을 위한 구성일 수 있다. 예컨대, 통신부(21)는 무인 비행체(11)에 대해 제어 신호를 송신할 수 있고, 무인 비행체(11)의 외부 메모리 장치를 통해 데이터 또는 이미지들을 획득하도록 구성될 수 있다.
통신부(21)는 컴퓨터 시스템(10)이 무인 비행체(11), 컴퓨터 시스템(12), 및 서버 등의 기타 다른 장치와 통신하기 위한 구성일 수 있다. 말하자면, 통신부(21)는 컴퓨터 시스템(10)이 무인 비행체(11), 컴퓨터 시스템(12), 및 서버 등의 기타 다른 장치에 대해 데이터 및/또는 정보를 무선 또는 유선으로 전송/수신하기 위한 구성으로서, 컴퓨터 시스템(10)의 네트워크 인터페이스 카드, 네트워크 인터페이스 칩 및 네트워킹 인터페이스 포트 등과 같은 하드웨어 모듈 또는 네트워크 디바이스 드라이버(driver) 또는 네트워킹 프로그램과 같은 소프트웨어 모듈일 수 있다.
프로세서(22)는 컴퓨터 시스템(10)의 구성 요소들을 관리할 수 있고, 컴퓨터 시스템(10)이 사용하는 프로그램 또는 어플리케이션을 실행하기 위한 구성일 수 있다. 예컨대, 프로세서(22)는 무인 비행체(11)의 비행을 제어하고, 무인 비행체(11)로부터 획득된 영상 데이터에 기반하여, 촬영 지점의 주변 영역에 대한 VR 영상을 생성하기 위한 연산을 수행할 수 있다. 프로세서(22)는 컴퓨터 시스템(10)의 적어도 하나의 프로세서 또는 프로세서 내의 적어도 하나의 코어(core)일 수 있다.
또한, 프로세서(22)는 상기의 연산을 수행하고, 무인 비행체(11)의 분실 또는 추락의 예상 위치를 결정하고, 예상 위치를 지도 상에서 표시하기 위한 (컴퓨터 시스템(10)에 설치된) 어플리케이션/프로그램을 실행하도록 구성될 수 있다.
표시부(23)는 컴퓨터 시스템(10)의 사용자가 입력한 데이터를 출력하거나, 무인 비행체(11)가 비행하는 비행 경로, 지도, 및 무인 비행체(11)의 분실 또는 추락의 예상 위치 등과, 각종 UI들을 출력하기 위한 구성일 수 있다. 예컨대, 표시부(23)는 생성된 VR 영상을 표시할 수 있고, VR 영상의 표시를 제어하기 위한 UI를 표시할 수 있다.
컴퓨터 시스템(10)은 무인 비행체(11)의 비행을 직접 제어하기 위한 컨트롤러를 포함하도록 구성될 수 있다. 또는, 실시예에 따라, 컴퓨터 시스템(10)은 무인 비행체(11)의 비행을 직접 제어하는 컨트롤러와는 별개의 장치로서 컨트롤러와 유선 또는 무선으로 통신하도록 구성될 수 있다.
컴퓨터 시스템(12)은 측량/촬영 대상지인 목표 영역에서 컴퓨터 시스템(10)의 사용자가 컴퓨터 시스템(10)과 함께 휴대하는 단말일 수 있다. 컴퓨터 시스템(12)은 휴대용 PC(예컨대, 노트북), 태블릿 PC 등일 수 있다. 또는, 컴퓨터 시스템(12)은 컴퓨터 시스템(10)과 통신 가능한 원격지의 서버일 수 있다.
컴퓨터 시스템(12)은 전술한 VR 영상을 생성하기 위한 작업의 적어도 일부를 수행하도록 구성될 수도 있다.
실시예에서는, 컴퓨터 시스템(10)이 카메라(예를 들어, 라이다)(250)가 장착된 무인 비행체(11)의 비행을 제어할 수 있다. 예컨대, 컴퓨터 시스템(10)은 사용자에 의해 지도 상에서 특정 촬영 지점이 선택된 때, 해당 선택된 촬영 지점의 주변 영역에 대한 VR(Virtual Reality) 영상을 생성하기 위해, 상기 촬영 지점을 비행하도록 무인 비행체(11)를 제어할 수 있다.
이 때, 컴퓨터 시스템(10)은, 무인 비행체(100)가 촬영 지점에서 일정한 고도를 유지하면서 호버링(Hovering) 비행을 수행하도록 무인 비행체(11)를 제어할 수 있다. 컴퓨터 시스템(10)은, 촬영 지점에서 호버링되고 있는 무인 비행체(11)가 촬영 지점으로부터 수평 방향으로 360도 회전하면서 복수의 제1 2D 영상 데이터를 획득하도록 할 수 있다. 복수의 제1 2D 영상 데이터의 각 제1 2D 영상 데이터는 촬영 지점으로부터 수평 방향으로 미리 정해진 제1 각도만큼 무인 비행체가 회전한 상태에서 카메라(25)가 상기 주변 영역을 촬영함으로써 획득될 수 있다.
컴퓨터 시스템(10)은, 수평 방향으로의 회전 동안의 각 제1 2D 영상 데이터의 촬영 위치에서, 카메라(25) 또는 무인 비행체(11)가 제1 수직 방향으로 회전하면서 복수의 제2 2D 영상 데이터를 획득하도록 무인 비행체(11)를 제어할 수 있다. 복수의 제2 2D 영상 데이터의 각 제2 2D 영상 데이터는 각 제1 2D 영상 데이터의 촬영 위치에서 제1 수직 방향으로 미리 정해진 제2 각도만큼 카메라(25) 또는 무인 비행체(11)가 회전한 상태에서 카메라(25)가 주변 영역을 촬영함으로써 획득될 수 있다.
컴퓨터 시스템(10)은, 무인 비행체(11)에 의한 촬영을 통해 획득된 복수의 제1 2D 영상 데이터 및 복수의 제2 2D 영상 데이터를 합성함으로써 촬영 지점의 주변 영역에 대한 VR 영상을 생성할 수 있다.
전술한, 무인 비행체(11)의 호버링, 복수의 제1 2D 영상 데이터 및 복수의 제2 2D 영상 데이터의 획득은, 컴퓨터 시스템(10)의 사용자가 단지 상기 촬영 위치를 선택하고, 무인 비행체(11)의 촬영 위치로의 VR 영상 생성을 위한 비행을 명령하는 것만으로 수행될 수 있다. 또한, 복수의 제1 2D 영상 데이터 및 복수의 제2 2D 영상 데이터를 합성함에 따른 VR 영상의 생성 역시 컴퓨터 시스템(10)에서 자동으로 수행될 수 있다.
말하자면, 스마트폰과 같은 사용자 단말인 컴퓨터 시스템(10)의 사용자는, 컴퓨터 시스템(10)에 설치된 무인 비행체(11)의 비행을 제어하기 위한 앱(어플리케이션)을 통해, 무인 비행체(11)의 개별적인 촬영을 제어하지 않고도, 단지 특정한 촬영 위치를 선택하고 무인 비행체(11)의 해당 촬영 위치로의 비행을 명령하는 것만으로, 간편하게 해당 촬영 지점의 주변 영역에 대한 VR 영상을 생성할 수 있다.
후술될 상세한 설명에서, 설명의 편의상 무인 비행체(11) 및 컴퓨터 시스템(10)(또는, 컴퓨터 시스템(12))의 구성들에 의해 수행되는 동작은 설명의 편의상 무인 비행체(11) 및 컴퓨터 시스템)(또는, 컴퓨터 시스템(12))에 의해 수행되는 것으로 기재될 수 있다. 또한, 후술될 상세한 설명에서 설명의 편의상 무인 비행체(11)는 "드론"으로만 명명되어 사용될 수 있다.
도 1b는 일 실시예에 따른 360도 VR 영상 제작을 위한 무인 비행체 비행 방법을 설명하기 위한 흐름도이다.
촬영 범위가 매우 넓은 현장에서는 이미 고성능 카메라를 장착한 무인 비행체를 활용한 측량 조사가 활발히 도입되고 있기 때문에, 이와는 별도로 360도 카메라를 추가로 운용하는 것은 불편하고 비효율적일 수 밖에 없다.
따라서 본 발명에서는 VR 영상을 제작하기 위해 기존 2D 카메라가 장착된 무인 비행체를 통해 일정 비율만큼의 중복율을 갖는 복수의 2D 영상 데이터를 획득하고, 이를 단말로 송신하여 복수의 2D 영상 데이터에 대한 이미지 스티칭을 통해 고품질의 3D VR 영상을 실시간으로 제작하는 방법을 제안한다.
제안하는 컴퓨터 시스템에 의해 수행되는 카메라가 장착된 무인 비행체의 비행을 제어하는 방법은 촬영 지점의 주변 영역에 대한 VR 영상을 생성하기 위해 촬영 지점을 비행하도록 무인 비행체를 제어하는 단계를 포함한다.
실시예에 따른 촬영 지점의 주변 영역에 대한 VR 영상을 생성하기 위해 촬영 지점을 비행하도록 무인 비행체를 제어하는 단계는 무인 비행체가 촬영 지점에서 일정한 고도를 유지하면서 호버링(Hovering) 비행을 수행하도록 무인 비행체를 제어하는 단계(110), 무인 비행체가 촬영 지점으로부터 수평 방향으로 360도 회전하면서 복수의 제1 2D 영상 데이터를 획득하도록 무인 비행체를 제어하는 단계(120), 수평 방향으로의 회전 동안의 각 제1 2D 영상 데이터의 촬영 위치에서 카메라 또는 무인 비행체가 제1 수직 방향으로 회전하면서 복수의 제2 2D 영상 데이터를 획득하는 단계(130) 및 복수의 제1 2D 영상 데이터 및 복수의 제2 2D 영상 데이터를 합성함으로써 VR 영상을 생성하는 단계(140)를 포함한다.
실시예에 따른 단계(110)에서, 컴퓨터 시스템은 무인 비행체가 촬영 지점에서 일정한 고도를 유지하면서 호버링 비행을 수행하도록 무인 비행체를 제어한다.
실시예에 따른 VR 영상을 제작하기 위한 촬영 지점으로부터 일정한 고도를 유지한 채로, 무인 비행체가 호버링 비행을 수행하도록 제어하고, 이때 카메라 또는 무인 비행체의 각도는 수평 방향인 0도를 향하도록 한다.
실시예에 따른 단계(120)에서, 컴퓨터 시스템은 무인 비행체가 촬영 지점으로부터 수평 방향으로 360도 회전하면서 복수의 제1 2D 영상 데이터를 획득하도록 무인 비행체를 제어한다.
실시예에 따르면, 촬영 지점에서 호버링되고 있는 무인 비행체가 촬영 지점으로부터 수평 방향으로 360도 회전하면서 복수의 제1 2D 영상 데이터를 획득하도록 제어할 수 있다. 복수의 제1 2D 영상 데이터의 각 제1 2D 영상 데이터는 촬영 지점으로부터 수평 방향으로 미리 정해진 제1 각도만큼 무인 비행체가 회전한 상태에서 카메라가 주변 영역을 촬영함으로써 획득될 수 있다.
실시예에 따른 제1 2D 영상 데이터의 개수는 무인 비행체의 수평 방향으로의 360도 회전 동안의 주변 영역에 대한 촬영 횟수인 수평 촬영 횟수일 수 있다.
실시예에 따른 복수의 제1 2D 영상 데이터를 획득하기 위한 제1 각도는 각 제1 2D 영상 데이터를 획득하는 수평 방위각 간격일 수 있다.
실시예에 따른 복수의 제1 2D 영상 데이터의 개수와 제1 각도는 복수의 제1 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작할 수 있도록 하기 위해 두 개의 제1 2D 영상 데이터 간에 미리 정해진 기준 이상의 수평 중복율을 갖도록 하는 값으로 설정될 수 있다.
실시예에 따르면, 무인 비행체의 현재 고도를 중심으로, 수평 방향으로 360도 회전 촬영을 수행하도록 제어할 수 있다. 무인 비행체에 장착된 카메라의 수평 화각 정보를 이용하여, 360도 촬영 범위에 대하여 설정된 수평 중복율을 만족하는 수평 촬영 횟수(Nh) 및 수평 방위각 정보를 산출할 수 있다.
실시예에 따른 단계(130)에서, 컴퓨터 시스템은 수평 방향으로의 회전 동안의 각 제1 2D 영상 데이터의 촬영 위치에서, 카메라 또는 무인 비행체가 제1 수직 방향으로 회전하도록 제어하면서 복수의 제2 2D 영상 데이터를 획득할 수 있다.
이때, 복수의 제2 2D 영상 데이터의 각 제2 2D 영상 데이터는 각 제1 2D 영상 데이터의 촬영 위치에서 제1 수직 방향으로 미리 정해진 제2 각도만큼 카메라 또는 무인 비행체가 회전한(즉, 기울어진) 상태에서 카메라가 주변 영역을 촬영함으로써 획득될 수 있다.
현장에서 요구하는 VR 촬영 비행을 위해서는, 아래 방향의 반구 형태로 2D 영상 데이터를 전부 획득해야 한다. 따라서 수직 방향으로의 중복율 또한 고려하여 수직 회전 촬영을 추가로 수행하도록 제어한다.
실시예에 따르면, 복수의 제2 2D 영상 데이터를 획득하는 단계가 각 제1 2D 영상 데이터의 촬영 위치에서 반복하여 수행되어, 무인 비행체가 수평 방향으로 360도를 회전하여 최초의 촬영 위치로 돌아 올 때까지 반복될 수 있다.
이때, 실시예에 따른 반구 형태의 제1 수직 방향으로의 회전은 최대 90도까지 회전시킬 수 있다.
실시예에 따른 제2 2D 영상 데이터의 개수는 무인 비행체 또는 카메라의 제1 수직 방향으로의 회전 동안의 주변 영역에 대한 촬영 횟수인 수직 촬영 횟수일 수 있다.
실시예에 따른 복수의 제2 2D 영상 데이터를 획득하기 위한 제2 각도는 각 제2 2D 영상 데이터를 획득하는 수직 방위각 간격이다.
실시예에 따른 제2 2D 영상 데이터의 개수와 제2 각도는 복수의 제2 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작할 수 있도록 하기 위해 두 개의 제2 2D 영상 데이터 간에 미리 정해진 기준 이상의 수직 중복율을 갖도록 하는 값으로 설정된다.
실시예에 따르면, 복수의 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작하기 위해 복수의 2D 영상 데이터가 미리 정해진 기준 이상의 수직 중복율을 갖도록 카메라 수직 화각과 수직 중복율에 따라 수직 방향으로 90도까지 회전하는 동안의 수직 촬영 횟수(Nv) 및 수직 방위각 간격이 설정된다.
실시예에 따른 수직 촬영 횟수 및 수직 방위각 간격은 카메라의 수직 화각 정보를 이용하며 계산 방법은 수평 회전 촬영과 유사하지만, 촬영 범위는 90도이고, 지면 방향인 카메라 각도 90도를 고려한다.
실시예에 따른 단계(140)에서, 컴퓨터 시스템은 복수의 제1 2D 영상 데이터 및 복수의 제2 2D 영상 데이터를 합성함으로써 VR 영상을 생성한다.
실시예에 따르면, 복수의 제1 2D 영상 데이터 및 복수의 제2 2D 영상 데이터에 대한 이미지 스티칭을 수행함으로써 3D VR 영상을 제작한다.
도 2는 일 실시예에 따른 드론을 일정한 고도로 유지하면서 호버링 비행을 수행하는 과정을 설명하기 위한 도면이다.
실시예에 따르면, 2D 카메라가 장착된 드론을 통해 VR 영상 제작을 위한 촬영 지점(210)으로부터 일정한 고도(220)를 유지하면서 호버링 비행을 수행한다. VR 영상을 제작하기 위한 촬영 지점(210)으로부터 일정한 고도(220)를 유지한 채로, 드론 호버링 비행을 수행하고, 이때 드론에 장착된 2D 카메라의 각도는 수평 방향(230)인 0도를 향하도록 한다.
도 3은 일 실시예에 따른 드론을 수평 방향으로 360도 회전시키면서 복수의 2D 영상 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 3a는 실시예에 따른 드론의 수평 방향 회전을 설명하기 위한 도면이고, 도 3b는 실시예에 따른 수평 촬영 횟수 및 수평 방위각 간격을 설명하기 위한 도면이다.
도 3a를 참조하면, 드론을 촬영 지점(310)으로부터 수평 방향으로 360도 회전(320)시키면서 복수의 2D 영상 데이터를 획득한다. 이때, 촬영 지점(310)으로부터 일정한 고도(330)를 유지한 채로, 드론 호버링 비행을 수행하고, 이때 드론에 장착된 2D 카메라의 각도는 수평 방향인 0도를 향하도록 한다.
도 3b를 참조하면, 실시예에 따른 복수의 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작하기 위해 복수의 2D 영상 데이터가 미리 정해진 기준 이상의 수평 중복율을 갖도록 카메라 수평 화각과 수평 중복율에 따라 수평 방향으로 360도 회전하는 동안의 수평 촬영 횟수 및 수평 방위각 간격이 설정된다.
실시예에 따르면, 드론의 현재 고도를 중심으로, 수평 방향으로 360도 회전 촬영을 수행할 수 있다.
드론에 장착된 2D 카메라의 수평 화각 정보(340)를 이용하여, 360도 촬영 범위에 대하여 설정된 수평 중복율(350)을 만족하는 수평 촬영 횟수(Nh) 및 수평 방위각 정보를 산출할 수 있다.
실시예에 따라 드론에 장착된 2D 카메라의 각도는 수평 방향인 0도를 유지한 채로, 수평 방향으로 360도 회전 촬영을 수행하는 것을 "수평 회전 촬영" 1회로 정의할 수 있다.
실시예에 따른 수평 회전 촬영 1회에 있어서 수평 촬영 횟수는 하기 수학식 1을 이용하여 설정될 수 있다:
[수학식 1]
수평 촬영 횟수(Nh) = 360도 / (카메라 수평 화각 * (1 - 수평 중복율))
실시예에 따른 수평 회전 촬영 1회에 있어서 수평 방위각 간격은 하기 수학식 2을 이용하여 설정된다:
[수학식 2]
수평 방위각 간격 = 360도 / 수평 촬영 횟수
도 4는 일 실시예에 따른 이미지 스티칭 기술을 설명하기 위한 도면이다.
3D VR 영상 1개를 제작하기 위해서는 복수의 2D 영상 데이터를 획득해야 하며, 이때 2D 영상 간에는 일정 비율만큼의 중복율을 가져야만 이미지 스티칭을 통해 고품질의 VR 영상을 제작할 수 있다.
도 4를 참조하면, 제1 2D 영상 데이터(410)와 제2 2D 영상 데이터(420)는 일정 부분의 영상이 중복됨을 알 수 있다. 이와 같이 일정 비율만큼의 중복율을 갖는 제1 2D 영상 데이터(410)와 제2 2D 영상 데이터(420)를 이용하여 이미지 스티칭을 통해 고품질의 VR 영상(430)을 제작할 수 있다.
따라서, 본 발명에서는 복수의 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작하기 위해 복수의 2D 영상 데이터가 미리 정해진 기준 이상의 수평 중복율을 갖도록 카메라의 수평 화각과 수평 중복율 및 수직 화각과 수직 중복율에 따라 수평 촬영 횟수, 수평 방위각 간격, 수직 촬영 횟수 및 수직 방위각 간격을 설정한다.
소정의 수평 중복율 및/또는 수직 중복율은 컴퓨터 시스템(10)의 사용자에 의해 설정되거나, 무인 비행체(10)의 카메라의 스펙에 따라 자동으로 결정될 수 있다. 실시예에서는, 수평 중복율 및/또는 수직 중복율이 사용자에 의해 설정되면, 설정된 수평 중복율 및/또는 수직 중복율에 따라 자동으로 수평/수직 방위각 간격 및 수평/수직 촬영 횟수가 결정될 수 있다. 수직 방위각 간격 및 수직 촬영 횟수를 계산하는 방법에 대해서는 도 5를 참조하여 더 자세하게 설명된다.
도 5는 일 실시예에 따른 드론을 반구 형태의 수직 방향으로 회전시키면서 복수의 2D 영상 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 5a는 실시예에 따른 드론의 수직 방향 회전을 설명하기 위한 도면이고, 도 5b는 실시예에 따른 수직 촬영 횟수 및 수직 방위각 간격을 설명하기 위한 도면이다.
도 5a를 참조하면, 수평 방향으로 360도 회전 후, 드론을 촬영 지점(510)에서 일정한 고도(520)를 유지한 채로, 2D 카메라의 각도는 수평 방향(531)인 0도를 향하도록 한다. 이후, 촬영 지점(510)으로부터 반구 형태의 제1 수직 방향(532)으로 회전시키면서 복수의 2D 영상 데이터를 획득할 수 있다.
반구 형태의 제1 수직 방향으로 회전 후, 드론을 촬영 지점(510)으로부터 수평 방향으로 미리 정해진 각도만큼 회전 후 2D 카메라를 반구 형태의 제2 수직 방향으로 회전시키면서 복수의 2D 영상 데이터를 획득한다. 여기서, 미리 정해진 각도만큼의 회전은 도 3(b)에서 설명된 수평 방위각 간격일 수 있다.
현장에서 요구하는 VR 촬영 비행을 위해서는, 아래 방향의 반구 형태로 2D 영상 데이터를 전부 획득해야 한다. 따라서 수직 방향으로의 중복율 또한 고려하여 수직 회전 촬영을 추가로 수행한다.
도 5b를 참조하면, 수평 방향으로 미리 정해진 각도만큼의 회전을 360도를 회전하여 촬영 지점(510)으로 되돌아 올 때까지 상술된 수직 회전 단계를 반복한다. 각각의 수평 방향(531)으로 미리 정해진 각도만큼의 회전 후, 2D 카메라를 반구 형태의 해당 수직 방향(532)으로 회전시키면서 복수의 2D 영상 데이터를 획득한다. 이때, 실시예에 따른 반구 형태의 해당 수직 방향으로의 회전은 90도까지 회전시킬 수 있다.
실시예에 따르면, 획득된 복수의 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작하기 위해 복수의 2D 영상 데이터가 미리 정해진 기준 이상의 수직 중복율(550)을 갖도록 카메라 수직 화각(540)과 수직 중복율(532)에 따라 수직 방향으로 90도까지 회전하는 동안의 수직 촬영 횟수(Nv) 및 수직 방위각 간격이 설정될 수 있다.
실시예에 따른 수직 촬영 횟수 및 수직 방위각 간격은 2D 카메라의 수직 화각 정보를 이용하며 계산 방법은 수평 회전 촬영과 유사하지만, 촬영 범위는 90도이고, 지면 방향인 카메라 각도 90도를 고려할 수 있다.
실시예에 따른 수직 촬영 횟수(Nv)는 하기 수학식 3을 이용하여 설정된다:
[수학식 3]
수직 촬영 횟수(Nv) = {90도 / (카메라 수직 화각 * (1 - 수직 중복율))} + 1
실시예에 따른 수직 방위각 간격은 하기 수학식 4를 이용하여 설정된다:
[수학식 4]
수직 방위각 간격 = 90도 / (수직 촬영 횟수 - 1)
도 6은 일 실시예에 따른 360도 VR 영상 제작 과정을 설명하기 위한 예시도이다.
도 6a는 실시예에 따른 드론 비행 제어 및 VR 영상 생성 앱을 이용한 360도 VR 비행 설계 과정을 설명하기 위한 도면이고, 도 6a는 실시예에 따라 제작된 VR 영상을 설명하기 위한 도면이다.
도 6a를 참조하면, 드론 비행 제어 및 VR 영상 생성 앱을 이용한 비행 설계 화면(610)을 도시하였다. 실시예에 따른 비행 설계 종류로는 일반 비행 설계(611), 비행설계2(612) 및 VR 비행 설계(613)를 포함할 수 있다.
실시예에 따른 360도 VR 영상 제작을 위해 VR 비행 설계(613) UI를 선택하면, 360도 VR 영상 제작을 위한 비행설계추가 화면(620)으로 이동할 수 있다.
실시예에 따른 비행설계추가 화면(620)에서는 VR 비행을 수행하기 위한 드론에 관한 정보를 입력하고, 360도 VR 영상 제작을 위한 지정위치를 지도 화면에서 선택할 수 있고, 드론의 비행 속도, 카메라 각도, 중복율 및 계획 고도 등을 설정할 수 있다.
실시예에 따른 VR 비행 설계의 경우, 비행 시 VR 비행을 수행하며 VR 비행은 현위치에서 설정된 고도까지 상승 후, 지정위치의 포인트까지 지정고도로 이동하여 해당 포인트에서 수평 회전(예컨대, 2회의 수평 회전)을 수행한다.
실시예에 따르면, 각 수평 회전은 8번의 촬영(앞서 설명된 수학식들에 따른 수평 화각에 따라 달라짐)을 수행할 수 있다. 다시 말해, 수평 방위각 간격은 45도이고, 수평 촬영 횟수는 8이 될 수 있다.
수평 회전 시 각각의 수평 방위각 간격 마다 카메라 각도는 수직 방위각 간격에 따라 수직 회전을 하며 8번의 촬영(앞서 설명된 공식에 따른 수직 화각에 따라 달라짐)을 수행할 수 있다. 다시 말해, 수직 방위각 간격은 11.25도이고, 수직 촬영 횟수는 8이 될 수 있다.
도 6a에서 도시된 것처럼, 실시예에서는, VR 비행을 설계함에 있어서, 복수의 촬영 위치들을 지정할 수도 있다. 예컨대, 도시된 것처럼, 지도 화면에서 서로 다른 두 지점들(VR1 및 VR2)이 선택될 수 있다. 이 때, 컴퓨터 시스템(10)은 두 지점들의 각각에서 VR 영상을 생성하기 위해 드론을 비행시킬 수 있고, 드론으로부터의 이미지 데이터에 기반하여 각 촬영 위치에 해당하는 각 지점(VR1 또는 VR2) 주변 영역에 대한 VR 영상을 생성할 수 있다. 이처럼, 실시예에서는 컴퓨터 시스템(10)은 드론에 대한 한 번의 비행 명령을 통해 복수의 지점들의 각각에 대해 VR 영상을 생성할 수 있다.
도 6b를 참조하면, 드론 비행 제어 및 VR 영상 생성 앱을 이용한 비행 결과 화면(630)고, 제작된 VR 영상(640)을 도시하였다.
드론은 복수의 2D 영상 데이터 획득 후 홈 위치에 도착하며 사진을 단말로 싱크하게 되고 복수의 2D 영상 데이터가 단말로 모두 전송이 되며 단말에서 VR 영상 메이킹 작업이 진행될 수 있다. 단말은 수초 이내에 VR 영상 제작을 완료하며, 비행 결과 화면(630)에서 지도 상의 VR1, VR2 포인트를 누르면 해당 위치의 VR 영상으로 전환되어 360도 VR 영상을 선명하게 볼 수 있다.
도시된 것처럼, 실시예에서는 사용자 단말인 컴퓨터 시스템(10) 상에서 드론으로부터의 복수의 이미지 데이터(이미지들)에 기반한 VR 영상이 생성될 수 있고, 생성된 VR 영상은 해당 VR 영상과 연관된 촬영 위치에 해당하는 지도 상의 위치에서 표시될 수 있다. 즉, 도시된 비행 결과 화면(630)은 지도 상에 생성된 VR 영상들을 각각 나타내는 인디케이터 또는 아이콘(VR1 또는 VR2)을 표시하는 화면일 수 있다. 컴퓨터 시스템(10)은 선택된 인디케이터 또는 아이콘(VR1 또는 VR2)에 해당하는 VR 영상을 화면에 표시할 수 있다. 표시된 VR 영상은 360도 또는 파노라마 영상으로서 사용자의 제스처에 의해 시점(viewpoint)이 제어될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (10)
- 컴퓨터 시스템에 의해 수행되는, 카메라가 장착된 무인 비행체의 비행을 제어하는 방법에 있어서,
지도 화면에서 복수의 촬영 지점들에 대한 선택을 수신하는 단계 - 상기 촬영 지점들의 각각은 각 촬영 지점의 주변 영역에 대한 VR 영상을 생성하기 위한 상기 무인 비행체의 촬영 위치임 -;
상기 촬영 지점들의 각 촬영 지점에 대해, 상기 각 촬영 지점의 주변 영역에 대한 VR(Virtual Reality) 영상을 생성하기 위해, 상기 각 촬영 지점을 비행하도록 상기 무인 비행체를 제어하는 단계
를 포함하고,
상기 무인 비행체를 제어하는 단계에 의해, 상기 무인 비행체는 한 번의 비행으로 상기 복수의 촬영 지점들의 각각에서 주변 영역을 촬영하도록 제어되고,
상기 제어하는 단계는,
상기 무인 비행체가 상기 각 촬영 지점에서 일정한 고도를 유지하면서 호버링(Hovering) 비행을 수행하도록 상기 무인 비행체를 제어하는 단계;
상기 무인 비행체가 상기 각 촬영 지점으로부터 수평 방향으로 360도 회전하면서 복수의 제1 2D 영상 데이터를 획득하도록 상기 무인 비행체를 제어하는 단계 - 상기 복수의 제1 2D 영상 데이터의 각 제1 2D 영상 데이터는 상기 각 촬영 지점으로부터 수평 방향으로 미리 정해진 제1 각도만큼 상기 무인 비행체가 회전한 상태에서 상기 카메라가 상기 주변 영역을 촬영함으로써 획득됨 -; 및
상기 수평 방향으로의 회전 동안의 상기 각 제1 2D 영상 데이터의 촬영 위치에서, 상기 카메라 또는 상기 무인 비행체가 제1 수직 방향으로 회전하면서 복수의 제2 2D 영상 데이터를 획득하는 단계 - 상기 복수의 제2 2D 영상 데이터의 각 제2 2D 영상 데이터는 상기 각 제1 2D 영상 데이터의 촬영 위치에서 상기 제1 수직 방향으로 미리 정해진 제2 각도만큼 상기 카메라 또는 상기 무인 비행체가 회전한 상태에서 상기 카메라가 상기 주변 영역을 촬영함으로써 획득됨 -
를 포함하고,
상기 제어하는 단계에 의해, 상기 무인 비행체는 상기 각 촬영 지점에서 수평 방향으로 1회 360도 회전하는 것으로 상기 복수의 제1 2D 영상 데이터 및 상기 복수의 제2 2D 영상 데이터를 획득하도록 제어되고,
상기 복수의 제1 2D 영상 데이터 및 상기 복수의 제2 2D 영상 데이터를 합성함으로써 상기 각 촬영 지점에 대한 VR 영상을 생성하는 단계;
상기 각 촬영 지점에 대해 생성된 VR 영상을 상기 지도 화면 상의 상기 각 촬영 지점에 대해 매핑하는 단계; 및
상기 지도 화면 상의 상기 복수의 촬영 지점들 중 어느 하나가 선택되면, 선택된 촬영 지점에 매핑된 VR 영상을 컴퓨터 시스템의 화면에서 표시하는 단계
를 포함하는 무인 비행체의 비행을 제어하는 방법. - 제1항에 있어서,
상기 제1 2D 영상 데이터의 개수는 상기 무인 비행체의 수평 방향으로의 360도 회전 동안의 상기 주변 영역에 대한 촬영 횟수인 수평 촬영 횟수이고,
상기 복수의 제1 2D 영상 데이터를 획득하기 위한 상기 제1 각도는 상기 각 제1 2D 영상 데이터를 획득하는 수평 방위각 간격이고,
상기 복수의 제1 2D 영상 데이터의 개수와 상기 제1 각도는,
상기 복수의 제1 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작할 수 있도록 하기 위해 두 개의 제1 2D 영상 데이터 간에 미리 정해진 기준 이상의 수평 중복율을 갖도록 하는 값으로 설정되는
무인 비행체의 비행을 제어하는 방법. - 제2항에 있어서,
상기 수평 촬영 횟수는 하기식을 이용하여 설정되는
수평 촬영 횟수 = 360도 / (카메라 수평 화각 * (1 - 수평 중복율))
무인 비행체의 비행을 제어하는 방법. - 제2항에 있어서,
상기 수평 방위각 간격은 하기식을 이용하여 설정되는
수평 방위각 간격 = 360도 / 수평 촬영 횟수
무인 비행체의 비행을 제어하는 방법. - 제2항에 있어서,
상기 복수의 제2 2D 영상 데이터를 획득하는 단계는, 상기 각 제1 2D 영상 데이터의 촬영 위치에서 반복하여 수행되어, 상기 무인 비행체가 수평 방향으로 360도를 회전하여 최초의 촬영 위치로 돌아 올 때까지 반복되는
무인 비행체의 비행을 제어하는 방법. - 제5항에 있어서,
상기 제1 수직 방향으로의 회전은 최대 90도인
무인 비행체의 비행을 제어하는 방법. - 제6항에 있어서,
상기 제2 2D 영상 데이터의 개수는 상기 무인 비행체 또는 상기 카메라의 제1 수직 방향으로의 회전 동안의 상기 주변 영역에 대한 촬영 횟수인 수직 촬영 횟수이고,
상기 복수의 제2 2D 영상 데이터를 획득하기 위한 상기 제2 각도는 상기 각 제2 2D 영상 데이터를 획득하는 수직 방위각 간격이고,
상기 제2 2D 영상 데이터의 개수와 상기 제2 각도는 상기 복수의 제2 2D 영상 데이터에 대한 이미지 스티칭을 수행하여 3D VR 영상을 제작할 수 있도록 하기 위해 두 개의 제2 2D 영상 데이터 간에 미리 정해진 기준 이상의 수직 중복율을 갖도록 하는 값으로 설정되는
무인 비행체의 비행을 제어하는 방법. - 제7항에 있어서,
상기 수직 촬영 횟수는 하기식을 이용하여 설정되는
수직 촬영 횟수 = {90도 / (카메라 수직 화각 * (1 - 수직 중복율))} + 1
무인 비행체의 비행을 제어하는 방법. - 제7항에 있어서,
상기 수직 방위각 간격은 하기식을 이용하여 설정되는
수직 방위각 간격 = 90도 / (수직 촬영 횟수 - 1)
무인 비행체의 비행을 제어하는 방법. - 제1항에 있어서,
상기 VR 영상을 생성하는 단계는,
상기 복수의 제1 2D 영상 데이터 및 상기 복수의 제2 2D 영상 데이터에 대한 이미지 스티칭을 수행함으로써 3D VR 영상을 제작하는 단계
를 포함하는 무인 비행체의 비행을 제어하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220094471A KR102542181B1 (ko) | 2022-07-29 | 2022-07-29 | 360도 vr 영상 제작을 위한 무인 비행체 제어 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220094471A KR102542181B1 (ko) | 2022-07-29 | 2022-07-29 | 360도 vr 영상 제작을 위한 무인 비행체 제어 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102542181B1 true KR102542181B1 (ko) | 2023-06-14 |
Family
ID=86744552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220094471A KR102542181B1 (ko) | 2022-07-29 | 2022-07-29 | 360도 vr 영상 제작을 위한 무인 비행체 제어 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102542181B1 (ko) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11122521A (ja) * | 1997-08-11 | 1999-04-30 | Sony Corp | ディジタル撮像装置および撮像方法 |
JP2005025564A (ja) * | 2003-07-03 | 2005-01-27 | Canon Inc | 画像表示装置及び画像表示方法並びに記録媒体 |
-
2022
- 2022-07-29 KR KR1020220094471A patent/KR102542181B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11122521A (ja) * | 1997-08-11 | 1999-04-30 | Sony Corp | ディジタル撮像装置および撮像方法 |
JP2005025564A (ja) * | 2003-07-03 | 2005-01-27 | Canon Inc | 画像表示装置及び画像表示方法並びに記録媒体 |
Non-Patent Citations (2)
Title |
---|
드론으로 360 VR 사진을 촬영해 보자, 2017년 10월 12일, URL: https://post.naver.com/viewer/postView.nhn?volumeNo=9976191&memberNo=21065 * |
레이캣, 드론으로 360 VR 사진을 촬영해 보자, 2017년 10월 12일, 인터넷: <URL: https://post.naver.com/viewer/postView.nhn?volumeNo=9976191&memberNo=21065> * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11644832B2 (en) | User interaction paradigms for a flying digital assistant | |
US11797009B2 (en) | Unmanned aerial image capture platform | |
US11635775B2 (en) | Systems and methods for UAV interactive instructions and control | |
US11377211B2 (en) | Flight path generation method, flight path generation system, flight vehicle, program, and storage medium | |
US20210072745A1 (en) | Systems and methods for uav flight control | |
EP3368957B1 (en) | Systems and methods for uav path planning and control | |
US10086954B2 (en) | UAV flight display | |
JP6228679B2 (ja) | ジンバル及びジンバルシミュレーションシステム | |
US20190253611A1 (en) | Systems and methods for controlling an image captured by an imaging device | |
CN108769531B (zh) | 控制拍摄装置的拍摄角度的方法、控制装置及遥控器 | |
US20190049949A1 (en) | Modified-reality device and method for operating a modified-reality device | |
WO2018178756A1 (en) | System and method for providing autonomous photography and videography | |
JP6765512B2 (ja) | 飛行経路生成方法、情報処理装置、飛行経路生成システム、プログラム及び記録媒体 | |
WO2020143677A1 (zh) | 一种飞行控制方法及飞行控制系统 | |
JP6862477B2 (ja) | 位置処理装置、飛行体、位置処理システム、飛行システム、位置処理方法、飛行制御方法、プログラム、及び記録媒体 | |
US20190373184A1 (en) | Image display method, image display system, flying object, program, and recording medium | |
US20210034052A1 (en) | Information processing device, instruction method for prompting information, program, and recording medium | |
WO2021251441A1 (ja) | 方法、システムおよびプログラム | |
JP2020036163A (ja) | 情報処理装置、撮影制御方法、プログラム及び記録媒体 | |
JP7435599B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
KR102542181B1 (ko) | 360도 vr 영상 제작을 위한 무인 비행체 제어 방법 및 장치 | |
US20210092306A1 (en) | Movable body, image generation method, program, and recording medium | |
JP2019082837A (ja) | 情報処理装置、飛行制御指示方法、プログラム、及び記録媒体 | |
JP6684012B1 (ja) | 情報処理装置および情報処理方法 | |
WO2018045654A1 (zh) | 显示可移动装置的状态的方法、系统和控制装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |