Remote Sensing 공부 시리즈 - 6

‍이시현·2023년 6월 29일
0

Remote Sensing

목록 보기
6/10

Geometric Distortion in Imagery

어떤 원격탐사 이미지든, 위성의 다중분광 스캐너에서 찍혔든 아니면 항공의 사진기에서 찍혔든 상관없이 모든 것은 다양한 지리적 왜곡을 가지고 있다. 이 문제는 3차원 공간의 지구표면을 2차원 이미지로 바꾸는 과정에서 생기는 원격탐사 자체적으로 생기는 문제다. 모든 원격 탐사 이미지는 데이터가 수집되는 방식에 따라 여러 기하학적 왜곡을 가진다. 다음과 같은 요소에 의해 생길 수 있다.

  • 센서가 바라보는 방향
  • scanning system의 움직임
  • platform의 움직임과 (불)안정성
  • patform의 고도, 자세?, 속도
  • terrain relief(지형의 높낮이 차이)
  • 지구의 곡률과 자전

항공 사진을 이용하는 Farming system은 순간적인 스냅샷을 제공한다. vertical aerial photogrpah의 기하학적 왜곡은 relief displacement(기복 변위) 때문이다. 카메라 렌즈 중심 바로 밑에 있는 물제(nadir에 있는)는 그 물체의 윗면만 찍힐것이고 반면에 중심에 있지 않은 다른 모든 물체는 위와 옆이 보이는 형태로 보일 것이다. 만약 물체가 사진의 중심으로부터 멀리 떨어져있거나 물체의 높이가 크다면 왜곡과 위치정보오차는 더 커진다.
along-track scanner 이미지의 기하학적 구조는 각 detector가 기본적으로 각 ground cell의 snapshot을 찍기 때문에 각 scan line의 대한 항공 사진의 기하학적 구조와 비슷하다. (뭔소리야)
기복변위에 대해서 나름대로 알아봤는데 내 생각엔 쉽게 생각해서 카메라로부터 멀리 떨어진 물체일수록 원래 위치에서 벗어나 보이는 것을 말하는 것 같다.
두 scan line 사이의 기하학적 변화는 비행을 하면서 변하는 고도와 자세의 랜덤한 변화 때문에 일어난다. across-track scanning system에서 찍히는 이미지는 두가지 주된 기하학적 왜곡이 나타난다. 항공사진과 비슷하게 애네도 relief displacement를 가지고 있지만 오직 scan 방향과 평행한 방향으로만 일어난다.(비행경로의 수직방향) nadir 지점에선 displacement가 없다. swath를 가로질러서(?)찍기 때문에 물체의 옆와 위가 나온다. swath의 edge로 갈수록 displacement는 증가한다.

다른 왜곡(B)은 렌즈(거울)이 회전하기 때문에 생기는 문제이다. 각 line을 따라 sensor가 스캔을 하기 때문에 swath의 중심으로부터 멀어질수록 센서와 ground 사이의 거리가 멀어진다. scanning mirror가 일정한 속도로 회전함에도 불구하고 센서의 IFOV는 땅과 비교해서 상대적으로 더 빨리 움직이다. (뭔소리야 -> 지수적으로 변한다는 소리인가) 그리고 더 많은 edge로 가까이 갈수록 더 많은 영역을 스캔하게 된다. 이렇게 되면 바깥쪽으로 갈수록 물체들이 압축되어 보이는 현상이 일어나고 이것을 tangential scale distortion(접선방향 축척)이라고 부른다.

모든 사진들이 수집되는 동안엔 속도나, 고도, attitude(각도, 회전)의 변화에 민감하다. 이러한 현상들은 항공기에서 가장 두드러지게 나타나고 인공위성은 지구와의 거리도 멀고 궤도가 상대적으로 안정적이기 때문에 크게 완화되어 나타난다. 그러나 지구의 서->동으로의 자전때문에 위성의 각 스캔은 이전의 스캔의 비해 약간 서쪽에 있는 영역을 더 찍고 동쪽에 있는 영역을 덜 찍게 된다. 결국 결과 이미지는 한쪽으로 쏠리게 된다. 이것을 skew distortion이라고 부르고 multispectral scanner에서 얻어지는 이미지의 흔한 현상이다.

기하학적 왜곡과 위치오차의 근본적인 원인은 여러 상황에 따라 다양하지만 원격사진 안에 있다. (뭔소리야) 많은 경우에 이것들을 없애거나 적어도 이런 에러들을 줄일 수 있지만 무조건 측정이나 정보를 추출하기 전에 전부 고려되어야한다.


