이것은 Chen Chen, Qifeng Chen, Jia Xu 및 Vladlen Koltun이 CVPR 2018에서 Learning to See in the Dark를 Tensorflow로 구현한 것입니다.
프로젝트 웹사이트
종이
이 코드에는 SID(See-in-the-Dark) 데이터 세트에 대한 교육 및 테스트를 위한 기본 모델이 포함되어 있습니다.
https://youtu.be/qWKUFK7MWvg
필수 Python(버전 2.7) 라이브러리: Tensorflow(>=1.1) + Scipy + Numpy + Rawpy.
Cuda(>=8.0) 및 CuDNN(>=5.0)을 사용하여 Ubuntu + Intel i7 CPU + Nvidia Titan X(Pascal)에서 테스트되었습니다. CPU 모드는 사소한 변경에도 작동해야 하지만 테스트되지는 않았습니다.
2018년 8월 업데이트: 이미지 10034, 10045, 10172에 대한 실제와 일부 잘못된 정렬을 발견했습니다. 정량적 결과를 위해 해당 이미지를 제거하세요. 하지만 정성적 평가에는 여전히 사용될 수 있습니다.
Sony(25GB) 및 Fuji(52GB) 세트의 경우 Google 드라이브에서 직접 다운로드할 수 있습니다.
Google 드라이브에서는 일정 기간 동안 다운로드 제한이 있습니다. 이로 인해 다운로드할 수 없는 경우 Sony(25GB) 및 Fuji(52GB) 링크를 사용해 보십시오.
새로운 소식: 이제 Baidu Drive에서 파일 부분을 제공합니다. 모든 부품을 다운로드한 후 "cat SonyPart* > Sony.zip" 및 "cat FujiPart* > Fuji.zip"을 실행하여 부품을 결합할 수 있습니다.
파일 목록이 제공됩니다. 각 행에는 단 노출 이미지 경로, 해당 장 노출 이미지 경로, 카메라 ISO 및 F 번호가 있습니다. 여러 개의 단 노출 이미지가 동일한 장 노출 이미지에 해당할 수 있습니다.
파일 이름에는 이미지 정보가 포함되어 있습니다. 예를 들어, "10019_00_0.033s.RAF"에서 첫 번째 숫자 "1"은 테스트 세트에서 나온 것임을 의미합니다(훈련 세트의 경우 "0", 검증 세트의 경우 "2"). "0019"는 이미지 ID입니다. 다음 "00"은 시퀀스/버스트의 번호입니다. "0.033s"는 노출 시간 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비트 양자화 없이 메모리에 로드합니다. Sony 모델의 경우 최소 64GB RAM이 필요하고 Fuji 모델의 경우 128GB RAM이 필요합니다. RAM이 적은 기계에서 훈련해야 하는 경우 코드를 수정하고 디스크에 있는 실측 데이터를 사용해야 할 수도 있습니다. Rawpy로 처리된 16비트 실측 이미지(Sony(12GB) 및 Fuji(22GB))를 제공합니다.
연구를 위해 우리 코드와 데이터세트를 사용하는 경우, 우리 논문을 인용해 주세요.
Chen Chen, Qifeng Chen, Jia Xu 및 Vladlen Koltun, "어둠 속에서 보는 법 배우기", CVPR, 2018.
MIT 라이센스.
제안된 방법은 센서 원시 데이터를 위해 설계되었습니다. 사전 훈련된 모델은 다른 카메라 센서의 데이터에는 작동하지 않을 수 있습니다. 다른 카메라 데이터는 지원되지 않습니다. 카메라 ISP 이후의 이미지, 즉 JPG 또는 PNG 데이터에도 작동하지 않습니다.
이는 컨셉을 증명하기 위한 연구 프로젝트이자 프로토타입입니다.
일반적으로 올바른 블랙 레벨을 빼고 Sony/Fuji 데이터와 동일한 방식으로 데이터를 패킹하면 됩니다. Rawpy를 사용하는 경우 제공된 코드에서 512를 사용하는 대신 블랙 레벨을 읽어야 합니다. 14비트가 아닌 경우에도 데이터 범위가 다를 수 있습니다. 네트워크 입력에 대해 [0,1]로 정규화해야 합니다.
이는 사전 훈련된 모델이 제대로 다운로드되지 않았기 때문에 발생하는 경우가 많습니다. 다운로드 후 모델에 대한 4개의 체크포인트 관련 파일을 받아야 합니다.
FAQ를 읽은 후 추가 질문이 있는 경우 [email protected]로 이메일을 보내주세요.