연구의 선진화와 생산성 향상에
필요한 최적의 소프트웨어와 컨설팅을
공급하도록 노력하겠습니다.
 

PhotoScan Professional의 활용 및 기능들

 
1. 편리한 사용자 인터페이스
(1) Model View - 3D 모델 등 3D 데이터 표시 화면으로 Point Cloud 편집에도 활용
     3D 모델은 텍스쳐, 솔리드, 와이어프레임 등 여러 모드로 표현할 수 있고, 이 화면에서 회전, 이동, 줌 인/아웃 등의 조작을 할 수 있음.

(2) Photo View - 불러온 각 사진들, 마스크, 마커(Marker)를 보여줌

(3) Workspace pane - Chunk 목록, 마커(marker) 목록, 3D 모델들 등 프로젝트를 구성하는 각 요소를 보여줌

(4) Photos pane - 사진과 요약 정보를 표시

(5) Console pane - 보조 정보, 에러 메세지, Python 명령어 등을 표시

(6) Ground Control Pane - 카메라, 마커(Marker) 좌표, 카메라 위치 정보, 추정 에러 값 등을 표시

(7) 툴 바 - 자주 사용하는 메뉴들을 아이콘화하여 접근성 및 편의성을 제공
 
2. 일반적인 작업 흐름
(1) 사진 가져오기(Import)
사진에 관한 정보(EXIF)나 외부 카메라 표정 매개변수가 충분하지 않은 경우, NC(Not calibrated), NA(Not Aligned) 태그가 사진 이름 뒤에 표시됨.

(2) 사진 정렬(Align)
가져온 모든 사진에 대한 정렬이 필요하며, 이 단계에서 각 사진에 대한 카메라의 위치를 찾아 포인트 클라우드(Points cloud) 모델을 생성함

(3) 모델의 지오메트리 생성(Geometry)
사진의 품질과 양에 따라 3D 재구성 시간이 다름. 먼저, 낮은 해상도로 작업을 하여, 전체적으로 잘 구현 되었는지 확인 후 고품질을 만들 것을 권장함.
: 재구성 방법들
Object Type
- Arbitrary : 모든 객체 유형에 적용 가능. 건물, 동상 등과 같이 닫힌 형태의 객체에 적용. 메모리 소모량이 큼.
- Height Field : 지형과 같이 대체로 평평한 서페이스를 모델링할 때 적합.

Geometry Type
- Sharp : 보다 정교한 결과를 만들 수 있는 옵션. 공백을 매꾸는 별도의 지오메트리를 제공하지 않기 때문에 나중에 수작업으로 채우
  는 수작업이 필요함
- Smooth : 공백을 모두 채워서 서페이스를 생성함. 추가 지오메트리의 넓은 영역을 만들지만 나중에 선택/자르기 도구를 이용하여 쉽게 제거할 수 있음. 정사영상 생성에 적합.
 
재구성 파라미터
- Quality(품질), 면 개수(Face count), 필터 스레쉬홀드(Filter Threshold), 홀 스레쉬홀드(Hole Threshold)
 
(4) 모델 텍스쳐 생성
적합 텍스쳐 맵핑 모드를 선택해야 최적의 텍스쳐를 팩킹할 수 있고, 보다 좋은 가시화 결과를 얻을 수 있음
텍스쳐 맵핑 모드
- Generic(일반) : 가장 기본이 되는 모드로 장면의 유형과 관계없이 가능한 일정한 텍스쳐를 만들도록 시도함
- Adaptive Orthophoto : 객체 서페이스를 평평한 부분과 수직 영역을 나누어 작업. 평평한 서페이스에 대해 정사그래픽(Orthographic) 프로젝션을 적용하고, 수직 영역을 별도로 텍스쳐링하여 정확한 텍스쳐 표현을 만듦. 거의 평평한 장면에 대해서는 보다 컴팩트한 텍스쳐를 만들고, 건물의 벽과 같은 수직 표면에 대해서는 좋은 품질의 텍스쳐를 유지하는 경향이 있음
- Orthophoto : 객체 전체에 대해 정사그래픽(Orthographic) 프로젝션을 적용. Adaptive Orthophoto 보다 컴팩트한 텍스쳐 표현을 만  들지만, 수직 영역에 대해서는 손실이 발생할 수 있음.
- Single Photo(하나의 사진) : 하나의 사진으로부터 텍스쳐를 만들 때 사용.
- Keep UV : 현재의 텍스쳐 파라미터를 사용하여 텍스쳐 아틀라스를 생성. 다른 해상도를 이용하거나 외부 소프트웨어에서 설정한 파  라미터를 이용하여 텍스쳐 아틀라스(atlas)를 생성해 볼 수 있음

