댕국쓰 공부/SW 사용법 & 리뷰

Agisoft Photoscan 사용법 - 드론영상처리

댕국쓰 2023. 2. 3. 16:30
728x90
반응형
Agisoft 사의 Photoscan은 우리나라뿐만 아니라 해외에서도 많이 사용되는 S/W이다.
Photoscan과 같은 S/W는 SfM(Structure from Motion), SIFT(Scale Invariant Feature Transform) 등의 컴퓨터비전 해석 알고리즘을 이용해 2D 사진들로부터 3D 모델을 생성할 수 있다.
Photoscan은 내가 처음 드론과 같이 처음 접해본 영상처리 S/W이다.
 
고정익 드론으로 촬영한 항공사진
그리고, 단순히 3D 모델을 생성하는 것이 목적이 아니라 공간정보로써의 목적을 갖고 영상처리를 한것이기 때문에 정확한 좌표를 부여할 수 있도록 지상기준점(GCP : Ground Control Point)을 이용했다.
Photoscan에서 사진을 불러오면 사진이 촬영된 위치의 GPS 좌표때문에 사진촬영점들이 화면에 나타난다.
 
Photoscan에서 드론으로 촬영된 사진을 불러온 모습
Photoscan에 사진을 불러온 GPS 좌표의 좌표계를 지정해줘야 한다.
그렇지 않으면 전혀 엉뚱한 결과가 나올 수 있고, 오차를 한가득 갖고 있는 결과물이 생성된다.
그렇기 때문에 좌표계를 설정해줬다. 좌표계는 WGS84 타원체의 경위도 좌표인 EPSG코드 4326번으로 설정했다.
사진 촬영점의 좌표계 설정
그리고, 사진촬영 당시에 고정익 드론의 GPS 좌표뿐만 아니라 자세정보가 기록된 데이터를 불러왔다.
데이터는 사진파일명, 경위도좌표, 자세정보로 구성되어 있다.
GPS/IMU 정보 입력
그리고 이를 이용해서 영상매칭을 수행하게 된다.
Photoscan에서는 Align Photo 라는 명칭의 메뉴가 있다.
 
영상 매칭
 
1차 영상매칭이 완료되면 지상기준점 측량한 데이터를 입력한다.
지상기준점 측량은 GRS80 타원체 TM 좌표로 측량하였으며, 중부원점을 이용하였다.
그러므로 ESGP코드 5186번으로 지정하였다.
이때 사진들은 모두 체크를 해제하고, 지상기준점 데이터에만 체크를 남겨두어야한다.
 
지상기준점 데이터 입력 및 좌표계 설정 변경
그리고 지상기준점 위치를 사진에 지정해 주어야 하는데, 만약 한장의 사진에서 지상기준점이 5개가 존재한다면 5개 모두 위치를 지정해 주어야 한다.
그러나 건물이나 나무에 가려있다면 위치를 지정해줄 필요는 없다.
정확하지 않은 위치를 지정해주면 오히려 오차만 커질 뿐이다.
지상기준점 입력
지상기준점 입력이 끝났다면, 지상기준점에 맞게 영상 매칭 결과를 수정해야 한다.
Photoscan에서는 Optimize Alignment 라는 명칭의 메뉴가 있다.
 
Optimize Alignment
Optimize Alignment를 수행하면, 자동항공삼각측량(AT)의 평균값을 알 수 있다.
나의 경우에는 수평위치오차의 평균이 0.135044m, 수직위치오차의 평균이 0.230228m로 나왔다.
자동항공삼각측량 결과
 
Photoscan을 자주 이용하고, 전문적으로 하시는 분은은 0.00007m 이런식으로 나오던데...  
아무튼!!
Optimize Alignment가 완료되면, Photoscan 상단 메뉴에서 Build Dense Cloud, Build Mesh 순으로 작업을 진행한다.
이때 설정을 어떻게 하느냐에 따라서 더 많은 포인트가 추출될 수도 있고, 포인트를 적게 추출할 수도 있으며, 
3D 모델이 얼마나 정확하고 자세하게 표현이 되는지가 결정된다.
 
Build Dense Cloud 및 Build Mesh 설정 화면
Build Mesh까지 작업이 완료되기 까지 몇시간부터 몇일이 걸릴수도 있다. 그러니 S/W가 일하는 동안 잠깐 자거나 다른 일을 하고 있으면 된다.
Photoscan에는 Batch Process라는 편리한 기능이 있으니 잘 활용하면 좋다.
 
Photoscan을 이용한 영상처리 결과
 
 
728x90
반응형