임정호 교수님 자료 3,4장의 내용을 여기에 정리하도록 하겠다.
Shot Noise
센서가 망가져 임의의 픽셀들이 값을 가지지 못할 수 있고 이것들을 오류화소라고 한다. 이것들을 shot noise(산탄잡음)이라고 총칭한다. 그 화소들의 값을 imputation하는 가장 간단한 방법은 주변 픽셀 8개의 값의 평균으로 채워 넣는 것이다.

Line or columns drop-outs
하나의 열이나 행이 통째로 값을 가지고 있지 않은 경우도 있다. 이 경우를 Line or colums drop-outs(열손실 혹은 행손실)이라고 한다. (0 밝기를 가진다.) 이런 경우엔 인접한 열 또는 행의 값 (양쪽이니까 2개)의 평균으로 값을 채워 넣는다.

Line start problems
scan line의 시작부분에서 오류가 일어나 모든 데이터가 몇칸씩 밀려 찍히거나 정보가 아예 잘못된 위치에 있는 것을 line start probelm(열시점오류)라고한다. 이 문제에 규칙성이 있을 경우 해결하기 쉽지만 랜덤하게 일어났다면 해결하기 매우 힘들다.

N-line stripping
센서가 완전 사진을 잘못 찍은 것은 아니지만 특정한 line들이 인접한 열들보다 일정하게 밝거나 어두운 현상을 N-line stripping(줄무늬 잡음)이라고 한다.

위 사진을 보면 일정 주기마다 사진들에 밝은 줄무늬가 있는 것을 볼 수 있다. 이런식으로 잘못된 사진의 scan-line을 검출하기 위해 오른쪽 그래프처럼 각 축에대해 단면상의 화소거리(뭔지 모르겠다 그냥 밝기라고 생각할까?)를 그래프로 그려서 찾아내었다. 문제 있는 그래프가 중간 것이다.(그래프봐도 모르겠는데) 보정 후 그래프가 제일 아래 것이고 맨 위 처럼 좀 스무딩된걸 볼 수 있다.

대기보정

대기 보정엔 두 가지 종류가 있다.

  • Absolute atmospheric correction(절대 대기보정)
  • Relative atmospheric correction(상대 대기보정)

너무 어려워서 뭐가 뭔지 잘 모르겠지만 내가 이해한 것들만 대략적으로 적어보겠다.

번호 순서대로 설명해보겠다.
1. 현재 관심있는 IFOV 각도 내에 있는 ground cell로 항하는 태양 빛(단위 W로 표현하고 복사조도라고 말한다.)
2. IFOV 각도 밖의 다른 영역을 비추러 가던 태양 복사조도가 대기 중에서 산란되어 IFOV 내에 들어온 에너지
3. IFOV 각도 밖의 다른 영역을 비추러 가던 태양 복사조도가 대기 중에서 산란되어 ground cell을 비춘 뒤 반사되어 센서를 향해가는 에너지
4. ground cell 밖의 영역의 지표면에서 반사되어 IFOV 각도 내에 들어온 에너지
5. ground cell 밖의 영역의 지표면에서 반사되었는데 대기 중에서 산란되어 ground cell을 비추고 센서를 향해 하는 에너지

이 중 1,3,5번은 현재 관심있는 ground cell을 비추고 반사된 것이므로 관심있는 지역의 반사도를 나타내는 에너지가 된다. (물론 지표면에 닿기 전과 후의 에너지 양은 다르다.) 이 3개를 더한 에너지가 Lt가 되고 2,4번이 Lp가 되어 최종 센서엔 이 둘을 더한 에너지가 기록되게 되고 이것을 후보정해서 Lp를 없애는 것이 대기보정과정이다. 이 때 Lp를 경로 방사도 (path radiance)라고 부른다.

위 내용을 두 줄로 정리하면 다음과 같다.
1. 대기의 흡수 및 산란을 계산
2. remote sensing radiance(원격탐지방사도)를 scaled surface reflectance(비율표면반사)로 변환
대기보정을하는 알고리즘은 MODTRAN4/MODTRAN5, 6SV, LibRadTran, FLAASH 등 여러가지가 있다.

절대방사보정과 상대방사보정의 차이는 절대방사보정은 알고리즘을 수행하기 위해 자료를 수집할 때의 대기 속성과 센서 분광 프로파일정보와 같은 절대적 정보가 필요하지만 상대방사보정은 이런 정보 없이 센서가 얻은 데이터만 혹은 다른 시기에 찍은 다른 사진을 같이 이용해서(이것도 외부정보이긴한데) 보정한다는 것이다. 절대방사보정 알고리즘은 교과서를 보니 상당히 어려웠지만 상대방사보정은 꽤 간단하여서 이해가 쉬웠고 그것을 여기에 적도록 하겠다.

