Chapter8
Arosics/影像套合
AROSICS(Automated and Robust Open-Source Image Co-Registration Software)是一套開源的自動化影像套合程式,參考影像(Reference Image)與待套合影像(Target Image)都必須經過地理對位且具有地理坐標,核心技術為頻率域匹配(Phase-Sift Image Matching)、多重錯誤點偵測(Multi-stage Validation of Calculated Spatial Shift)及局部套合(Warping by Local Transform)。演算法詳細內容可參考(Scheffler et al. 2017)。
Arosics提供兩種影像套合方法: (1) 全域策略(Global Approach)及(2)局部策略(Local Approach)。全域策略一張套合影像張僅計算個整體偏移量;局部策略則以規則式網格進行匹配產生均勻分佈的套合點,再經過錯誤匹配點過濾,最後以局部轉換進行重新取樣。
- Scheffler, D., Hollstein, A., Diedrich, H., Segl, K., and Hostert, P., 2017. AROSICS: an automated and robust open-source image co-registration software for multi-sensor satellite data. Remote Sensing. 9(7):676.
以下就Arosics進行軟體安裝及使用說明,本說明文件採用的OS為Ubuntu 16
8-1. Installation/安裝
- 安裝Arosics參考資料:https://pypi.python.org/pypi/arosics
Step 1 Install Anaconda>> https://www.anaconda.com/download
(在Linux系統安裝Anaconda)
Step 1-1 進入Anaconda網站後選擇Linux系統 > 點選Download,下載Python 3.6 version
Step 1-2 選擇 Save File,儲存下載檔案
Step 2 在桌面點滑鼠右鍵選擇Open Terminal,開啟Terminal 輸入指令安裝 Anaconda
Step 2-1 輸入:dir (列出所有存放資料的資料夾)
Step 2-2 輸入:cd Downloads (切換工作路徑至Downloads 資料夾)
Step 2-3 輸入:bash Anaconda3-4.0.0-Linux-x86_64.sh (Step1-1下載的檔案名稱)
Step 2-4 會出現詢問是否同意將Anaconda3安裝至電腦指定位置,若無想設定的位置,請輸入:yes ,以繼續安裝
Step 2-5 安裝完成後,請依照下圖黃框內指示開啟新的Terminal
Step 3 開啟新的Terminal,依序輸入以下指令 (目的是為arosics創造虛擬環境):
1.conda create -y -q --name arosics python=3
2.source activate arosics
3.conda install -y -q -c conda-forge numpy gdal scikit-image matplotlib pyproj rasterio
4.conda install -y -q -c conda-forge pyfftw basemap pykrige # these libraries are optional
Step 4 Install Arosics >> https://pypi.python.org/pypi/arosics
- 方法一:Step 4-1-1 在Terminal輸入:pip install arosics
- 方法二:Step 4-2-1 至上方網站點選 Download arosics-0.5.0.tar.gz,下載arosics-0.5.0.
Step 4-2-2 選擇 Save File 儲存下載檔案
Step 4-2-3 開啟新的Terminal > 輸入:dir > cd Downloads > xvf arosics-0.5.0.tar.gz ( 此步驟目的為解壓縮arosics-0.5.0.tar.gz )
Step 5 如何確認Arosics安裝成功?
在Terminal輸入指令”source activate arosics”,若可成功啟動,則代表安裝成功。
8-2. Learning Materials
Arosics的使用說明可以參考以下網址 :
- 技術文作 http://www.mdpi.com/2072-4292/9/7/676
- 安裝說明 https://pypi.python.org/pypi/arosics
- 指令說明 http://danschef.gitext.gfz-potsdam.de/arosics/doc/
- 開源程式及說明 https://gitext.gfz-potsdam.de/danschef/arosics
8-3. Data Preparation
- 選擇Input Image 產品:影像等級必須為 Level 2 (經系統改正後)之影像,不適用 Level 1 原始影像,且須設有EPSG座標系統。
- 參考正射影像 (Reference Image)必須設有EPSG座標系統。
- Optional - Cloud Mask : 若影像中有雲,可以排除,加速運算。
- 參數設定說明>> http://danschef.gitext.gfz-potsdam.de/arosics/doc/usage.html#arosics-cli-py
必要參數設定說明 :
8-4. Usage
- 方法一:Global Approach
Step 1. 開啟Terminal,輸入: cd /您anaconda3資料夾的路徑/anaconda3/envs/arosics/bin
Step 2. 啟用arosics,輸入:source activate arosics
Step 3. 進行影像套合,輸入: python arosics_cli.py global /您存放Reference Image的路徑/ Reference Image的檔名 /您存放Input Image的路徑/Input Image的檔名 -fmt_out GTIFF -max_shift 100,( max_shift 100,表示最大偏移距離為100 pixel;-fmt_out GTIFF,表示輸出的檔案格式為GTIFF )
For example :
- 方法二:Local Approach
Step 1. 開啟Terminal,輸入: cd /您anaconda3資料夾的路徑/anaconda3/envs/arosics/bin
Step 2. 啟用arosics,輸入:source activate arosics
Step 3. 進行影像套合(須給予雲遮罩),輸入: python arosics_cli.py local /您存放Reference Image的路徑/ Reference Image的檔名 /您存放Input Image的路徑/Input Image的檔名 200 -mask_tgt /您存放CloudMask Image的路徑/CloudMask Image的檔名 -fmt_out GTIFF -max_shift 100,(200為影像網格大小;max_shift 100,表示最大偏移距離為100 pixel;-fmt_out GTIFF,表示輸出的檔案格式為GTIFF)
For example :
8-5. 範例展示
以下分別比較影像套合前及套合後之成果,影像套合前可看到 Reference Image 及 Target Image 明顯不連續處,完成影像套合可提升影像間的一致性。
- 套合前 :
- 套合後 :
方法一 : Global Approach
方法二:Local Approach