텍스쳐 생성 파라미터
(I) Texture From(하나의 사진 맵핑 모드 전용)
(II) Blending Mode(혼합 모드)
Average - 개별 사진들의 모든 픽셀들의 평균 값을 이용
Mosaic -Average 모드보다 고품질의 정사사진과 텍스쳐를 생성
Max Intensity - 연관된 픽셀의 최대 농도(Intensity)를 선택.
Min Intensity - 연관된 픽셀의 최소 농도(Intensity)를 선택.
(III) Atlas width - 픽셀내의 텍스쳐 아틀라스의 폭을 설정
(IV) Atlas height - 픽셀내의 텍스쳐 아틀라스의 높이를 설정

(5) 중간 결과 저장

3D 모델을 만드는데 상당한 시간이 소요되어, 한번에 끝낼 수 없을 때, 사용된 사진들의 경로, 카메라 보정 파라미터, 데이터 정렬 등 중간 결과를 저장하여 나중에 다시 사용할 수 있음

(6) 결과 저장 - Sparse, dense point cloud, 카메라 보정/위치 데이터, 3D 모델, 정사사진, DEM 등을 사용자의 필요에 따라 저장.
 
3. 고급 기능들
(1) 프로젝트 분할 / 정렬 / 결합
방대한 사진을 처리할 경우 한번에 처리가 불가능하거나 처리 속도를 개선시키기 위해 사진들을 여러 그룹으로 나누어 처리 후 결과를 결합할 수 있음. 이 경우, 여러 개의 chunk를 생성하여 작업 한 후, 모델을 정렬한 후 모델들을 결합하여 완성

(2) 배치 처리
사진 정렬, 지오메트리 생성, 텍스쳐 생성, 프로젝트 저장 등의 일련의 작업을 배치 처리할 수 있음

(3) 카메라 보정
사진 정렬을 할 때 비선형 방사 왜곡을 포함하여 카메라의 내부 및 외부 표정을 계산
텍스쳐 생성 파라미터
- fx, fy : Focal length in x- and y-dimensions measured in pixels.
- cx, cy : Principal point coordinates, i.e. coordinates of lens optical axis interception with sensor plane.
- skew : Skew transformation coefficient.
- k1, k2, k3 : Radial distortion coefficients.
- p1, p2 : Tangential distortion coefficients.

(4) 마스킹(Mask)
- 3D 모델이나 텍스쳐 맵핑에서 제외하고자 할 때 사용
- 마스킹 작업은 사진 정렬을 하거나, 3D 모델 지오메트리 / 3D 모델 텍스쳐를 생성할 단계에서 적용

(5) Sparse Point Cloud 편집
- Reprojection error filtering
- 수작업에 의한 points 제거

(6) 모델 지오메트리 편집
- Decimation tool, connected component filtering, manual face removal

 
(7) 좌표계 설정
- 카메라 좌표 또는 GCP(지상기준점)에 기초한 좌표체계를 설정할 수 있음.
- 마커(Marker) 사용 : 좌표 투영을 하기 위해 사진 내에 특정 위치를 표시하는 것으로, 수동으로 위치 설정하는 방법과 PhotoScan이 예측하여 위치를 안내해 주는 방식 두 가지가 있음. 최소 두 장의 사진 이상을 사용해야 하나 가급적 충분한 사진을 사용해야 좋은 결과를 얻을 수 있음. 위치 정보를 저장하는 카메라(또는 GPS를 사용한 경우)를 사용한 경우, 마커 작업은 하지 않아도 됨.

(8) 측정 기능
- 거리, 면적, 볼륨 측정

(9) Python 스크립트
- PhotoScan은 Python API를 제공하며, Python 명령어와 스크립트를 실행할 수 있음.