Single image normalization using histogram adjustment
히스토그램 조정을 이용한 단일 영상 정규화는 각 밴드의 히스토그램 분포를 보고 픽셀 값을 조정하는 것이다.

위 사진을 보면 1,2 밴드의 최소값과 최대값은 밴드 3,4,5,7의 최소값과 최대값보다 큰 것을 알 수 있는데 이 이유는 파장이 짧을수록 대기 중의 산란이 많이 되고 이것은 그만큼 센서에 들어오는 에너지가 많아진다는 것을 의미하기 때문이다. 또한 4,5,7밴드의 경우 대기 중에서 흡수가 굉장히 잘 일어나는 밴드이기 때문에 센서로 들어오는 에너지가 적어진다.

해당 방법에선 산란에 의해 값이 커진 픽셀 값들의 대해서만 보정이 이루어진다.
보정 후 BV[i][j][k]=보정 전 BV[i][j][k]-편의값
이런식으로 보정이 이루어진다.

Multiple Date Image Normalization Uisng Regression
이 방법은 현장관측을 통해 얻은 사진이 있을 때 적용할 수 있는 방법이다. 원격으로 얻은 이미지와 다른 시기에 현장에서 찍은 이미지가 있을 때 시기의 따른 해당 지역의 분광특성이 거의 없다는 가정이 있으면 적용할 수 있다. 이 때 기준이 되는 현장이미지를 지상기준점(PIF)(정의가 맞는지 모르겠다...)이라고 한다. 알고리즘 자체는 꽤 간단하다.

사용되는 기준 이미지에 찍힌 지역의 중심위치와 원격이미지의 중심위치가 동일해야하는데 사실 이것이 좀 힘들다고 한다. 어쨌든 동일하다는 가정하에 동일한 [i][j][k] 위치에 있는 픽셀값들을 순서쌍으로 만들면 좌표평면에 나타낼 수 있다. 그것이 위의 그래프이다. 그 상태에서 선형회귀를 돌려서 데이터를 가장 잘 설명하는 선을 하나 찾는다. 그리고 그 일차방적식에 원격 이미지의 픽셀값을 넣어서 픽셀 값을 보정하면 끝이다. 이 보정이 하고자 하는 것은 결국 원격 이미지가 기준 이미지를 조금 닮게하고자 하는 것이다.

Topograhic correction
지형의 경사도에 의해서도 센서의 들어오는 에너지의 양이 변화한다. 지형적 특징을 보고 싶다면 좋을수도 있을 것 같긴한데 만약 land cover와 같은 문제를 풀어야한다면 똑같은 반사도 특성을 가지는 두 지역이나 물체가 경사도에 따라 달라지면 문제가 될 것이다.표면이 평평한 경사면이고 대기에 의한 에너지 변화가 없다는 가정일 때 코사인 보정이라는 방법을 사용할 수 있고 이 외에도 Minnaert 등 여러 방법이 있는데 재미 없다.


Geometric correction

맨 위에서 설명한 것들이 기하보정에 관한 것들인데 거기에 없는 내용들 위주로 정리하였다.
기하 오차는 두 종류로 나뉘게 된다.

  • 내부기하오차
    • 지구자전에 의한 휨 현상
    • 스캐닝 시스템에 의한 지상 해상도 셀 크기의 변화
    • 스캐닝 시스템에 의한 1차원 기복변위
    • 스캐닝 시스템에 의한 접선방향 축척 왜곡
  • 외부기하오차
    • 센서의 고도변화
    • 자세변화

대부분 내용이 위에서 다룬 내용이고 지상 해상도 셀 크기 변화 안에 밑의 두 문제들이 존재하는 것이다.

GCP
GCP (ground control point)는 이미지에서 식별할 수 있고 지도에서 정확하게 특정할 수 있는 지구표면의 위치라는데 읽어도 무슨 말인지 잘 모르겠긴하겠다. 특정 픽셀 위치가 나타내는 위도와 경도를 말하는 건가?

보정방법엔 image-to-map rectification(보정)과 image-to-image registration(등록)이 있다.

두 방법의 차이는 보정에 지도나 GPS 좌표를 쓰느냐 아니면 다른 이미지를 쓰느냐이다.

기하보정을 하는 자세한 원리가 4장에 나와있는데 못해먹겠다.


