정사이미지 활용하기

고은서·2024년 5월 13일

Image Data

목록 보기
3/3
post-thumbnail

1. 수치지형도 활용하여 정사이미지에 좌표 정보 부여하기

다음 사이트 참고
1. https://wooden-door-787.notion.site/QGIS-1ee4eb2fbd0e4b0e88b85e47b086406f
2. https://foss4g.tistory.com/1692

  • 정사영상은 수치지도 도엽단위로 분할하여 저장
  • 도곽보다 50m 크게 제작
  • '-a_ullr <좌측 x-50> <상단 y+50> <우측 x+50> <하단 y-50>'으로 값을 조정하여 추가명령줄에 입력해야함

2. 정사영상 qGIS 에서 처리하기

3. 이미지 데이터의 유형

GDAL을 활용하여 이미지 병합을 할 때 활용할 수 있는 산출물 파일의 데이터 유형

  • 산출 래스터 파일의 포맷을 정의합니다. 다음 가운데 하나로 지정할 수 있습니다:
    0 — 바이트(Byte)
    1 — 부호 있는 16비트 정수형(Int16)
    2 — 부호 없는 16비트 정수형(UInt16)
    3 — 부호 없는 32비트 정수형(UInt32)
    4 — 부호 있는 32비트 정수형(Int32)
    5 — 32비트 부동소수점 실수형(Float32)
    6 — 부동소수점 64비트 실수형(Float64)
    7 — 복잡 16비트 정수형(CInt16)
    8 — 복잡 32비트 정수형(CInt32)
    9 — 복잡 부동소수점 32비트 실수형(CFloat32)
    10 — 복잡 부동소수점 64비트 실수형(CFloat64)

데이터 유형에 대한 설명

일반적으로 Byte < Int < Float < CInt < CFloat 순서대로 데이터 유형의 복잡성과 처리 능력이 증가

  • Byte 바이트: 0~255까지의 값을 저장할 수 있는 8비트 부호 없는 정수
    • 일반적으로 색상정보나, 분류된 데이터를 저장할 때 사용
      • 주로 간단한 이미지 데이터나 분류된 라벨을 저장할 때 사용
      • 메모리 사용이 가장 적지만 표현할 수 있는 범위도 제한적이다.
    • 비트(bit) 정보의 최소단위, 하나의 비트는 0이나 1의 값을 가진다.
      • 각각은 참 거짓 혹은 배타적인 상태를 나타낸다.
    • 바이트는 비트가 여러 개 모인 것
      • 원래는 크기가 명확히 정해져 있지 않았으나 현재는 대개 1옥텟인 8비트가 1바이트
  • Int: 16비트 부호 있는 정수로 더 복잡한 정수 기반 데이터를 처리하는 데에 활용
    • Int16: -32768 ~ 32767 까지의 값을 저장 가능
    • Int32: 매우 큰 범위의 정수를 저장
      • 통계적 분석이나 대규모 데이터 셋을 다룰 때 유용
  • Float: 부동 소수점
    • 실수를 표현할 수 있으며, 과학 계산이나 이미지 처리에서 정밀도가 중요할 때 사용
    • 과학 계산이나 이미지 처리에서 정밀도가 중요할 때 사용
  • CInt: 복소수 정수 표현, 실수부와 허수부를 모두 저장할 수 있음
    • 신호처리나 고급 수학연산에 주로 사용
  • CFloat: 복소수 부동 소수점 수 표현, 가장 복잡한 수치 데이터를 다루는 데에 활용
    • 과학 연구나 엔지니어링 분야에서 필요로 하는 고정밀 계산에 활용

딥러닝(AutoEncoder)를 활용할 때 고려해야하는 사항은?

  • 정규화(Normalization): 이미지 데이터는 보통 0에서 255의 값을 가지는데, 이를 0과 1 사이의 값으로 정규화하는 것이 일반적
    • 이미지 데이터 타입을 Float32를 사용하는 것이 좋음
    • Float32는 충분한 정밀도를 제공하면서도 메모리 사용량을 과도하게 증가시키지 않아서, 대부분의 딥러닝 프레임워크에서 기본적으로 사용되는 데이터 타입
  • 메모리 사용량: 이미지 크기와 배치(batch) 크기에 따라 필요한 메모리 양이 결정
    • Float32는 Float64보다 메모리를 적게 소모하면서도 필요한 계산 정밀도를 제공
  • 데이터의 성격: 만약 이미지 데이터가 특정 범위를 넘어서는 큰 값이나 매우 작은 값 등을 포함하고 있다면, 이를 적절히 처리하여 모델 학습에 부정적인 영향을 주지 않도록 해야 함

Float32를 사용하는 것이 일반적, 딥러닝에서 널리 사용되며, 대부분의 딥러닝 라이브러리가 최적화되어 있어 처리 속도와 메모리 사용의 균형을 잘 맞출 수 있음

12개 합치는데 1시간 40분걸림..

이미지 처리 완료후 모습..

profile
cities and data

0개의 댓글