TL;DR :Blur2Blur 將影像從未知模糊轉換為已知模糊。該版本保留了原始內容,同時應用了經過監督去模糊模型有效訓練和捕獲的不同模糊內核。
摘要:本文提出了一種創新框架,旨在訓練適合特定相機設備的影像去模糊演算法。該演算法的工作原理是將難以去模糊的模糊輸入影像轉換為另一個更適合去模糊的模糊影像。從一種模糊狀態到另一種模糊狀態的轉換過程利用由目標相機設備捕獲的清晰和模糊影像組成的不成對資料。學習這種模糊到模糊的轉換本質上比直接模糊到銳利的轉換更簡單,因為它主要涉及修改模糊模式,而不是重建精細圖像細節的複雜任務。所提出方法的有效性已透過各種基準的綜合實驗得到證明,在定量和定性方面都顯著優於最先進的方法。
模型架構和實驗結果的詳細資訊可以在我們的論文中找到:
@inproceedings { pham2024blur2blur ,
author = { Pham, Bang-Dang and Tran, Phong and Tran, Anh and Pham, Cuong and Nguyen, Rang and Hoai, Minh } ,
booktitle = { Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) } ,
title = { Blur2Blur: Blur Conversion for Unsupervised Image Deblurring on Unknown Domains } ,
year = { 2024 }
}
每當此存儲庫用於幫助生成已發布的結果或合併到其他軟體中時,請引用我們的論文。
安裝依賴項:
git clone https://github.com/VinAIResearch/Blur2Blur
cd Blur2Blur
conda create -n blur2blur python=3.9
conda activate blur2blur
pip install -r requirements.txt
您可以按照以下腳本下載我們建議的 RB2V 資料集:
chmod +x ./dataset/download_RB2V.sh
bash ./dataset/download_RB2V.sh
下載資料集 REDS、GoPro 和 RSBlur,然後解壓縮到資料夾./dataset
並按照以下格式組織:
數據集 ├── 未知資料集名稱,例如 RB2V-GoPro ├── 列車A ├──── (火車)未知模糊的模糊套 ├──── ... ├── 列車B ├──── (火車)未知模糊的銳利套裝 ├──── ... ├──火車 C ├──── (火車)已知模糊的模糊集 ├──── ... ├── 訓練D ├──── (火車)已知模糊的銳利套裝 ├──── ... ├──測試A ├──── (測試)未知模糊的模糊套 ├──── ...
在哪裡:
test-set
的模糊影像。 訓練模型:
python train.py --dataroot path/to/dataset
--name exp_name
--model blur2blur --netG mimounet
--batch_size 1
--dataset_mode unaligned
--norm instance --pool_size 0
--display_id -1
或者
bash ./scripts/train.sh
評估模型:
python test.py --dataroot datasets/GoPro/b2b_exp/RB2V_GOPRO_filter
--name exp_name
--eval
--model blur2blur --netG mimounet
--checkpoints_dir ckpts/
--dataset_mode unaligned
--norm instance
或者
bash ./scripts/test.sh
如需更多互動結果,您可以查看我的專案頁面:https://zero1778.github.io/blur2blur/
我們要感謝以下實現對 Blur2Blur 的開發所做出的貢獻:
如果您對此儲存庫有任何疑問或建議,請隨時與我聯繫([email protected])。