Weather Satellites/Sensors

기상 위성 역사는 간략하게 요약만
TIROS-1(Television and Ingrared Observation Satellite - 1)위성이 1960에 미국에서 발사. 그 후 5년 동안 몇몇 기상위성들이 발사됨. 1966년에 나사에서 hemispheric image(반구)를 제공하는 geostationary Applications Technology Satellite(ATS-1)을 발사했고 처음으로 기상시스템의 개발이 이루어졌다.
오늘날 몇몇 나라가 전세계의 날시 상태를 모니터링하기 위해 기상위성을 운영하고 있다. 일반적으로 말하자면 이런 인공위성들은 꽤 거친 spatial resolution을 가지고 있고 넓은 영역을 커버하고 있다. (land observing 위성과 비교했을 떄)

이것들의 temporal resolution은 일반적으로 꽤 높아서 지구표면, 대기의 습기, 구름 등을 자주 제공해주고 세계 날씨 컨디션과 그에 따른 예측을 거의 연속적으로 가능하게 한다. 몇가지 대표적인 기상 인공위성들을 살펴보도록하자.

GOES
GOES (Geostationary Operational Environmental Satellite)는 ATS 시리즈의 후속 모델이다. National Oceanic and Atmosperic Administration(NOAA, 미해양대기국)을 위해 NASA에서 제작된 위성이고 미국의 전체 날씨를 자주, small-scale로 이미지로 제공해준다. GOES 시리즈 위성들은 지난 20년 동안 기상학자들에 의해 기상 모니터링과 예측을 위해 매우 광범위하게 사용되었다.

두개의 GOES 위성은 정지궤도 상의 36000km 상공에 떠있고 각각은 지구의 1/3씩 보고 있다. GOES-8 EAST는 경도 75°W에 있고 북미와 남미 그리고 대서양의 대부분을 보고있다.

경도 135°W에 위치해 있는 GOES-10 West는 북미와 태평양 유역을 보고 있다. 두 위성을 합치면 경도 20°W부터 165°E까지 볼 수 있다. 이 GOES 이미지는 미국의 남동쪽 지역을 커버하고 심각한 태풍들이 생기고 커지는 인접한 바다 쪽을 보고 있다.

양이 너무 많아서 대략적인 것만 정리했고 나머지 자세한 정보는 아래 링크를 통해 보도록하자.
https://natural-resources.canada.ca/maps-tools-and-publications/satellite-imagery-and-air-photos/tutorial-fundamentals-remote-sensing/satellites-and-sensors/weather-satellitessensors/9387

NOAA AVHRR
이 위성은 sun-synchronous, 극궤도 위성이고(상공 830~870km) Advanced TIROS series 중 하나이다. (1960년부터시작) GOES와 같은 geostationary meteorological satellite의 정보를 보충해준다. 두개의 위성이 함께 정보를 제공하고 지구의 어떤 지역도 6시간 이내로 데이터를 제공한다. 이른 아침에 적도를 가로질러서 북에서 남으로 가로지르고 다른 하나는 오후에 적도를 가로지른다.

NOAA 위성은 small-scale 지구 관찰과 군사목적의 정찰이고 이것을 위해 탑재한 센서가 Advanced Very High Resolution Radiometer(AVHRR)이다. AVHRR센서는 visible, near and mid infrared, thermal infrared 영역을 감지하고 swath가 3000km이다.

날씨 모니터링에도 쓰이지만 해수면 온도나 작물 모니터링에도 널리 쓰인다고 한다.

Land Observation Satellites/Sensors

양이 너무너무 많고 각각의 위성의 특징은 필요할 때 찾아보는게 나을 것 같다. 대충 보면 Landsat 위성 시리즈들이 있고 이것들의 spatial resolution이 60m 수준으로 매우 좋다는 정도만 알자.

Marine Observation Satellites/Sensors

바다는 내가 좀 관심이 있어서 그냥 다 읽었다.
지구의 바다는 2/3 이상을 덮보 있으며 지구 기후 시스템에 중요한 역할을 한다. 바다는 오염과 다른 인간에 의한 위험에 취약한 많은 생물과 천연 자원을 포함하고 있다. meteorological(기상)과 land 관측에 사용되는 위성들이 해양 관측에도 사용될 수 있다. 하지만 해양관측을 위한 목적으로 설계된 다른 위성들이 있다.

