크리스티안 알링 쇠렌센
이것은 전적으로 Python으로 Sentinel-1 위성 이미지 작업을 위한 Python 모듈입니다. 이를 통해 원하는 이미지를 찾아 다운로드하고 작업할 수 있습니다(보정, 얼룩 필터 등). 저는 메타데이터에 SentinelSAT 패키지를 사용합니다. 그런 다음 데이터는 NASA ASF에서 다운로드됩니다.
왜? 왜냐하면 저는 ESA SNAP과 협력하지 않기 때문입니다. 또한 전체 작업 흐름을 Python으로 작성하는 것이 더 쉽습니다.
나는 품질, 보안 또는 기타 사항에 대해 어떠한 보장도 하지 않습니다. 원하는 대로 사용하세요.
소개
요구사항
설치 및 실행
Python에서 Sentinel-1 이미지 사용
SAR, 간략하게
감사의 말
멍청하다
지리판다
mgrs (이후 버전에서는 제거되어야 합니다.. 죄송합니다..)
scikit-learn(이후 버전에서는 제거되어야 합니다.. 죄송합니다..)
scipy (이후 버전에서는 제거되어야 합니다..sry..)
카토피
베개
팬더
보초대
matplotlib
이 저장소는 git clone 또는 pypi를 사용하여 설치할 수 있습니다. 현재는 pypi-test에만 배치했으므로 그대로 유지되기를 바랍니다.
Pypi 사용
GDAL. gdal 바인딩이 작동하는지 확인하세요...
pypy 테스트를 사용하여 sentinel_1_python 설치
python3 -m pip install sentinel-1-python --extra-index-url=https://test.pypi.org/simple/
클론 사용
모든 요구 사항 설치
클론
git clone https://github.com/aalling93/sentinel_1_python.git
목차로 돌아가기
이미지의 메타데이터 가져오기
Sentinel_metadata()를 met:met.area([29.9,21,56.7,58])met.get_metadata(sensor='s1_slc',start_data='20220109',end_date='20221010')로 사용
원하는 경우 이미지를 필터링하세요.
met.iw() #filer이므로 IW만 있습니다.
다운로드 전 이미지 표시:
met.plot_image_areas() # 이미지의 범위 표시met.show_cross_pol(4)
그러면 이미지의 범위를 볼 수 있습니다.
그리고 이미지를 다운로드하기 전에 표시하세요...
이미지 다운로드
폴더 = f'{os.getenv("raw_data_dir")}/slc_sweden'with Satellite_download(met.products_df) as dwl:os.makedirs(folder, 존재_ok=True)#save 메타데이터dwl.products_df.to_pickle(f'{folder} /slc_dataframe.pkl')#다운로드 Thumbnailsdwl.download_thumbnails(folder=f'{folder}/slc_thumbnails') # .zip 형식의 slc 이미지를 다운로드하고 .SAFE 형식으로 추출합니다..dwl.download_sentinel_1(f'{folder}/slc')
Python에서 스펙클 필터 이미지 로드, 보정, 필터링
image_paths = glob.glob(f'{os.getenv("raw_data_dir")}/*/*/*.SAFE')img = s1_load(image_paths[0])img =img.calibrate(mode='gamma') # 예를 들어 'sigma_0'을 사용할 수도 있습니다. img = img.boxcar(5) #예를 들어 Lee를 쉽게 만들 수 있습니다. 필터..img.simple_plot(band_index=0)
이제 인덱스 또는 좌표 세트로 정의된 이미지 영역을 추출할 수 있습니다.
indx = img.get_index(lat=57.0047,long=19.399)img[indx[0]-125:indx[0]+125,indx[1]-125:indx[1]+125].simple_plot(band_index=1 )
목차로 돌아가기
SAR(Synthetic Aperture Radar)은 비협조적 감시 작업 등에 사용할 수 있는 능동 장비입니다. 예를 들어 MSI에 비해 가장 큰 장점은 밤낮으로 작동하고 구름과 비를 뚫고 볼 수 있다는 것입니다. SAR 장비를 위성에 배치하면 설계별 시간적, 공간적 해상도로 글로벌 범위를 확보할 수 있습니다. 결과적으로, 예를 들어 AIS와 SAR 장비를 결합하여 협력적 및 비협력적 감시를 획득할 수 있습니다.
레이더는 마이크로파 스펙트럼의 특정 특성을 지닌 전자기 펄스를 방출하는 장비입니다. 단일 정적 레이더의 경우 레이더 장비는 펄스에서 후방 산란 신호를 전송하고 수신합니다. 후방 산란 신호는 조명된 표적의 구조에 따라 달라지므로 잘 알려진 전송 및 수신 신호를 비교하여 단일 정적 레이더 방정식을 사용하여 표적의 기하학적 특성과 기본 특성을 모두 설명할 수 있습니다.
어디 ?? 는 전송된 신호 ??에서 파생된 수신된 신호입니다. 변수? 는 레이더의 설계별 파장이고 ?(?,?)는 레이더 게인 패턴입니다. 신호는 이동한 거리 τ에 따라 분산됩니다. 따라서 레이더 단면적 σ(?, ?)는 유도될 수 있으며 표적의 유전체 및 기하학적 특성을 설명하고 각도 θ에 따라 달라집니다. 그리고 ?. 그러나 잡음이 있는 경우에는 단일 정적 레이더 방정식에 또 다른 기여를 추가해야 합니다. 내 다른 저장소인 https://github.com/aalling93/Finding-on-groud-Radars-in-SAR-images에서는 RFI(무선 주파수 간섭)를 사용하여 작업합니다. 다른 레이더의 다른 신호가 SAR 신호를 간섭하는 현상입니다. 일반적으로 ?(?,?)는 대상 영역 내에서 사용 가능한 에너지를 설명하므로 해당 영역으로 정규화되어야 합니다. 레이더 후방 산란 계수는 다음과 같이 구합니다.
당면한 문제에 따라 다양한 영역을 사용할 수 있습니다. SAR을 이미징 레이더로 사용하는 경우 이미지의 각 픽셀에는 위상과 진폭 값이 있습니다. 이미지를 보정하면 방정식에서 볼 수 있듯이 레이더 후방 산란 계수를 얻을 수 있습니다. . 이 모듈에서는 외부 소프트웨어나 (악명 높은) Snappy 패키지 없이 Sentinel-1 이미지를 로드하고 보정하는 것이 가능합니다.
SAR은 조명된 영역 내의 모든 물체로부터 후방 산란 기여를 받기 때문에 스펙클이라는 노이즈와 같은 현상이 발생합니다. 그 결과 각 픽셀이 해당 영역의 개별 개체에서 발생한 후방 산란의 조합인 세분화된 이미지가 생성됩니다. 내 저장소 https://github.com/aalling93/Custom-made-SAR-speckle-reduction에서 여러 가지 Speckle 필터를 구현하고 다양한 조건에서 차이점을 보여줍니다. .
SAR 이미징 레이더는 플랫폼의 움직임을 활용하여 더 나은 해상도를 합성한다는 점에서 일반 레이더와 다르므로 합성 개구 레이더(Synthetic Aperture Radar)라는 이름이 붙었습니다. 정지된 표적의 사진을 촬영할 때 플랫폼의 속도에서 도플러 주파수를 찾습니다. SAR은 동일한 대상과 여러 펄스를 방출하고 수신합니다. SAR이 목표물을 향해 비행할 때 목표물에 수직이 될 때까지 감소하는 양의 도플러 주파수를 측정한 후 증가하는 음의 도플러 주파수를 경험하게 됩니다.
전자기 신호는 수평 또는 수직 편파로 전송되며, 전체 매개변수 SAR은 수평 및 수직 편파를 모두 전송할 수 있습니다. 전송된 펄스와 대상의 상호 작용으로 인해 수직 및 수평 신호가 모두 SAR로 다시 반사됩니다. 이로 인해 여러 가지 다른 산란 메커니즘이 발생합니다. 여러 유형의 산란 메커니즘이 존재합니다. 선박 탐지에서 가장 두드러지는 것은 표면 산란과 이중 바운스 산란입니다.
전송된 신호는 그것이 비추는 물체에 의해 부분적으로 흡수되고 부분적으로 반사됩니다. 표면 산란은 반사된 신호를 설명하는 산란입니다. 표면이 완전히 매끄러우면(반사) 후방 산란이 SAR로 다시 반사되지 않습니다. 표면이 거칠면 산란이 발생하고 입사 펄스의 일부가 SAR로 다시 산란됩니다. 거친 표면은 매끄러운 표면에 비해 후방 산란이 더 높습니다. 더욱이 VV와 HH는 거친 표면과 매끄러운 표면 모두에 대해 VH와 HV(HV와 VH는 거의 항상 동일함)에 비해 더 높은 후방 산란을 갖습니다. 표면이 습하면 레이더 단면적이 높아집니다. 표면의 후방 산란은 그것이 비추는 대상의 거칠기와 유전 상수에 따라 달라집니다. 따라서 해양 표면은 SAR 주파수에서 높은 유전 상수를 고려하더라도 습하고 비교적 매끄러운 표면(낮은 풍속에서)으로 인해 작은 후방 산란이 발생하는 경우가 많습니다.
이중 바운스 산란은 전송된 펄스가 SAR의 모서리에서 두 번 정반사될 때 발생합니다. 이로 인해 후방 산란이 매우 높아집니다. 선박에는 모서리가 많고 매우 매끄러우므로 후방 산란이 특히 높은 경우가 많습니다. 따라서 선박과 해수면을 구별하는 것이 종종 쉽습니다. 바다의 산란 메커니즘에 대한 자세한 내용은 다음을 참조하세요. 앞서 언급한 것처럼 몇 가지 다른 산란 메커니즘이 존재하며, 예를 들어 북극의 SAR 이미지에서 선박을 탐지할 때 부피 산란도 고려해야 합니다.
SAR의 기하학적 구조와 움직이는 플랫폼으로 인해 일반적인 SAR 이미징 센서는 이미지 획득 중에 대상이 고정되어 있다는 가정하에 좋은 해상도로 초점이 맞춰진 이미지를 촬영하도록 설계되었습니다. 움직이는 표적에는 초점을 맞출 수 없으므로 일반 SAR 장비는 선박과 같이 빠르게 움직이는 물체를 탐지하는 데 적합하지 않습니다. 결과는 잘 해결된 정적 배경과 잘못 해결된 움직이는 대상입니다. 비협조적인 감시 작업에서 이는 중요한 문제입니다. 표적이 SAR의 시선에 수직으로 일정한 가속도로 이동한다고 가정할 때 SAR 이미지의 도플러 편이를 고려하면 문제를 줄이는 것이 가능합니다. 해상 선박은 일반적으로 이러한 패턴을 따르지 않습니다. 따라서 SAR 장비를 갖춘 선박을 관찰할 때는 더욱 복잡한 궤적 패턴을 고려해야 합니다.
요약하자면, SAR 장비의 기능을 사용하면 해수면에서 선박을 탐지하는 것이 가능해야 합니다.
나 자신, 사이먼 루펨바, 에길 리퍼트
라이센스 파일을 참조하십시오. 간단히 말해서:
당신의 작업에 나를 인용하세요! 다음과 같습니다: Kristian Aalling Sørensen(2020) sentinel_1_python [소스 코드]. https://github.com/aalling93/sentinel_1_python. 이메일: [email protected]
Github에서 나를 팔로우할 수 있는 사람을 최대한 많이 확보하세요. 최소한 이것을 사용하는 당신과 당신의 동료. 나는 사냥꾼 같은 사람이다.
위와 동일하게 조정된 이 저장소에 별표를 표시합니다.
제가 얼마나 놀라운 일을 했는지 알려주는 이메일을 한두 통 정도 보내 주시겠습니까?
업무 개선에 도움을 주세요. 나는 항상 협력자를 찾고 있습니다.