吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

模糊圖像變高清:TPU-MLIR引領EDSR向MDSR的智能轉換!

算能開發者社區 ? 2023-12-11 17:51 ? 次閱讀

模型介紹

EDSR模型,全稱為enhanced deep super-resolution network(增強的深度學習超分辨率重建網絡)。該模型可以對指定圖片進行超分辨率操作,提高清晰度。

而MDSR是多尺度的超分模型,可以一次輸出不同scale的圖片,相比EDSR,可以在相同的性能下,減少很多的參數

EDSR模型結構如下:

d04412b4-980a-11ee-9788-92fbcf53809c.png

MDSR模型結構如下:

d062e8ec-980a-11ee-9788-92fbcf53809c.png

本期內容將會帶領大家學習如何利用TPU-MLIR實現EDSR模型到MDSR模型的轉換。

模型導出與轉換

基本流程為將原項目與模型下載后導出為onnx模型。再利用TPU-MLIR工具將onnx模型轉換為bmodel模型。

目錄結構安排如下,其中dataset文件夾中是量化所用的DIV2K數據集,image文件夾下是測試圖片,model文件夾中是待轉換的onnx模型。

.
├──dataset
│├──x2
│├──x3
│└──x4
├──image
└──model
├──EDSR_x2.onnx
├──EDSR_x3.onnx
├──EDSR_x4.onnx
├──MDSR_x2.onnx
├──MDSR_x3.onnx
└──MDSR_x4.onnx

以下命令均在TPU-MLIR的docker環境內進行。

進入EDSR-transform目錄

設置參數

scale=4
size=100
echoscale=${scale}size=${size}
mkdirworkspace_x${scale}&&cdworkspace_x${scale}

  1. 模型轉換和量化

#算子轉換、圖優化
model_transform.py\
--model_nameEDSR_x${scale}\
--model_def../model/EDSR_x${scale}.onnx\
--input_shapes[[1,3,${size},${size}]]\
--keep_aspect_ratio\
--pixel_formatrgb\
--test_input../image/0901x${scale}.png\
--test_resultEDSR_x${scale}_outputs.npz\
--mlirEDSR_x${scale}.mlir

#建立校準表
run_calibration.pyEDSR_x${scale}.mlir\
--dataset../dataset/X${scale}\
--input_num50\
-oEDSR_x${scale}_cali_table

#多層優化和轉換bmodel
##轉換INT8模型
model_deploy.py\
--mlirEDSR_x${scale}.mlir\
--quantizeINT8\
--calibration_tableEDSR_x${scale}_cali_table\
--chipbm1684x\
--test_inputEDSR_x${scale}_in_f32.npz\
--test_referenceEDSR_x${scale}_outputs.npz\
--tolerance0.85,0.45\
--modelEDSR_x${scale}_1684x_int8_sym.bmodel

##轉換FP16模型
model_deploy.py\
--mlirEDSR_x${scale}.mlir\
--quantizeF16\
--chipbm1684x\
--test_inputEDSR_x${scale}_in_f32.npz\
--test_referenceEDSR_x${scale}_top_outputs.npz\
--modelEDSR_x${scale}_1684x_f32_sym.bmodel

##轉換FP32模型
model_deploy.py\
--mlirEDSR_x${scale}.mlir\
--quantizeF32\
--chipbm1684x\
--test_inputEDSR_x${scale}_in_f32.npz\
--test_referenceEDSR_x${scale}_top_outputs.npz\
--modelEDSR_x${scale}_1684x_f32_sym.bmodel

#將以上所有EDSR改為MDSR即可轉換MDSR模型

轉換結果評估

評估過程說明

  1. 配置好BM1684X平臺,上傳并解壓本項目EDSR-BM1684x.zip,同時下載benchmark數據集,確保benchmark與EDSR文件夾在同一目錄內。進入EDSR/python目錄下,運行以下命令:

