안녕하세요 저희는 SKT AI Fellowship 4기 4번 과제 딥러닝 기반 흑백 이미지 컬러화 기술 개발에 참여하고 있는 SK(슼)케치북 팀의 이광한, 고동근, 신새별입니다.
연구 계획에 대한 글은 아래 링크를 통해 보실 수 있습니다.
딥러닝 기반 흑백 이미지 컬러화 기술 개발 - 연구계획 (1)
우선 중간보고에 앞서 간단히 background를 다시 한번 설명 해드리겠습니다.
현재 1950~1980년대 이미지는 흑백 이미지인 경우가 대다수이며 이러한 오래된 기록물, 콘텐츠에 대한 Colorization 기술에 대한 Needs가 증가하고 있습니다. 따라서 이러한 흑백 이미지에 컬러를 입히는 AI 복원 기술은 사회/경제적 가치 측면에서 필요성이 높아지고 있습니다.
따라서 저희 SK(슼)케치북 팀은 한국영상자료원과 한국방송공사 등에 보관되어 있는 오래된 기록물, 콘텐츠 등을 대상으로 대한민국의 역사를 담고있는 디지털 흑백 이미지에 컬러를 입히는 AI 복원 기술 개발 및 이미지가 담고 있는 상황 (전쟁, 해방, 시위) 및 특성에 맞는 Adaptive한 Colorization model 개발을 목표로 하고 있습니다.
현재 Colorization의 challenges와 그에 따른 기존 논문들의 Solution들에 대해 말씀드리겠습니다.
[CVPR’20] Instance-aware Image Colorization
전체 이미지의 context를 파악하지 못해서 오렌지와 아스팔트의 색이 함께 colorization 되는 등 하나의 이미지에 다양한 상황이 담겨있어 colorization이 어려움
—> Object Detection을 통해 얻은 정보를 모델에 통합
흑백 이미지에 컬러를 입힐 때 한 가지 정답만 존재하지 않는다. 여러가지 정답이 존재할 수 있기에, 항상 적절하게 context와 instance를 고려하는 colorization을 수행할 수 없음.
—> Reference-based / User-guided model 사용
[AAAI’22] SCSNet: An Efficient Paradigm for Learning Simultaneously Image Colorization and Super-Resolution
—> 모델의 성능을 올리기 위해 다양한 정보를 aggregate하는 효율적인 네트워크 제안
다음으로는 현재 저희 과제에서의 challenge를 설명해드리겠습니다.
위 사진과 같이 다수의 객체가 밀집되어 있는 경우 Context가 너무 많아서 Colorization이 잘 수행되지 않음.
전달받은 데이터셋의 해상도가 매우 크기 때문에 이를 resize할 경우 이미지의 정보가 크게 소실 되어 Colorization이 잘 수행되지 않음.
모든 image에 대해 항상 좋은 모델은 존재하지 않고, 모델의 종류마다 colorization 결과물의 특징이 달라짐.
예를들어 Unet based model인 Our model은 (왼쪽) Gan based model (오른쪽)보다 더욱 Stable한 colorization 결과를 보이지만 Gan-based model보다는 색상의 다양성이 떨어짐.
색상의 다양성과 예측된 색상의 안정성 사이에 trade-offs가 존재.
오래된 사진을 시대적 배경에 맞게 colorization할 수 있는 학습데이터가 충분하지 않음.
학습 데이터와 테스트 데이터의 분포가 서로 달라서 colorization이 잘 수행되지 않음.
특정 object를 위해 (ex 태극기), 해당 데이터를 너무 많이 학습에 사용하게 될 경우 bias가 발생.
저희는 단순히 SOTA를 적용하여 성능을 올리려고 하기보단 본질적인 문제를 파악하고, 이것을 해결하려면 어떻게 접근해야할까에 대해 주안점을 두고 작업을 진행하였습니다.
또한 연구적인 목적보다는 상용 목적을 고려하여 다양한 케이스를 대응 하기 위한 알고리즘을 적용하고자 하였습니다.
그에 따라 도출된 문제점과 현재 진행방향은 다음과 같습니다.
1. [SOTA] 매번 detection 정보를 통한 학습이 필요 (비효율적)
2. [Ours] 학습이 너무 오래 걸리는 것에 비해 성능 향상이 적음
1. Patch-wise inference를 통해 “context confusion” 해결 시도
2. Classification head 추가를 통해 상황에 맞게 색상 제한
Reference 이미지를 통해 다양한 색상 적용 가능
시대적 상황에 맞는 colorization 가능
3. 모든 영역에 적용하는 것이 아닌, 특정 영역만 reference based colorization 적용
1. 학습과 수렴이 빠르고, 안정적으로 colorization 수행
2. 다채로운 colorization이 안됨
1. 다채로운 colorization 가능
2. 학습과 수렴이 느리고, 얼룩덜룩한 colorization
오픈데이터셋, 무료이미지 사이트를 통해 데이터셋 구축 (20만장 ~ 100만장 가량 사용)
내부적으로는 비공개 데이터셋 사용
외부적으로는 비공개 데이터셋과 유사한 유형의 자연, 사람, 군중, 군인, 동물, 음식 등의 다양한 유형의 고화질 이미지를 얻을 수 있는 무료 이미지 사이트들을 통해 test data 수집
사람이 육안으로 보았을 때 colorization이 잘 되었는지가 중요하기 때문에, 특히 이런 부분을 단순 수치화나 논문 측면이 아니라 실 서비스 측면에서 어플리케이션 레벨까지 고민하고자 하였습니다.
PSNR과 실제 생성된 결과물을 확인하여 최적의 모델을 선택
선택된 모델의 결과물은 MyHeritage에서 생성된 이미지와 quality 비교
ImageNet, ActivityNet등 다양한 오픈데이터셋으로 학습했지만 고품질의 얼굴 데이터 필요하다고 판단 (ex. FFHQ) ⇒ 고품질 얼굴 데이터셋 적용
<피드백>
레퍼런스 이미지를 넣어줄 때 매번 누군가가 정해줘야 한다는 점이 전체 자동화 측면에서 아쉬울 수 있겠다는 생각은 드는데 이런 측면까지 백프로 자동화하기는 어려운 문제인지 고민해보면 좋을 것 같습니다.
기존 레퍼런스로 삼고 있는 연구에서 많은 고민을 하셔서 새로운 방법들을 고안해내신 것 같아 인상이 깊었습니다. 레퍼런스 사진을 매번 찾는 건 다량의 작업을 하는 경우 어려울 것 같아서, 색상 표에서 찍으면 적당히 어울리도록 칠해줄 수 있는 방법도 있을지 궁금합니다.
기존 연구나 기술에 대한 파악도 잘 되어 있고 여기에 새로운 것을 더해 향상된 결과를 보여준 점이 좋았습니다. 최종 발표에서는 이 분야에서 성능을 정량적으로 측정하려면 어떤 메트릭을 사용하는지 타겟으로 하는 메트릭은 어떤 것인지에 대한 설명이 추가되면 더 좋을 것 같습니다.
향후 계획으로는, 멘토님들의 피드백을 바탕으로 현재 reference based method가 가지는 한계점을 보완하고 저희 분야에 맞는 더욱 정확한 Evaluation metric을 고민할 예정입니다.
사회 경제적 가치 측면에서 필요성이 높아지는 AI 복원기술 개발
시대적 배경 및 상황에 적절한 컬러로 복원하는 AI 기술 개발
단순히 평가 metric으로 잘 나오는 모델로 결과물을 생성하는 것이 아닌, User-interactive한 방법으로 상황에 적절한 결과물을 생성