TL;DR : Blur2Blur mengubah gambar dari keburaman yang tidak diketahui menjadi keburaman yang diketahui. Versi ini mempertahankan konten asli sambil menerapkan kernel blur berbeda yang telah dilatih dan ditangkap secara efektif oleh model deblurring pengawasan.
Abstrak : Makalah ini menyajikan kerangka kerja inovatif yang dirancang untuk melatih algoritma penghilangan blur gambar yang disesuaikan dengan perangkat kamera tertentu. Algoritme ini bekerja dengan mengubah gambar masukan buram, yang sulit dideburkan, menjadi gambar buram lain yang lebih mudah dideburkan. Proses transformasi dari satu kondisi buram ke kondisi buram lainnya memanfaatkan data tidak berpasangan yang terdiri dari gambar tajam dan buram yang ditangkap oleh perangkat kamera target. Mempelajari transformasi blur-ke-blur ini secara inheren lebih sederhana daripada konversi langsung blur-ke-tajam, karena ini terutama melibatkan modifikasi pola blur daripada tugas rumit untuk merekonstruksi detail gambar yang halus. Kemanjuran pendekatan yang diusulkan telah dibuktikan melalui eksperimen komprehensif pada berbagai tolok ukur, yang secara signifikan mengungguli metode-metode canggih baik secara kuantitatif maupun kualitatif.
Detail arsitektur model dan hasil eksperimen dapat ditemukan di makalah kami:
@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 }
}
Harap CITE makalah kami setiap kali repositori ini digunakan untuk membantu menghasilkan hasil yang dipublikasikan atau dimasukkan ke dalam perangkat lunak lain.
Instal dependensi:
git clone https://github.com/VinAIResearch/Blur2Blur
cd Blur2Blur
conda create -n blur2blur python=3.9
conda activate blur2blur
pip install -r requirements.txt
Anda dapat mengunduh kumpulan data RB2V yang kami usulkan dengan mengikuti skrip ini:
chmod +x ./dataset/download_RB2V.sh
bash ./dataset/download_RB2V.sh
Unduh dataset REDS, GoPro dan RSBlur lalu unzip ke folder ./dataset
dan atur mengikuti format berikut:
kumpulan data ├── Nama kumpulan data Tidak Dikenal, misalnya RB2V-GoPro ├── keretaA ├──── (Kereta) Kumpulan Buram dari Blur Tak Dikenal ├──── ... ├── keretaB ├──── (Kereta) Kumpulan Kekaburan Tak Dikenal yang tajam ├──── ... ├── keretaC ├──── (Kereta) Kumpulan Buram dari Blur yang Dikenal ├──── ... ├── melatihD ├──── (Kereta) Kumpulan Keburaman yang Dikenal Tajam ├──── ... ├── tesA ├──── (Uji) Kumpulan Buram dari Blur Tak Dikenal ├──── ...
Di mana:
test-set
kumpulan data Blur Tidak Dikenal. Untuk melatih model:
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
atau
bash ./scripts/train.sh
Untuk mengevaluasi model:
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
atau
bash ./scripts/test.sh
Untuk hasil yang lebih interaktif, Anda dapat melihat halaman proyek saya: https://zero1778.github.io/blur2blur/
Kami ingin mengucapkan terima kasih kepada implementasi berikut atas kontribusinya terhadap pengembangan Blur2Blur:
Jika Anda memiliki pertanyaan atau saran tentang repo ini, jangan ragu untuk menghubungi saya ([email protected]).