####predictonbm1684x
formodelin{EDSR,MDSR};do
forscalein{2,3,4};do
echo-------------------------------------dataset=Set14-------------scale=${scale}-------------------------------------
cmd="pythonrun_opencv_crop.py--input../../benchmark/Set14/LR_bicubic/X${scale}\
--outputresults/${model}_Set14_x${scale}_int8\
--bmodel../models/BM1684X/${model}_x${scale}/${model}_x${scale}_1684x_int8_sym.bmodel"
echo">>>Running:${cmd}"
$cmd
done
done

  • 推理結果保存在EDSR/python/results中,更改不同bmodel參數以使用不同bmodel
  1. 評估結果方法

####安裝評估模型
pipinstalllpips

評估主要代碼(eval.py)如下

...
fori,srinenumerate(sr_list):
hr=Path(args.hr_path)/(sr.stem.split('x')[0]+sr.suffix)
ifnothr.exists():
logging.error(f'{sr}:{hr}doesnotexist')
hr_list.append(None)
continue
hr_list.append(hr)

sr_img=Image.open(sr).convert('RGB')
hr_img=Image.open(hr).convert('RGB')
ifhr_img.size!=sr_img.size:
logging.info(f'croppinghr_imgfrom{hr_img.size}to{sr_img.size}')
#hr_img=hr_img.resize(sr_img.size,resample=Image.Resampling.BICUBIC)
hr_img=hr_img.crop((0,0,sr_img.size[0],sr_img.size[1]))
sr_img=np.array(sr_img)
hr_img=np.array(hr_img)

lpi=calculate_lpips(sr_img,hr_img,border=args.scale)

sr_img_y=rgb2ycbcr(sr_img,only_y=True)
hr_img_y=rgb2ycbcr(hr_img,only_y=True)
#sr_img_y=sr_img
#hr_img_y=hr_img
psnr=calculate_psnr(sr_img_y,hr_img_y,border=args.scale)
ssim=calculate_ssim(sr_img_y,hr_img_y,border=args.scale)
...

