[국내논문]근거리 영상정보를 활용한 실감형 재난재해 대피 훈련 가상 현실 구현 Implementation of virtual reality for interactive disaster evacuation training using close-range image information원문보기
드론 및 지상에서 촬영된 근거리 영상 정보는 3D 모델링 및 매핑 등을 통해 재해 저감 분야에서 자주 사용되어 왔다. 게다가 실사와 같은 3D 모델을 이용하여 가상현실과 함께 대규모 재난재해 상황을 모의할 수 있는 가상현실 구현 기술을 통해 그 활용도가 증가하고 있다. 본 논문에서는 무인 항공기 및 디지털 카메라 영상으로부터 실사와 같은 3D 모델을 추출하여 가상현실 훈련 프로그램을 구현하였으며, 이 과정에서 발생하는 다양한 문제점과 가상현실을 재난재해 훈련 상황에 적용했을 경우의 효과에 대해 검토하였다. 먼저 재해 발생 상황의 시나리오를 만들고, 근거리 이미지를 획득한 후 이미지 처리를 사용하여 3D 모델을 만들었으며, 완성된 3D 모델은 증강/가상현실 개발 프로그램인 Unity를 이용하여 가상현실의 배경으로 설정하고, 안드로이드 휴대폰을 위한 가상현실 환경을 C# 기반 스크립트를 이용하여 생성하였다. 생성된 가상현실은 재해 발생 시, 훈련자가 가상현실에서 대피 요령에 맞는 대피 경로를 따라 안전 장소까지 이동하는 시나리오를 포함하고 있으며, 성공적으로 가상훈련이 가능할 것으로 판단되었다. 또 구성된 가상현실을 통한 훈련은 비용, 공간, 시간적 효율성에 있어서 실제 대피 훈련보다 우위에 있는 것으로 확인하였다.
드론 및 지상에서 촬영된 근거리 영상 정보는 3D 모델링 및 매핑 등을 통해 재해 저감 분야에서 자주 사용되어 왔다. 게다가 실사와 같은 3D 모델을 이용하여 가상현실과 함께 대규모 재난재해 상황을 모의할 수 있는 가상현실 구현 기술을 통해 그 활용도가 증가하고 있다. 본 논문에서는 무인 항공기 및 디지털 카메라 영상으로부터 실사와 같은 3D 모델을 추출하여 가상현실 훈련 프로그램을 구현하였으며, 이 과정에서 발생하는 다양한 문제점과 가상현실을 재난재해 훈련 상황에 적용했을 경우의 효과에 대해 검토하였다. 먼저 재해 발생 상황의 시나리오를 만들고, 근거리 이미지를 획득한 후 이미지 처리를 사용하여 3D 모델을 만들었으며, 완성된 3D 모델은 증강/가상현실 개발 프로그램인 Unity를 이용하여 가상현실의 배경으로 설정하고, 안드로이드 휴대폰을 위한 가상현실 환경을 C# 기반 스크립트를 이용하여 생성하였다. 생성된 가상현실은 재해 발생 시, 훈련자가 가상현실에서 대피 요령에 맞는 대피 경로를 따라 안전 장소까지 이동하는 시나리오를 포함하고 있으며, 성공적으로 가상훈련이 가능할 것으로 판단되었다. 또 구성된 가상현실을 통한 훈련은 비용, 공간, 시간적 효율성에 있어서 실제 대피 훈련보다 우위에 있는 것으로 확인하였다.
Cloase-range image information from drones and ground-based camera has been frequently used in the field of disaster mitigation with 3D modeling and mapping. In addition, the utilization of virtual reality(VR) is being increased by implementing realistic 3D models with the VR technology simulating d...
Cloase-range image information from drones and ground-based camera has been frequently used in the field of disaster mitigation with 3D modeling and mapping. In addition, the utilization of virtual reality(VR) is being increased by implementing realistic 3D models with the VR technology simulating disaster circumstances in large scale. In this paper, we created a VR training program by extracting realistic 3D models from close-range images from unmanned aircraft and digital camera on hand and observed several issues occurring during the implementation and the effectiveness in the case of a VR application in training for disaster mitigation. First of all, we built up a scenario of disaster and created 3D models after image processing with the close-range imagery. The 3D models were imported into Unity, a software for creation of augmented/virtual reality, as a background for android-based mobile phones and VR environment was created with C#-based script language. The generated virtual reality includes a scenario in which the trainer moves to a safe place along the evacuation route in the event of a disaster, and it was considered that the successful training can be obtained with virtual reality. In addition, the training through the virtual reality has advantages relative to actual evacuation training in terms of cost, space and time efficiencies.
Cloase-range image information from drones and ground-based camera has been frequently used in the field of disaster mitigation with 3D modeling and mapping. In addition, the utilization of virtual reality(VR) is being increased by implementing realistic 3D models with the VR technology simulating disaster circumstances in large scale. In this paper, we created a VR training program by extracting realistic 3D models from close-range images from unmanned aircraft and digital camera on hand and observed several issues occurring during the implementation and the effectiveness in the case of a VR application in training for disaster mitigation. First of all, we built up a scenario of disaster and created 3D models after image processing with the close-range imagery. The 3D models were imported into Unity, a software for creation of augmented/virtual reality, as a background for android-based mobile phones and VR environment was created with C#-based script language. The generated virtual reality includes a scenario in which the trainer moves to a safe place along the evacuation route in the event of a disaster, and it was considered that the successful training can be obtained with virtual reality. In addition, the training through the virtual reality has advantages relative to actual evacuation training in terms of cost, space and time efficiencies.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 연구는 금오공과대학교를 대상으로 드론 및 미러리스 카메라를 이용한 근거리 영상정보를 활용하여 3차원 공간정보를 제작하고, 이를 활용하여 재난재해 대피 시 모의 훈련이 가능한 가상현실 시스템을 구현하였고, 이때 발생할 수 있는 문제점 및 해결 방안을 고찰하였다. 또한 이미지 데이터를 기반으로 생성된 3D 모델이 실제 가상현실에의 적용 적합성에 대해 분석하고, 기존의 재난 대피훈련과 비교하여 3차원 공간정보와 가상현실이 얼마나 재난 대피훈련을 효과적인지 비교하였다.
본 연구에서는 참고를 위해 실제 연구대상 지역인 금오공과대학교에서 실시하는 규정에 따른 기존의 훈련방식과 본 연구를 통해 구현한 가상현실 훈련방식을 간단히 비교해 보았다.
제안 방법
본 연구에서는 공간구조에 적합한 사진측량 방법(지상사진촬영, 항공사진촬영)을 통해 근거리 영상 즉, 이미지 데이터를 획득하고 이를 기반으로 3D 모델 생성, 수정을 통해 실세계를 컴퓨터 3D 모델로 생성하였다. 3D 모델 생성 프로그램으로는 ContextCapure, 수정에는 ZBrush 프로그램을 이용하였으며 가상현실 구현에는 Google VR SDK와 Unity 프로그램으로 구현할 수 있었으며 가상현실에서 필요한 3D 오브젝트(사용자 캐릭터, 경로점) 및 스크립트를 생성하여 실감형 재난재해 대피훈련을 위해 가상현실 환경을 구현하였다. 최종적으로 구축된 가상현실은 안드로이드 스마트폰 애플리케이션으로 생성하여 사용자는 휴대폰과 HMD를 이용하여 원하는 장소에서 반복적으로 재난재해 대피훈련을 실행할 수 있다.
이를 보완하기 위해 3D 모델 수정 프로그램인 Pixologic사의 ZBrush2018 3D 그래픽 프로그램을 사용하였다. Zbrush에는 메쉬를 수정할 수 있는 많은 Brush가 있지만, 특히 3D 모델 메쉬의 주된 형태는 면의 형태이므로 면 형태를 수정하기에 적합한 Move, Stitch, Hide, Smooth Brush를 사용하였다. 3D 메쉬 수정은 특징점이 없어 메쉬가 생성되지 않거나 메쉬의 구멍이 생긴 경우 Brush를 이용하여 수정 또는 새로운 메쉬를 생성하였다.
가상현실 구현을 위해 재난재해 대피 시나리오를 만들어 연구대상 지역, 가상현실 구현방법, 대피경로 등을 설정하였다. 가상현실 시나리오의 배경은 최초 사용자의 위치인 금오공과대학교 글로벌관 2층의 연구실, 최종 사용자의 위치인 금오공과대학교 대운동장, 그리고 그 사이의 경로이다.
따라서 가상현실 시나리오 및 공간 구조 특징을 반영한 총 6개의 촬영 구역(표 3)으로 나누어 3D 모델링 작업을 수행한 후 이들을 접합하는 방식을 적용하였다. 각 구역별로 이미지 데이터를 나누고 Control Point, Automatic Trianglulation, Reconstruction 작업을 거쳐 3D 모델 공간을 생성하였으며, 각 구역은 다시 생성되는 공간정보(포인트 클라우드)의 양에 따라 각 구역을 그림 12와 같이 직육면체 형태의 타일(Tile)로 재분할하여 3D 모델링을 수행하였다. 최종 생성된 메쉬 포맷은 OBJ, 텍스쳐 포맷은 JPEG로 생성하였다.
따라서 가상현실 시나리오에서 분류한 구역에 따라 총 6개의 구역으로 나누어 3D 모델링 작업을 수행한 후 이들을 접합하는 방식을 적용하였다. 각 구역별로 이미지 데이터를 나누고 Control Point, Automatic Trianglulation, Reconstruction 작업을 거쳐 총 6개의 3D 모델 공간을 생성하였다. 그러나 여전히 구역 공간의 면적이 넓어 여전히 Mesh와 Texture 정보를 잘 구현하지 못해 각 구역을 직육면체 형태로 재분할하여 각 Tile을 3D 모델링 후 이들을 접합하였다.
각 구역별로 이미지 데이터를 나누고 Control Point, Automatic Trianglulation, Reconstruction 작업을 거쳐 총 6개의 3D 모델 공간을 생성하였다. 그러나 여전히 구역 공간의 면적이 넓어 여전히 Mesh와 Texture 정보를 잘 구현하지 못해 각 구역을 직육면체 형태로 재분할하여 각 Tile을 3D 모델링 후 이들을 접합하였다. 표 3은 구역 및 Tile의 분할 정보를 나타내고 있다.
다음으로 각 Scene에 사용자와 배경이 될 3D 모델을 불러들인 후 대피 경로에 맞게 경로점를 배치하고 Bulid Settings에서 각 Scene을 순서에 맞게 추가하여(그림 13) 순차적으로 장면을 변화시킬 수 있었다. Unity에서는 이러한 장면 변화 방식을 이용하기 위해 SceneManager 클래스를 지원한다.
3D 모델 생성과정에서 이미지 데이터가 많거나 넓은 범위의 작업을 수행할 경우, 작업 시간이 길어지고 3D 모델과 텍스쳐의 용량과 크기가 커져 3D 모델을 Unity에서 불러들이거나, 수정 및 편집이 어렵게 된다. 따라서 가상현실 시나리오 및 공간 구조 특징을 반영한 총 6개의 촬영 구역(표 3)으로 나누어 3D 모델링 작업을 수행한 후 이들을 접합하는 방식을 적용하였다. 각 구역별로 이미지 데이터를 나누고 Control Point, Automatic Trianglulation, Reconstruction 작업을 거쳐 3D 모델 공간을 생성하였으며, 각 구역은 다시 생성되는 공간정보(포인트 클라우드)의 양에 따라 각 구역을 그림 12와 같이 직육면체 형태의 타일(Tile)로 재분할하여 3D 모델링을 수행하였다.
3D 모델 생성과정에서 이미지 데이터가 많거나 넓은 범위의 작업을 수행할 경우, 작업 시간이 길어지고 3D 모델링과 Texture의 용량과 크기가 커져 최종 3D 모델을 다른 프로그램으로 불러들이기, 수정 및 편집이 어렵거나 불가능하게 된다. 따라서 가상현실 시나리오에서 분류한 구역에 따라 총 6개의 구역으로 나누어 3D 모델링 작업을 수행한 후 이들을 접합하는 방식을 적용하였다. 각 구역별로 이미지 데이터를 나누고 Control Point, Automatic Trianglulation, Reconstruction 작업을 거쳐 총 6개의 3D 모델 공간을 생성하였다.
따라서, 일조량이 적절하고 영상의 질이 비교적 높은 맑은 오후 3시 경에 영상을 수집하여 그림 6(b)과 같이 3D 모델을 생성하였다. 또 사람, 차량과 같이 움직이는 물체가 많을 경우, 3D 모델 생성이 원활하지 못해 현실성이 떨어지고 실제 사물의 정보에 오류가 생겨 가상현실에서 필요 없는 3D 메쉬가 생성되므로 이를 최대한 고려하여 항공 촬영을 실시하였다.
먼저 최초 사용자 위치인 금오공과대학교 글로벌관에서 실외로 나가는 부분은 지상사진촬영을 통해 영상을 취득하였으며, 이동경로와 안전지역인 대운동장까지는 드론을 이용한 항공사진촬영을 통해 영상을 취득하였다. 또한 실내는 총 5개의 구역으로 나누어 공간 구조를 효과적으로 잘 반영할 수 있도록 촬영하였고, 실외는 2개의 구역으로 나누어 드론 자동 비행계획을 세워 촬영하였다.
본 연구는 금오공과대학교를 대상으로 드론 및 미러리스 카메라를 이용한 근거리 영상정보를 활용하여 3차원 공간정보를 제작하고, 이를 활용하여 재난재해 대피 시 모의 훈련이 가능한 가상현실 시스템을 구현하였고, 이때 발생할 수 있는 문제점 및 해결 방안을 고찰하였다. 또한 이미지 데이터를 기반으로 생성된 3D 모델이 실제 가상현실에의 적용 적합성에 대해 분석하고, 기존의 재난 대피훈련과 비교하여 3차원 공간정보와 가상현실이 얼마나 재난 대피훈련을 효과적인지 비교하였다.
따라서 이 로직이 반복되면서 첫 번째 WayPoint에서 마지막 WayPoint까지 순차적으로 사용자를 이동하게 한다. 마지막으로 그림 5과 같이 생성된 3D 모델을 Import 후 가상현실 시나리오 경로에 따라 WayPoint를 배치하여 가상현실 환경을 구현하였다.
먼저 스크립트 ‘MoveCtrl'에 상단에 ‘SceneManagement’클래스 추가하고 사용자가 해당 Scene에서 마지막 경로점과 충돌시 다음 Scene으로 넘어가는 조건식을 OnTriggerEnter 함수에 포함시켰다.
영상은 가상현실 시나리오에 따라 구역을 나누어 각각의 공간 특성에 맞는 촬영 방법을 통해 수집하였다. 먼저 최초 사용자 위치인 금오공과대학교 글로벌관에서 실외로 나가는 부분은 지상사진촬영을 통해 영상을 취득하였으며, 이동경로와 안전지역인 대운동장까지는 드론을 이용한 항공사진촬영을 통해 영상을 취득하였다. 또한 실내는 총 5개의 구역으로 나누어 공간 구조를 효과적으로 잘 반영할 수 있도록 촬영하였고, 실외는 2개의 구역으로 나누어 드론 자동 비행계획을 세워 촬영하였다.
본 연구에서는 공간구조에 적합한 사진측량 방법(지상사진촬영, 항공사진촬영)을 통해 근거리 영상 즉, 이미지 데이터를 획득하고 이를 기반으로 3D 모델 생성, 수정을 통해 실세계를 컴퓨터 3D 모델로 생성하였다. 3D 모델 생성 프로그램으로는 ContextCapure, 수정에는 ZBrush 프로그램을 이용하였으며 가상현실 구현에는 Google VR SDK와 Unity 프로그램으로 구현할 수 있었으며 가상현실에서 필요한 3D 오브젝트(사용자 캐릭터, 경로점) 및 스크립트를 생성하여 실감형 재난재해 대피훈련을 위해 가상현실 환경을 구현하였다.
1인칭 시점 사용자의 주 카메라 시점, 즉 화면에 나타나는 카메라의 위치는 사람의 눈높이에 맞게 배치하였다. 사용자의 위치는 (0, 0, 0)으로 초기 가상현실 시나리오에 맞게 연구실에 위치하도록 하고 캐릭터 제어기(Character Controller) 요소를 추가하였고, 주 카메라는 사람의 눈높이에 맞게 Y = 1.7m로 설정하였다.
사용자의 이동은 첫 번째 Point를 향해 이동하다가 충돌이 발생하면 다음 두 번째 Point로 이동하는 스크립트 ‘MoveCtrl'을 생성하고 사용자 게임 오브젝트의 컴포넌트에 추가하여 재생 시 사용자가 대피경로에 따라 이동이 가능하게 구현하였다.
그림 3의 좌측 순서도는 ContextCapture을 이용한 3D 모델링 과정을 묘사하며 60~70% 중복도의 연속으로 촬영된 최소 3장 이상의 근거리 영상을 불러와 각 지점에 특징이 되는 부분에 동일한 위치에 최소 2개 이상의 Control Point를 입력하여 수동으로 사진을 정렬하였다. 수동으로 정렬된 이미지 데이터를 AT(Aerotriangulation) 처리 과정을 실시하여 서로 인접하고 중첩이 되어 있는 중복된 이미지 데이터들 사이의 겹쳐지는 타이 포인트(Tie point)을 자동으로 조정하였다. 이후 실제 3D 모델을 생성하는 작업인 Reconstruction 작업을 실행하여 원하는 범위를 지정한 후, 3D 메쉬 생성과 텍스쳐 렌더링 작업을 수행하여 최종 3D 모델을 완성하였다.
사용자의 이동은 첫 번째 Point를 향해 이동하다가 충돌이 발생하면 다음 두 번째 Point로 이동하는 스크립트 ‘MoveCtrl'을 생성하고 사용자 게임 오브젝트의 컴포넌트에 추가하여 재생 시 사용자가 대피경로에 따라 이동이 가능하게 구현하였다. 스크립트의 초기 변수로 부동 소수점 데이터 타입의 이동속도와 회전속도를 정해주었으며, WayPoint를 저장할 배열을 생성하고 다음 이동해야 할 WayPoint의 인덱스 변수를 정수형 데이터 타입으로 지정해주었다. 현재 사용자의 위치와 이동할 WayPoint의 위치를 벡터의 마이너스 연산을 통해 이동할 방향벡터를 산출하고 해당 방향의 각도를 구한 후 회전 값을 적용하여 부드럽게 회전하면서 전진 방향으로 이동하는 ‘MoveWayPoint’ 함수를 생성하였으며, 함수에서 다음 위치로 이동 후 Point 오브젝트와 충돌하면 다음 점으로 이동할 nextIdx 변수를 1씩 증가시켜 사용자가 이동할 다음 위치 방향으로 회전 후 전진하는 ‘OnTriggerEnter' 함수를 생성하였다.
영상은 가상현실 시나리오에 따라 구역을 나누어 각각의 공간 특성에 맞는 촬영 방법을 통해 수집하였다. 먼저 최초 사용자 위치인 금오공과대학교 글로벌관에서 실외로 나가는 부분은 지상사진촬영을 통해 영상을 취득하였으며, 이동경로와 안전지역인 대운동장까지는 드론을 이용한 항공사진촬영을 통해 영상을 취득하였다.
이 문제점들을 해결하기 위해 여러 개의 장면 객체(Scene)을 생성해 장면을 변화하여 재생하는 방법을 사용하였다. 이 방법은 가상현실 시나리오에 따라 표 4와 같이 구역별로 나누어 Scene을 생성한 후 해당 구역에서 생성한 3D 모델을 각각 한 개의 Scene으로 불러들인 후 사용자가 순차적으로 이동되게 하는 방식이다.
수동으로 정렬된 이미지 데이터를 AT(Aerotriangulation) 처리 과정을 실시하여 서로 인접하고 중첩이 되어 있는 중복된 이미지 데이터들 사이의 겹쳐지는 타이 포인트(Tie point)을 자동으로 조정하였다. 이후 실제 3D 모델을 생성하는 작업인 Reconstruction 작업을 실행하여 원하는 범위를 지정한 후, 3D 메쉬 생성과 텍스쳐 렌더링 작업을 수행하여 최종 3D 모델을 완성하였다. 최종 생성된 메쉬 포맷은 OBJ, 텍스쳐 포맷은 JPEG로 생성하였다.
지상 카메라 촬영은 비슷한 공간구조를 가진 구역으로 촬영범위를 나누어 그림 2와 같이 구조에 맞는 방법으로 촬영하였다. 연구실 및 1층 복도, 실외 연결 구조 부분은 모두 박스형 직사각형 구조와 유사하여 그림 2(a)와 같이 촬영하였으며, 2층 복도와 계단은 폭이 좁고 길이가 긴 터널형 구조로 그림 2(b)와 같은 방법으로 촬영하였다.
첫 단계로 먼저 빈 게임 오브젝트를 생성하고 이름을 ‘WayPoint’로 변경한 후 위치를 사용자의 위치와 일치하게 (0, 0, 0)으로 설정하였다.
촬영된 사진은 중복도 80% 이상 확보하도록 촬영하였고, 사진의 크기는 모두 4,912×3,264로 설정하여 촬영하였다.
총 길이는 358m로 2회 촬영하였으며, 촬영 계획은 자동 맵핑 프로그램인 PIX4DCapture를 사용하여 4,608×3,456 크기 총 212장의 사진을 얻었다. 촬영방법은 그림 1과 같이 타원형으로 촬영하였으며 고도는 80m, 수평 촬영각은 4도 간격으로 촬영하여 중복도 80% 이상을 확보하였다. 첫 번째 촬영(그림 1(a))은 글로벌관에서 기숙사까지 중간 지점인 풋살장을 기준으로 촬영하여 112장의 사진을 얻었으며, 두 번째 촬영(그림 2(b))은 기숙사에서 대운동장까지 중간 지점인 대운동장 주차장에서 촬영하여 100장의 사진을 얻었다.
표 3은 구역 및 Tile의 분할 정보를 나타내고 있다. 최종 생성된 Mesh 포맷은 OBJ wavefront, Texture 포맷은 JPEG로 생성하였다.
3D 메쉬 수정은 특징점이 없어 메쉬가 생성되지 않거나 메쉬의 구멍이 생긴 경우 Brush를 이용하여 수정 또는 새로운 메쉬를 생성하였다. 특히 특징점이 없어 대부분의 메쉬가 생략되어 만들어진 벽면, 천장, 바닥의 경우 연결된 면을 Hide Brush를 이용하여 모두 제거하고 깔끔한 새로운 면을 생성하여 수정하였다. Smooth Brush는 구불구불한 면을 평면으로 수정해 주는 기능으로 주로 일정한 무늬를 갖는 바닥에 사용하여 수정하였고 Move Brush는 메쉬를 원하는 방향으로 이동하게 해주는 기능으로 주로 3D 모델 생성과정에서 잘못된 메쉬를 생성한 경우 원래의 위치에 맞게 이동시켜 수정할 수 있게 해준다.
현재 사용자의 위치와 이동할 WayPoint의 위치를 벡터의 마이너스 연산을 통해 이동할 방향벡터를 산출하고 해당 방향의 각도를 구한 후 회전 값을 적용하여 부드럽게 회전하면서 전진 방향으로 이동하는 ‘MoveWayPoint’ 함수를 생성하였으며, 함수에서 다음 위치로 이동 후 Point 오브젝트와 충돌하면 다음 점으로 이동할 nextIdx 변수를 1씩 증가시켜 사용자가 이동할 다음 위치 방향으로 회전 후 전진하는 ‘OnTriggerEnter' 함수를 생성하였다.
대상 데이터
촬영된 사진은 중복도 80% 이상 확보하도록 촬영하였고, 사진의 크기는 모두 4,912×3,264로 설정하여 촬영하였다. 지상 카메라 촬영은 SONY NEX-5R 디지털카메라 사용하였으며 표 1과 같이 총 439장 근거리 영상을 얻었다.
총 길이는 358m로 2회 촬영하였으며, 촬영 계획은 자동 맵핑 프로그램인 PIX4DCapture를 사용하여 4,608×3,456 크기 총 212장의 사진을 얻었다.
항공촬영은 DJI사의 INSPIRE 1에 장착된 ZENMUSE X5 카메라를 사용하였다. 촬영범위는 글로벌관을 포함하여 글로벌관에서부터 대운동장까지의 경로로 설정하였다. 총 길이는 358m로 2회 촬영하였으며, 촬영 계획은 자동 맵핑 프로그램인 PIX4DCapture를 사용하여 4,608×3,456 크기 총 212장의 사진을 얻었다.
항공촬영은 DJI사의 INSPIRE 1에 장착된 ZENMUSE X5 카메라를 사용하였다. 촬영범위는 글로벌관을 포함하여 글로벌관에서부터 대운동장까지의 경로로 설정하였다.
이론/모형
3D 모델은 SfM 알고리즘 기반 3D 모델링 프로그램인 Bentley ContextCapture을 사용하여 생성하였다. 그림 3의 좌측 순서도는 ContextCapture을 이용한 3D 모델링 과정을 묘사하며 60~70% 중복도의 연속으로 촬영된 최소 3장 이상의 근거리 영상을 불러와 각 지점에 특징이 되는 부분에 동일한 위치에 최소 2개 이상의 Control Point를 입력하여 수동으로 사진을 정렬하였다.
가상현실(VR)은 증가/가상현실 개발 프로그램인 Unity를 사용하였으며, Google VR SDK를 동시에 활용하였다. 표 2는 가상현실구현 환경이며 본 연구에서는 실제 사용자가 가상현실에 있는 1인칭 시점으로 설정하기 때문에 시점을 1인칭으로 설정하였다.
이를 보완하기 위해 3D 모델 수정 프로그램인 Pixologic사의 ZBrush2018 3D 그래픽 프로그램을 사용하였다. Zbrush에는 메쉬를 수정할 수 있는 많은 Brush가 있지만, 특히 3D 모델 메쉬의 주된 형태는 면의 형태이므로 면 형태를 수정하기에 적합한 Move, Stitch, Hide, Smooth Brush를 사용하였다.
성능/효과
3D 모델링에서 그림 8과 같이 특징점이 많은 영상들은 실제 사진과 비교해 보았을 때 매우 우수한 수준의 3D 모델이 생성된 반면 특징점이 없는 벽면, 천장은 그림 7와 같이 3D 메쉬가 생성되지 않고 구멍이 생긴 결과가 나타났다.
또 3D 모델 생성 시특징점이 적은 영상은 구멍이나 공백이 발생하게 되는데 이는 사진 촬영 방법에서 해결하기보다 ZBrush와 같은 메쉬 편집 소프트웨어를 통해 보완하는 것이 보다 효율적이며 작업시간을 줄일 수 있다. 가상 현실 구현에 있어서 고사양의 컴퓨터를 사용하지 못하는 경우에는 3D 모델의 구역화를 통해 3D 모델링과 텍스쳐의 용량과 작업시간을 줄일 수 있도록 하는 방법이 가장 효율적이며 추가적인 타일로 분할하여 ZBrush 수정작업과 Unity Import에도 효율적으로 운영할 수 있는 것으로 나타났다. 마지막으로 앞서 구역화를 통해 생성된 3D 모델을 Unity에서 효율적으로 사용하기 위해 Unity에서 여러 개의 Scene을 생성하여 가상현실 환경을 구축함으로 3D 모델 Import 시 위치 조정과 연결 작업을 생략할 수 있으며 가상현실 재생시 버퍼링을 줄일 수 있었다.
항공 영상을 포함한 근거리 영상을 기반으로 3D 모델을 생성하고 이를 가상현실로 이용할 경우 사진의 촬영 결과물이 가상현실의 현실성 구현에 큰 영향을 미치게 된다. 다시 말해, 사진 촬영 시 영상의 조도는 3D 모델 생성 결과물에 직접적인 영향을 주며, 특히 항공 사진 촬영의 경우 일조량이 좋은 맑은 늦은 오후에 촬영하고 움직이는 물체가 최소화되도록 촬영을 해야 우수한 결과물을 얻게 된다. 또 3D 모델 생성 시특징점이 적은 영상은 구멍이나 공백이 발생하게 되는데 이는 사진 촬영 방법에서 해결하기보다 ZBrush와 같은 메쉬 편집 소프트웨어를 통해 보완하는 것이 보다 효율적이며 작업시간을 줄일 수 있다.
일반적인 지그재그(Zig-Zag) 방식의 비행경로의 경우, 카메라가 수직 방향을 향하고 있어 음영지역이 많이 발생하게 되며, 3D 모델 구축의 경우에도 상당히 많은 부분에서 시각 효과가 감소하였다. 대안으로 카메라를 45도의 시각으로 설정한 후, 타원형 비행경로로 촬영을 실시하였으며, 타원형 비행경로가 지그재그 방식의 경로보다 3D 모델 구현의 완성도가 높았다. 타원형 비행경로의 단점으로는 영상의 공간 해상도가 달라 구축된 3D 모형은 가장 먼거리에서 촬영된 영상의 공간해상도보다 낮게 재구성되어 영상의 질이 다소 저하되는 점이다.
첫째, 3D 모델 생성 시 가상현실 시나리오에 따라 구역을 나누어 총 6개의 3D 모델로 생성하여 가상현실의 배경으로 사용할 때 3D 모델에는 절대좌표가 없음으로 정확한 위치로 이동하기 어려웠다. 둘째, 각각의 3D 모델을 연결할 때 접합부에서 정확하게 연결하기 쉽지 않으며 또한 접합부에 생성된 3D 메쉬가 중복되어 가상현실의 시각적 효과을 저하시킨다. 셋째, 전체 3D 모델의 자료 크기가 방대해 가상현실에서 구동하면 버퍼링으로 원활하게 진행이 되지 않는다.
다시 말해, 사진 촬영 시 영상의 조도는 3D 모델 생성 결과물에 직접적인 영향을 주며, 특히 항공 사진 촬영의 경우 일조량이 좋은 맑은 늦은 오후에 촬영하고 움직이는 물체가 최소화되도록 촬영을 해야 우수한 결과물을 얻게 된다. 또 3D 모델 생성 시특징점이 적은 영상은 구멍이나 공백이 발생하게 되는데 이는 사진 촬영 방법에서 해결하기보다 ZBrush와 같은 메쉬 편집 소프트웨어를 통해 보완하는 것이 보다 효율적이며 작업시간을 줄일 수 있다. 가상 현실 구현에 있어서 고사양의 컴퓨터를 사용하지 못하는 경우에는 3D 모델의 구역화를 통해 3D 모델링과 텍스쳐의 용량과 작업시간을 줄일 수 있도록 하는 방법이 가장 효율적이며 추가적인 타일로 분할하여 ZBrush 수정작업과 Unity Import에도 효율적으로 운영할 수 있는 것으로 나타났다.
또 공간적, 비용적, 시간적 효율성에 있어서 실제 훈련은 매회 노력과 비용, 공간, 인원이 모두 소요되는 반면, 가상 현실의 경우에는 초기에 노력과 비용이 소요되지만, 결과물의 반복적, 반영구적 사용이 가능하여 사용 횟수에 따라 충분히 실제 훈련보다 효율적으로 훈련효과를 얻을 수 있을 것으로 판단된다.
가상 현실 구현에 있어서 고사양의 컴퓨터를 사용하지 못하는 경우에는 3D 모델의 구역화를 통해 3D 모델링과 텍스쳐의 용량과 작업시간을 줄일 수 있도록 하는 방법이 가장 효율적이며 추가적인 타일로 분할하여 ZBrush 수정작업과 Unity Import에도 효율적으로 운영할 수 있는 것으로 나타났다. 마지막으로 앞서 구역화를 통해 생성된 3D 모델을 Unity에서 효율적으로 사용하기 위해 Unity에서 여러 개의 Scene을 생성하여 가상현실 환경을 구축함으로 3D 모델 Import 시 위치 조정과 연결 작업을 생략할 수 있으며 가상현실 재생시 버퍼링을 줄일 수 있었다.
둘째, 각각의 3D 모델을 연결할 때 접합부에서 정확하게 연결하기 쉽지 않으며 또한 접합부에 생성된 3D 메쉬가 중복되어 가상현실의 시각적 효과을 저하시킨다. 셋째, 전체 3D 모델의 자료 크기가 방대해 가상현실에서 구동하면 버퍼링으로 원활하게 진행이 되지 않는다. 이유는 3D 모델을 영상 자료로 생성하였기 때문에 생성된 메쉬 Polygon의 개수가 Unity에서 일반적으로 다루는 3D 모델보다 훨씬 많고 렌더링 자료를 픽셀 단위로 사용하기 때문이다.
먼저 스크립트 ‘MoveCtrl'에 상단에 ‘SceneManagement’클래스 추가하고 사용자가 해당 Scene에서 마지막 경로점과 충돌시 다음 Scene으로 넘어가는 조건식을 OnTriggerEnter 함수에 포함시켰다. 이러한 Scene 분할의 방식으로 재생 시 하드웨어에서 한 번에 처리할 수 있는 Polygon의 개수가 줄어들어 가상현실을 구동할 때 재생속도가 증가하여 전과 비교해 사용자의 부드러운 움직임을 구현할 수 있었다.
3D 모델을 Unity에서 불러들여 가상현실을 작동할 때 몇 가지 문제점이 발생하였다. 첫째, 3D 모델 생성 시 가상현실 시나리오에 따라 구역을 나누어 총 6개의 3D 모델로 생성하여 가상현실의 배경으로 사용할 때 3D 모델에는 절대좌표가 없음으로 정확한 위치로 이동하기 어려웠다. 둘째, 각각의 3D 모델을 연결할 때 접합부에서 정확하게 연결하기 쉽지 않으며 또한 접합부에 생성된 3D 메쉬가 중복되어 가상현실의 시각적 효과을 저하시킨다.
3D 모델 생성 프로그램으로는 ContextCapure, 수정에는 ZBrush 프로그램을 이용하였으며 가상현실 구현에는 Google VR SDK와 Unity 프로그램으로 구현할 수 있었으며 가상현실에서 필요한 3D 오브젝트(사용자 캐릭터, 경로점) 및 스크립트를 생성하여 실감형 재난재해 대피훈련을 위해 가상현실 환경을 구현하였다. 최종적으로 구축된 가상현실은 안드로이드 스마트폰 애플리케이션으로 생성하여 사용자는 휴대폰과 HMD를 이용하여 원하는 장소에서 반복적으로 재난재해 대피훈련을 실행할 수 있다.
질의응답
핵심어
질문
논문에서 추출한 답변
3D 메쉬 수정에서 Smooth Brush의 기능은 무엇인가?
특히 특징점이 없어 대부분의 메쉬가 생략되어 만들어진 벽면, 천장, 바닥의 경우 연결된 면을 Hide Brush를 이용하여 모두 제거하고 깔끔한 새로운 면을 생성하여 수정하였다. Smooth Brush는 구불구불한 면을 평면으로 수정해 주는 기능으로 주로 일정한 무늬를 갖는 바닥에 사용하여 수정하였고 Move Brush는 메쉬를 원하는 방향으로 이동하게 해주는 기능으로 주로 3D 모델 생성과정에서 잘못된 메쉬를 생성한 경우 원래의 위치에 맞게 이동시켜 수정할 수 있게 해준다. 또한 3D 메쉬중 구멍이 생겨 생성된 경우 Stitch Brush를 이용하여 구멍을 채웠다(그림 9, 그림 10)
타원형 비행경로의 단점은 무엇인가?
대안으로 카메라를 45도의 시각으로 설정한 후, 타원형 비행경로로 촬영을 실시하였으며, 타원형 비행경로가 지그재그 방식의 경로보다 3D 모델 구현의 완성도가 높았 다. 타원형 비행경로의 단점으로는 영상의 공간 해상도가 달라 구축된 3D 모형은 가장 먼거리 에서 촬영된 영상의 공간해상도보다 낮게 재구 성되어 영상의 질이 다소 저하되는 점이다.
항공촬영 시 지그재그(Zig-Zag) 방식의 비행경로로 촬영할 때의 특징은 무엇인가?
첫번째 촬영(그림 1(a))은 글로벌관에서 기숙사까지 중간 지점인 풋살장을 기준으로 촬영하여 112장의 사진을 얻었으며, 두 번째 촬영(그림 2(b))은 기숙사에서 대운동장까지 중간 지점인 대운동장 주차장에서 촬영하여 100장의 사진을 얻었다. 일반적인 지그재그(Zig-Zag) 방식의 비행경로의 경우, 카메라가 수직 방향을 향하고 있어 음영지역이 많이 발생하게 되며, 3D 모델 구축의 경우에도 상당히 많은 부분에서 시각 효과가 감소하였다. 대안으로 카메라를 45도의 시각으로 설정한 후, 타원형 비행경로로 촬영을 실시하였으며, 타원형 비행경로가 지그재그 방식의 경로보다 3D 모델 구현의 완성도가 높았 다.
참고문헌 (15)
Andreatta, P.B., E. Maslowski, S. Petty, W. Shim, M. Marsh, T. Hall, S. Stern, and J. Frankel. 2010. Virtual reality triage training provides a viable solution for disaster-preparedness. Academic Emergency Medicine 17(8):870-876.
Bruno, F., S. Bruno, G. Sensi, M. Luchi, S. Mancuso, M. Muzzupappa. 2010. From 3D reconstruction to virtual reality: A complete methodology for digital archaeological exhibition. Journal of Cultural Heritage 11(1):42-49.
Chae, J. 2018. Study on Firefighting Education and Training Applying Virtual Reality. Fire Science and Engineering 32(1):108-115.
Durlach, N. and A. Mavor. 1995. Virtual Reality: Scientific and Technological Challenges. National Academies Press, 1995.
Farra, S,, E. Miller, N. Timm, J. Schafer. 2012. Improved training for disasters using 3-D virtual reality simulation. Western Journal of Nursing Research 35(5):655-671.
Hsu, E.B., Y. Li, J.D. Bayram, D. Levinson, S. Yang and C. Monahan. 2013. State of Virtual Reality Based Disaster Preparedness and Response Training. PLOS Currents Disasters, 2013.
Hwang, W. and D. Park. 2018. A study on the planning of content for children disaster safety environment : focusing on the virtual-reality(VR) based Experiential Contents. Procedings of Korea Environmental Policy And Administration Society pp.63-64.
Lee, J.H. 2018. Review and Analysis on VR Disaster Education Simulation - Derivation of Required Technology through Analysis of Domestic Disaster Experience. Journal of the Korean Society of Design Culture 24(3): 511-522.
Lowe, D.G. 2004. Distinctive image features from scale-invariant keypoints, International Journal of Computer Vision 60(2):91-110.
Ministry of the Interior and Safety. 2017. Statistical yearbook of natural disaster. 242pp.
Park, H.J., and M.B. Seo. 2017. A Development of Disaster Evacuation Simulation in Underground Space based on Virtual Reality. Proceedings of Korea Information Science Society. pp. 29-30.
Song, Y.S., P.S. Lee, Y. Yeu, G.H. Kim. 2012. Flood Risk Mapping using 3D Virtual Reality Based on Geo-Spatial Information. The Korean Society for Geospatial Information Science 20(4):97-104.
Westody, M.J., J. Brasington, N.F. Glasser, M.J. Hambrey, and J.M. Reynolds. 2012. Structure-from-Motion photogrammetry: A low-cost, effective tool for geoscience applications. Geomorphology 179:300-314.
Zheng, E. and C. Wu. Structure from Motion Using Structure-less Resection. Procedings of 2015 IEEE International Conference on Computer Vision. Santiago, Chile, 7-13 December, 2015. pp. 2075-2083.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.