功能:使用SRCNN、FSRCNN、VDSR和ESPCN四種模型之一對輸入圖片進(jìn)行圖像超分辨率處理。
樣例輸入:原始圖片bmp文件。
樣例輸出:帶推理結(jié)果的png文件。
請檢查以下條件要求是否滿足,如不滿足請按照備注進(jìn)行相應(yīng)處理。如果CANN版本升級,請同步檢查第三方依賴是否需要重新安裝(5.0.4及以上版本第三方依賴和5.0.4以下版本有差異,需要重新安裝)。
條件 | 要求 | 備注 |
---|---|---|
CANN版本 | >=5.0.4 | 請參考CANN樣例倉介紹中的安裝步驟完成CANN安裝,如果CANN低于要求版本請根據(jù)版本說明切換samples倉到對應(yīng)CANN版本 |
硬件要求 | Atlas200DK/Atlas300(ai1s) | 當(dāng)前已在Atlas200DK和Atlas300測試通過,產(chǎn)品說明請參考硬件平臺 ,其他產(chǎn)品可能需要另做適配 |
第三方依賴 | opencv | 請參考第三方依賴安裝指導(dǎo)(C++樣例)完成對應(yīng)安裝 |
獲取源碼包。
可以使用以下兩種方式下載,請選擇其中一種進(jìn)行源碼準(zhǔn)備。
# 開發(fā)環(huán)境,非root用戶命令行中執(zhí)行以下命令下載源碼倉。
cd ${HOME}
git clone https://gitee.com/ascend/samples.git
git checkout v0.5.0
# 1. samples倉右上角選擇 【克隆/下載】 下拉框并選擇 【下載ZIP】。
# 2. 將ZIP包上傳到開發(fā)環(huán)境中的普通用戶家目錄中,【例如:${HOME}/ascend-samples-master.zip】。
# 3. 開發(fā)環(huán)境中,執(zhí)行以下命令,解壓zip包。
cd ${HOME}
unzip ascend-samples-master.zip
模型轉(zhuǎn)換。
模型名稱 | 模型說明 | 模型下載路徑 |
---|---|---|
SRCNN | 圖片生成推理模型。 | 請參考https://gitee.com/ascend /ModelZoo-TensorFlow/tree/master /TensorFlow/contrib/cv/super_resolution /ATC_SRCNN_caffe_AE目錄中README.md 下載原始模型章節(jié)的模型文件。 |
FSRCNN | 圖片生成推理模型。 | 請參考https://gitee.com/ascend /ModelZoo-TensorFlow/tree/master /TensorFlow/contrib/cv/super_resolution /ATC_FSRCNN_caffe_AE目錄中README.md 下載原始模型章節(jié)的模型文件。 |
VDSR | 圖片生成推理模型。 | 請參考https://gitee.com/ascend /ModelZoo-TensorFlow/tree/master /TensorFlow/contrib/cv/super_resolution /ATC_VDSR_caffe_AE目錄中README.md 下載原始模型章節(jié)的模型文件。 |
ESPCN | 圖片生成推理模型。 | 請參考https://gitee.com/ascend /ModelZoo-TensorFlow/tree/master /TensorFlow/contrib/cv/super_resolution /ATC_ESPCN_caffe_AE目錄中README.md 下載原始模型章節(jié)的模型文件。 |
# 為了方便下載,在這里直接給出原始模型下載及模型轉(zhuǎn)換命令,可以直接拷貝執(zhí)行。也可以參照上表在modelzoo中下載并手工轉(zhuǎn)換,以了解更多細(xì)節(jié)。
#此處模型下載以SRCNN模型為例
cd $HOME/samples/cplusplus/contrib/super_resolution/model
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/super_resolution/SRCNN/SRCNN.caffemodel
wget https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/super_resolution/SRCNN/SRCNN.prototxt
#使用SRCNN模型:
atc --model=./SRCNN.prototxt --weight=./SRCNN.caffemodel --framework=0 --input_format=NCHW --input_shape="data: 1, 1, 768, 768" --output=./SRCNN_768_768 --soc_version=Ascend310 --output_type=FP32
#使用FSRCNN模型:
atc --model=./FSRCNN.prototxt --weight=./FSRCNN.caffemodel --framework=0 --input_format=NCHW --input_shape="data: 1, 1, 256, 256" --output=./FSRCNN_256_256 --soc_version=Ascend310 --output_type=FP32
#使用ESPCN模型:
atc --model=./ESPCN.prototxt --weight=./ESPCN.caffemodel --framework=0 --input_format=NCHW --input_shape="data: 1, 1, 256, 256" --output=./ESPCN_256_256 --soc_version=Ascend310 --output_type=FP32
#使用VDSR模型:
atc --model=./VDSR.prototxt --weight=./VDSR.caffemodel --framework=0 --input_format=NCHW --input_shape="data: 1, 1, 768, 768" --output=./VDSR_768_768 --soc_version=Ascend310 --output_type=FP32
執(zhí)行以下命令,執(zhí)行編譯腳本,開始樣例編譯。
cd $HOME/samples/cplusplus/contrib/super_resolution/scripts
bash sample_build.sh
注:開發(fā)環(huán)境與運(yùn)行環(huán)境合一部署,請?zhí)^步驟1,直接執(zhí)行步驟2即可。
執(zhí)行以下命令,將開發(fā)環(huán)境的 **super_resolution ** 目錄上傳到運(yùn)行環(huán)境中,例如 /home/HwHiAiUser,并以HwHiAiUser(運(yùn)行用戶)登錄運(yùn)行環(huán)境(Host)。
# 【xxx.xxx.xxx.xxx】為運(yùn)行環(huán)境ip,200DK在USB連接時(shí)一般為192.168.1.2,300(ai1s)為對應(yīng)的公網(wǎng)ip。
scp -r $HOME/samples/cplusplus/contrib/super_resolution HwHiAiUser@xxx.xxx.xxx.xxx:/home/HwHiAiUser
ssh HwHiAiUser@xxx.xxx.xxx.xxx
cd $HOME/samples/cplusplus/contrib/super_resolution/scripts
bash sample_run.sh
運(yùn)行完成后,會在樣例工程的out/output目錄下生成推理后的圖片,顯示對比結(jié)果如下所示。
請參考常見問題定位對遇到的錯(cuò)誤進(jìn)行排查。如果wiki中不包含,請?jiān)趕amples倉提issue反饋。