Это реализация Tensorflow метода «Учимся видеть в темноте» в CVPR 2018, созданного Чэнем Ченом, Цифэн Ченом, Цзя Сюй и Владленом Колтуном.
Сайт проекта
Бумага
Этот код включает модель по умолчанию для обучения и тестирования набора данных «Видеть в темноте» (SID).
https://youtu.be/qWKUFK7MWvg
Требуемые библиотеки Python (версия 2.7): Tensorflow (>=1.1) + Scipy + Numpy + Rawpy.
Протестировано в Ubuntu + процессор Intel i7 + Nvidia Titan X (Pascal) с Cuda (>=8,0) и CuDNN (>=5,0). Режим ЦП также должен работать с небольшими изменениями, но не проверялся.
Обновление, август 2018 г.: мы обнаружили некоторое несовпадение с реальными изображениями 10034, 10045, 10172. Пожалуйста, удалите эти изображения для получения количественных результатов, но их все равно можно использовать для качественных оценок.
Скачать его можно прямо с Google-диска для комплектов Sony (25 ГБ) и Fuji (52 ГБ).
На Google Диске существует ограничение на загрузку в течение фиксированного периода времени. Если из-за этого вы не можете скачать, попробуйте эти ссылки: Sony (25 ГБ) и Fuji (52 ГБ).
Новое: теперь мы предоставляем части файлов на Baidu Drive. После загрузки всех частей их можно объединить, запустив: «cat SonyPart* > Sony.zip» и «cat FujiPart* > Fuji.zip».
Списки файлов предоставляются. В каждой строке указан путь изображения с короткой экспозицией, соответствующий путь изображения с длинной экспозицией, ISO камеры и число F. Обратите внимание, что одному и тому же изображению с длинной экспозицией могут соответствовать несколько изображений с короткой экспозицией.
Имя файла содержит информацию об изображении. Например, в «10019_00_0.033s.RAF» первая цифра «1» означает, что он из тестового набора («0» для обучающего набора и «2» для проверочного набора); «0019» — идентификатор изображения; следующий «00» представляет собой номер в последовательности/пакете; «0,033 с» — время экспозиции 1/30 секунды.
python download_models.py
По умолчанию код берет данные из папок «./dataset/Sony/» и «./dataset/Fuji/». Если вы сохраняете набор данных в других папках, измените «input_dir» и «gt_dir» в начале кода.
По умолчанию код берет данные из папок «./dataset/Sony/» и «./dataset/Fuji/». Если вы сохраняете набор данных в других папках, измените «input_dir» и «gt_dir» в начале кода.
Загрузка необработанных данных и их обработка с помощью Rawpy занимают значительно больше времени, чем обратное распространение ошибки. По умолчанию код загружает все достоверные данные, обработанные Rawpy, в память без 8-битного или 16-битного квантования. Для этого требуется не менее 64 ГБ ОЗУ для обучения модели Sony и 128 ГБ ОЗУ для модели Fuji. Если вам нужно обучить его на машине с меньшим объемом оперативной памяти, возможно, вам придется пересмотреть код и использовать основные данные на диске. Мы предоставляем 16-битные изображения, обработанные Rawpy: Sony (12 ГБ) и Fuji (22 ГБ).
Если вы используете наш код и набор данных для исследования, пожалуйста, цитируйте нашу статью:
Чен Чен, Цифэн Чен, Цзя Сюй и Владлен Колтун, «Учимся видеть в темноте», в CVPR, 2018.
Лицензия МТИ.
Предлагаемый метод предназначен для обработки необработанных данных датчиков. Предварительно обученная модель, вероятно, не будет работать с данными от другого датчика камеры. У нас нет поддержки других данных камеры. Это также не работает для изображений после ISP камеры, т. е. данных JPG или PNG.
Это исследовательский проект и прототип для подтверждения концепции.
Как правило, вам просто нужно вычесть правильный уровень черного и упаковать данные так же, как данные Sony/Fuji. Если вы используете rawpy, вам нужно прочитать уровень черного вместо использования 512 в предоставленном коде. Диапазон данных также может отличаться, если он не равен 14 битам. Вам необходимо нормализовать его до [0,1] для сетевого входа.
Часто это происходит потому, что предварительно обученная модель не загружена должным образом. После загрузки вы должны получить 4 файла, связанных с контрольными точками для модели.
Если после прочтения часто задаваемых вопросов у вас возникнут дополнительные вопросы, отправьте электронное письмо по адресу [email protected].