日韩专区一区,亚洲va综合va国产va中文,黄色精品国产,欧美黑人一级视频

基于深度學習技術的超分辨率圖像算法在華為Atlas 200 DK上的實現

基于深度學習技術的超分辨率圖像算法在華為Atlas 200 DK上的實現

基于深度學習技術的超分辨率圖像算法在華為Atlas 200 DK上的實現

超分辨率圖像處理樣例

功能:使用SRCNN、FSRCNN、VDSR和ESPCN四種模型之一對輸入圖片進行圖像超分辨率處理。
樣例輸入:原始圖片bmp文件。
樣例輸出:帶推理結果的png文件。

前置條件

請檢查以下條件要求是否滿足,如不滿足請按照備注進行相應處理。如果CANN版本升級,請同步檢查第三方依賴是否需要重新安裝(5.0.4及以上版本第三方依賴和5.0.4以下版本有差異,需要重新安裝)。

條件 要求 備注
CANN版本 >=5.0.4 請參考CANN樣例倉介紹中的安裝步驟完成CANN安裝,如果CANN低于要求版本請根據版本說明切換samples倉到對應CANN版本
硬件要求 Atlas200DK/Atlas300(ai1s) 當前已在Atlas200DK和Atlas300測試通過,產品說明請參考硬件平臺 ,其他產品可能需要另做適配
第三方依賴 opencv 請參考第三方依賴安裝指導(C++樣例)完成對應安裝

樣例準備

  1. 獲取源碼包。
    可以使用以下兩種方式下載,請選擇其中一種進行源碼準備。

    • 命令行方式下載(下載時間較長,但步驟簡單)。
      # 開發環境,非root用戶命令行中執行以下命令下載源碼倉。    
      cd ${HOME}     
      git clone https://gitee.com/ascend/samples.git
       
      注:如果需要切換到其它tag版本,以v0.5.0為例,可執行以下命令。
      git checkout v0.5.0
       
    • 壓縮包方式下載(下載時間較短,但步驟稍微復雜)。
      注:如果需要下載其它版本代碼,請先請根據前置條件說明進行samples倉分支切換。
       # 1. samples倉右上角選擇 【克隆/下載】 下拉框并選擇 【下載ZIP】。    
       # 2. 將ZIP包上傳到開發環境中的普通用戶家目錄中,【例如:${HOME}/ascend-samples-master.zip】。     
       # 3. 開發環境中,執行以下命令,解壓zip包。     
       cd ${HOME}    
       unzip ascend-samples-master.zip
       
  2. 模型轉換。

    模型名稱 模型說明 模型下載路徑
    SRCNN 圖片生成推理模型。 請參考https://gitee.com/ascend
    /ModelZoo-TensorFlow/tree/master
    /TensorFlow/contrib/cv/super_resolution
    /ATC_SRCNN_caffe_AE
    目錄中README.md
    下載原始模型章節的模型文件。
    FSRCNN 圖片生成推理模型。 請參考https://gitee.com/ascend
    /ModelZoo-TensorFlow/tree/master
    /TensorFlow/contrib/cv/super_resolution
    /ATC_FSRCNN_caffe_AE
    目錄中README.md
    下載原始模型章節的模型文件。
    VDSR 圖片生成推理模型。 請參考https://gitee.com/ascend
    /ModelZoo-TensorFlow/tree/master
    /TensorFlow/contrib/cv/super_resolution
    /ATC_VDSR_caffe_AE
    目錄中README.md
    下載原始模型章節的模型文件。
    ESPCN 圖片生成推理模型。 請參考https://gitee.com/ascend
    /ModelZoo-TensorFlow/tree/master
    /TensorFlow/contrib/cv/super_resolution
    /ATC_ESPCN_caffe_AE
    目錄中README.md
    下載原始模型章節的模型文件。
    # 為了方便下載,在這里直接給出原始模型下載及模型轉換命令,可以直接拷貝執行。也可以參照上表在modelzoo中下載并手工轉換,以了解更多細節。   
    #此處模型下載以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
     

樣例部署

執行以下命令,執行編譯腳本,開始樣例編譯。

cd $HOME/samples/cplusplus/contrib/super_resolution/scripts    
bash sample_build.sh
 

樣例運行

注:開發環境與運行環境合一部署,請跳過步驟1,直接執行步驟2即可。

  1. 執行以下命令,將開發環境的 **super_resolution ** 目錄上傳到運行環境中,例如 /home/HwHiAiUser,并以HwHiAiUser(運行用戶)登錄運行環境(Host)。

    # 【xxx.xxx.xxx.xxx】為運行環境ip,200DK在USB連接時一般為192.168.1.2,300(ai1s)為對應的公網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
     
  2. 執行運行腳本,開始樣例運行。

    bash sample_run.sh
     

查看結果

運行完成后,會在樣例工程的out/output目錄下生成推理后的圖片,顯示對比結果如下所示。
運行成功圖片

常見錯誤

請參考常見問題定位對遇到的錯誤進行排查。如果wiki中不包含,請在samples倉提issue反饋。

訂閱快訊

通過快訊訂閱,您將及時收到我們的信息更新通知。