####evaluateonbm1684x
scale=(234)
formodelin{EDSR,MDSR};do
foriin"${!scale[@]}";do
echo-------------scale=${scale[$i]}-----------------
cmd="pythoneval.py--hr_path../../benchmark/Set14/HR--sr_pathresults/${model}_Set14_x${scale[$i]}_int8--scale${scale[$i]}"
echo">>>Running:${cmd}"
$cmd
done
done

  • 評價結果保存在results/*/result.log里
  1. 若是想測試自己的圖片,請將圖片放入image目錄下然后運行以下命令,結果保存在results/image里。更改bmodel模型來更換模型與超分倍率

pythonrun_opencv_crop.py--input../image\
--outputresults/image\
--bmodel../models/BM1684X/EDSR_x2_1684x_int8_sym.bmodel

評價代碼如下

pythoneval.py--sr_pathresults/image--hr_path../image--scale{sacle}

評估結果

精度測試方法

測試數據集采用Set14數據集,指標采用與原論文一致的PSNR+SSIM指標來衡量圖像質量。因為我們在模型固定輸入大小的情況下,對原圖進行裁切,超分,拼合的形式達到動態輸入的效果,所以有的精度指標在測試中不僅不會降低反而會升高。同時又由于不同放大倍數的模型輸入大小和模型參數不一樣,推理時間的比例也會發生變化。

fp32結果

d0695d4e-980a-11ee-9788-92fbcf53809c.png

fp32

fp16結果

d078ecaa-980a-11ee-9788-92fbcf53809c.png

fp16

int8結果

d0894df2-980a-11ee-9788-92fbcf53809c.png

int8

精度對比

d097f10e-980a-11ee-9788-92fbcf53809c.png

precise

性能對比

d0a822b8-980a-11ee-9788-92fbcf53809c.png

precise

結論

本次轉換了EDSR和MDSR超分辨率模型,分別實現了fp32, fp16, int8多種精度模型轉換, TPU-MLIR對這兩個模型支持較好,轉換過程中比較順利。從最終評估結果上看,這兩個超分模型對推理的數值精度不敏感,經過量化后,相關指標損失較少,甚至有些指標還會提升。另外,在BM1684X的平臺上,INT8推理時間最短,故在部署時,推薦使用量化后的INT8模型部署。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3305

    瀏覽量

    49221
  • TPU
    TPU
    +關注

    關注

    0

    文章

    143

    瀏覽量

    20783
  • 深度學習
    +關注

    關注

    73

    文章

    5513

    瀏覽量

    121550
收藏 人收藏

    評論

    相關推薦

    調試THS8200時圖像能正常輸出,但是圖像模糊不清怎么樣解決?

    我們在調試THS8200時圖像能正常輸出,但是圖像模糊不清,跟原來圖像相比差太遠了,您們能提供一些調試參數給我們嗎?或者怎么樣解決?圖像
    發表于 01-17 07:18

    【「大模型啟示錄」閱讀體驗】+開啟智能時代的新鑰匙

    閱讀之旅。在翻開這本書之前,我對大模型的認知僅僅停留在它是一種強大的人工智能技術,可以進行自然語言處理、圖像識別等任務。我知道像 ChatGPT 這樣的應用是基于大模型開發的,能夠與人類進行較為流暢
    發表于 12-24 13:10

    電壓無憂:380V 480V 變壓器引領高效電能變換

    智能掌控,電壓無憂:380V 480V 變壓器引領高效電能變換 在當今復雜多變的工業用電環境中,穩定且精準的電壓供應對于設備的正常運轉和性能發揮起著決定性作用。380V 480
    的頭像 發表于 12-03 16:53 ?187次閱讀
    電壓無憂:380V <b class='flag-5'>變</b> 480V 變壓器<b class='flag-5'>引領</b>高效電能變換

    線路在線監測裝置智能圖像機的核心優勢是什么?

    答:大家好,今天特地來和大家分享一款電網監控領域的神器——線路在線監測裝置智能圖像機TLKS-PMG-PV500!這款裝置憑借其獨特的設計與先進的技術,正引領著電網監控的新潮流。不得不提的是,該裝
    發表于 09-25 15:44

    TPU v1到Trillium TPU,蘋果等科技公司使用谷歌TPU進行AI計算

    ,在訓練尖端人工智能方面,大型科技公司正在尋找英偉達以外的替代品。 ? 不斷迭代的谷歌TPU 芯片 ? 隨著機器學習算法,特別是深度學習算法在各個領域的廣泛應用,對于高效、低功耗的AI計算硬件需求日益增長。傳統的CPU和GPU在處理這些算法時存在效率較低的問
    的頭像 發表于 07-31 01:08 ?3439次閱讀

    基于RK3588的8K視頻解碼顯示案例分享!引領高清工業視頻時代

    。這是目前大多數消費者電視和電腦顯示器的標準分辨率,可以提供良好的圖像質量。4K分辨率:也稱為4K超高清(4K ULTRA HD),它具有3840 x 2160像素的分辨率。4K顯示屏相對于傳統的全高清
    發表于 07-17 11:15

    【算能RADXA微服務器試用體驗】+ GPT語音與視覺交互:2,圖像識別

    /download.sh 下載完成后,應該可以看到文件夾中出現以下模型: ./models ├── BM1684 │├── yolov8s_fp32_1b.bmodel# 使用TPU-MLIR編譯,用于
    發表于 07-14 23:36

    全志T527芯片詳解【二】:高清圖像編解碼

    硬件模塊加持 T527集成了多個圖形顯示和編解碼相關的硬件模塊,為高清圖像顯示、高清視頻播放和多路高清攝像頭輸入提供了強大的硬件基礎: ARM Mail-G57 GPU 自研顯示引擎(
    發表于 05-24 14:14

    全志T527芯片詳解:計算性能與高清圖像編解碼

    全志T527芯片詳解:計算性能與高清圖像編解碼
    的頭像 發表于 05-21 14:37 ?3068次閱讀
    全志T527芯片詳解:計算性能與<b class='flag-5'>高清</b><b class='flag-5'>圖像</b>編解碼

    maixcam部署yolov5s 自定義模型

    ://github.com/sophgo/tpu-mlir/releases/tag/v1.7 上面網址下載 tpu-mlir-resource.tar 和 tpu_mlir
    發表于 04-23 15:43

    GPU如何引領安防行業智能化轉型?

    歷著前所未有的變革。智能化不再只是一個概念,而是成為了行業發展的必然趨勢。GPU作為這場革命的重要推手,正在引領安防行業從傳統的被動監控智能化主動預防的新時代邁進
    的頭像 發表于 03-29 08:26 ?632次閱讀
    GPU如何<b class='flag-5'>引領</b>安防行業<b class='flag-5'>智能</b>化轉型?

    超越4K的超高清體驗:大屏拼接器引領視覺革命

    隨著科技的不斷進步,人們對于視覺體驗的追求也在不斷升級。在顯示技術領域,4K超高清已經成為了一種標配,但大屏拼接器卻正在引領一場超越4K的超高清視覺革命,為用戶帶來前所未有的震撼體驗。 一、超越4K
    的頭像 發表于 02-26 14:48 ?457次閱讀

    SDI轉AV轉換器:實現高清與標清的無縫對接

    隨著視頻技術的不斷發展,高清視頻逐漸成為了主流,但在實際應用中,我們仍然需要處理大量的標清視頻。如何實現高清與標清視頻之間的無縫對接,成為了視頻處理領域的一個重要問題。SDI轉AV轉換器作為一種重要
    的頭像 發表于 02-22 14:40 ?582次閱讀

    超越4K!高清視頻編碼器引領的下一代視頻革命

    隨著科技的飛速發展,4K視頻已經逐漸融入我們的日常生活,成為了許多家庭、企業和內容創作者的首選。然而,當我們還在沉浸于4K帶來的視覺盛宴時,高清視頻編碼器已經悄然引領著下一代視頻革命,更高的分辨率
    的頭像 發表于 02-20 15:20 ?459次閱讀

    基于TPU-MLIR:詳解EinSum的完整處理過程!

    EinSum介紹EinSum(愛因斯坦求和)是一個功能強大的算子,能夠簡潔高效地表示出多維算子的乘累加過程,對使用者非常友好。本質上,EinSum是一個算子族,可以表示多種基礎操作,如矩陣乘法、Reduce。EinSum支持任意多的輸入,只要計算中只包含點乘(element-wise)、廣播(broadcast)、歸約求和(reductionsum)都可以使
    的頭像 發表于 02-19 13:08 ?777次閱讀
    基于<b class='flag-5'>TPU-MLIR</b>:詳解EinSum的完整處理過程!
    湾仔区| 大家旺百家乐官网的玩法技巧和规则 | 竹溪县| 伟易博百家乐现金网| 明升备用网站| 免费百家乐规律| bet365体育投注| 总玩百家乐官网有赢的吗| 棋牌游戏代理| 百家乐官网园| 金鼎国际娱乐| 百家乐是不是有技巧| 连城县| 百家乐官网分析下载| 百家乐娱乐网送68元| 百家乐官网必胜下注法| 百家乐免费赌博软件| 百家乐官网视频视频| 电子百家乐破| 百家乐官网散台| 大发888组件下载| 游戏百家乐官网的玩法技巧和规则| 大发888手机客户端下载| 百家乐官网扑| 菲律宾新利国际| 免费百家乐在线| 真钱百家乐官网公司哪个好| 百家乐计划工具| 大世界百家乐官网娱乐平台| 大发888 打法888 大发官网| 百家乐官网俄罗斯轮盘转盘套装| 988娱乐城| 百家乐分析网| 视频百家乐官网游戏| 大发888是真的吗| 金海岸百家乐官网的玩法技巧和规则 | 百家乐官网英皇娱乐场| bet365在线体育| 塑料百家乐筹码| 百家乐官网太阳城| 99棋牌游戏|