Nimbus-7 위성은 1978년에 발사됐고 Coastal Zone Colour Scanner(CZCS)센서를 탑재하였다. 이 센서는 해양 모니터링을 위한 목적으로 설계되었다. 이 센서의 주된 목적은 해양 색깔(?)과 온도 관측이다. (특히 연안쪽) 해수면 쪽의 오염과 water column(뭔지 잘 이해가 안가는데 그냥 물의 질량이나 바다에 존재하는 서로다른 층을 의미하는 것 같다.)에 존재하는 여러 물질들을 관측하기 위해 충분한 spatial and spectral resolution을 가지는 것이다. Nimbus 위성은 sun-synchronous, 극궤도 위성이고 상공 955km에 있다. local time으로 정오에 적도를 ascending pass로 지나가고 밤 12시에 descendig pass로 적도를 지나간다. 시간해상도는 6일이고 83번 지구를 돌아야한다. CZCS 센서는 6개의 band를 가지고 visible, near-IR, thermal 영역을 다루고 있다. spatial resolution은 825m이고 swath는 1566km이다.

표에서 볼 수 있듯이 처음 4개의 밴드는 매우 영역이 좁다. 이건 phytoplakton conventration(식물성 플랑크톤 농도)와 물에 있는 다른 부유물들로 인한 water reflectance의 차이를 상세하게 구별할 수 있도록 최적화 되었기 때문이다. 수면의 식생을 검출하는데 더하여 5번 band는 다른 밴드의 정보를 처리하기 전에 land와 wataer를 구분하기 위해 사용된다. (일단 5번 밴드를 보고 그 다음 나머지 밴드를 본다는 뜻인듯.) 1986년에 CZCS 센서는 작동을 중지하였다. (왜 배웠는데 그러면)

MOS
1987년 2월에 일본에서 첫 Marine Observation Satellite(MOS-1)이 발사되었고 그 후속모델로 MOS-1b가 1990년 2월에 발사되었다. 이 위성들은 3가지 다른 센서를 가지고 있다.

  • four-channel Multispectral Electronic Self-Scanning Radiometer(MESSR)
  • four-channel Visible and Thermal Infrared Radiometer(VTIR)
  • two-channel Microwave Scanning Radiometer(MSR)

    MESSR 밴드는 Landsat MSS 센서와 꽤 비슷한 spectral range를 가지고 있다. 그래서 해양환경뿐만 아니라 land 쪽에도 유용하다. MOS는 상공 900km 궤도를 돌고있고 시간해상도는 17일이다.

SeaWiFS
SeaWiFS (Sea-viewing Wide-Field-of View Sensor)는 SeaStar 우주선에 탑재되어있고 ocean monitoring을 위해 디자인된 고급(Advanced) 센서이다. 매우 좁은 8개 spectral band를 가지고 있고 이 band들은 ocean primary production(바다에서 광합성을 통해 생성되는 유기물?), 식물성 플랑크톤, 바다가 기상에 미치는 영향(heat storage and aerosol formation)등 다양한 해양현상을 검출하는데 특화되있다. (또한 carbon, sulfur(황), nitrogen(질소)의 cycle(??)을 모니터링도 한다고 한다.)
705km 상공을 돌고 있고 적도를 지나는 시간은 12PM이다.
모드가 두개가 있는데 higher resolutoin mode는 1.1km(nadir에서)공간해상도와 2800km swath를 가지고 lower resolution mode에선 4.5km 공간 해상도와 1500km swath를 가진다.

Data Reception, Transmission, and Processing


항공기는 착륙하고 나면 찍은 이미지를 직접 가져올 수 있지만 인공위성은 통신을 통해서 이미지를 보내야하고 이 기술은 이미지가 급할 때 항공기에서도 쓰일 수 있다. Tranmitting data(데이터 전송)은 크게 3가지 옵션이 있는데 한가지는 위성의 시야에 Ground Receiving Station(GRS)가 있을 때 직접적으로 데이터를 보내는 것이다.(A) 만약 이것이 불가능하면 위성이 나중에 GRS에 보내기 위해 데이터를 가지고 있다가(B) Tracking and Data Relay Satellite System(TDRSS)(C)를 통해 GRS에 데이터를 전송해줄 수 있다. 이 시스템은 geosynchronous orbit(정지궤도를 뜻함)에 있는 여러 통신 위성들로 구성되어있다. 데이터가 다른 위성으로 옮겨진다음에 GRS로 옮겨지는 것이다. -> 어쨌든 GRS를 바라보는 위성이 하나는 있어야 되는듯?

나머지 내용은 다 예시이다.

profile
알고리즘과 머신러닝에 관심이 있는 평범한 공대생입니다!

0개의 댓글

관련 채용 정보