Ini adalah implementasi Tensorflow dari Learning to See in the Dark di CVPR 2018, oleh Chen Chen, Qifeng Chen, Jia Xu, dan Vladlen Koltun.
Situs Proyek
Kertas
Kode ini mencakup model default untuk pelatihan dan pengujian pada kumpulan data See-in-the-Dark (SID).
https://youtu.be/qWKUFK7MWvg
Pustaka python (versi 2.7) yang diperlukan: Tensorflow (>=1.1) + Scipy + Numpy + Rawpy.
Diuji di Ubuntu + CPU Intel i7 + Nvidia Titan X (Pascal) dengan Cuda (>=8.0) dan CuDNN (>=5.0). Mode CPU juga harus berfungsi dengan sedikit perubahan tetapi tidak diuji.
Pembaruan Agustus 2018: Kami menemukan beberapa ketidaksesuaian dengan kebenaran dasar untuk gambar 10034, 10045, 10172. Harap hapus gambar tersebut untuk mendapatkan hasil kuantitatif, namun gambar tersebut masih dapat digunakan untuk evaluasi kualitatif.
Anda dapat mendownloadnya langsung dari Google drive untuk set Sony (25 GB) dan Fuji (52 GB).
Ada batasan unduhan oleh Google drive dalam jangka waktu tertentu. Jika Anda tidak dapat mengunduh karena hal ini, coba tautan berikut: Sony (25 GB) dan Fuji (52 GB).
Baru: kami menyediakan bagian file di Baidu Drive sekarang. Setelah Anda mengunduh semua bagian, Anda dapat menggabungkannya dengan menjalankan: "cat SonyPart* > Sony.zip" dan "cat FujiPart* > Fuji.zip".
Daftar file disediakan. Di setiap baris, terdapat jalur gambar eksposur pendek, jalur gambar eksposur panjang yang sesuai, ISO kamera, dan nomor F. Perhatikan bahwa beberapa gambar dengan pencahayaan pendek mungkin berhubungan dengan gambar dengan pencahayaan panjang yang sama.
Nama file berisi informasi gambar. Misalnya, dalam "10019_00_0.033s.RAF", digit pertama "1" berarti berasal dari set pengujian ("0" untuk set pelatihan dan "2" untuk set validasi); "0019" adalah ID gambar; "00" berikutnya adalah angka dalam urutan/meledak; "0,033s" adalah waktu pemaparan 1/30 detik.
python download_models.py
Secara default, kode mengambil data dalam folder "./dataset/Sony/" dan "./dataset/Fuji/". Jika Anda menyimpan dataset di folder lain, silakan ubah "input_dir" dan "gt_dir" di awal kode.
Secara default, kode ini mengambil data di folder "./dataset/Sony/" dan "./dataset/Fuji/". Jika Anda menyimpan dataset di folder lain, silakan ubah "input_dir" dan "gt_dir" di awal kode.
Memuat data mentah dan memprosesnya dengan Rawpy membutuhkan waktu lebih lama dibandingkan propagasi mundur. Secara default, kode akan memuat semua data kebenaran dasar yang diproses oleh Rawpy ke dalam memori tanpa kuantisasi 8-bit atau 16-bit. Ini memerlukan setidaknya 64 GB RAM untuk pelatihan model Sony dan 128 GB RAM untuk model Fuji. Jika Anda perlu melatihnya pada mesin dengan RAM lebih sedikit, Anda mungkin perlu merevisi kode dan menggunakan data groundtruth pada disk. Kami menyediakan gambar groundtruth 16-bit yang diproses oleh Rawpy: Sony (12 GB) dan Fuji (22 GB).
Jika Anda menggunakan kode dan kumpulan data kami untuk penelitian, harap kutip makalah kami:
Chen Chen, Qifeng Chen, Jia Xu, dan Vladlen Koltun, "Belajar Melihat dalam Gelap", dalam CVPR, 2018.
Lisensi MIT.
Metode yang diusulkan dirancang untuk data mentah sensor. Model yang telah dilatih sebelumnya mungkin tidak berfungsi untuk data dari sensor kamera lain. Kami tidak memiliki dukungan untuk data kamera lainnya. Ini juga tidak berfungsi untuk gambar setelah ISP kamera, yaitu data JPG atau PNG.
Ini adalah proyek penelitian dan prototipe untuk membuktikan sebuah konsep.
Umumnya, Anda hanya perlu mengurangi level hitam yang tepat dan mengemas data dengan cara yang sama seperti data Sony/Fuji. Jika menggunakan rawpy, Anda perlu membaca level hitam daripada menggunakan 512 pada kode yang disediakan. Rentang data juga mungkin berbeda jika tidak 14 bit. Anda perlu menormalkannya ke [0,1] untuk input jaringan.
Hal ini sering kali terjadi karena model terlatih tidak diunduh dengan benar. Setelah mengunduh, Anda akan mendapatkan 4 file terkait pos pemeriksaan untuk model tersebut.
Jika Anda memiliki pertanyaan tambahan setelah membaca FAQ, silakan kirim email ke [email protected].