데브코스 최종 프로젝트 Super Resolution

정강훈·2022년 5월 4일
0

데브코스 최종 프로젝트

프로젝트명: 수리

Super Resolution
Su Re의 수리이다.
이미지를 수리하는 의미로 프로젝트명을 지었다.

git: https://github.com/kimseokwu/super-resolution

목적

촬영 관련 hardware 기술이 발전 하면서 최근에는 휴대폰 카메라로도 고화질의 사진을 촬영할 수 있게되었다. 그리고 SR 기술이 발전하면서 과거의 명작 영화나 이미지들이 리마스터링 되어 재개봉되고 있다. 하지만 개인의 저화질 사진들은 대부분 인물에 국한되어 있는데, 이를 타겟팅한 SR모델은 적어 개인이 사진을 복원하는데 어려움이 있다. 이를 해결하고자 기존의 SR 모델을 파인튜닝하여, 웹으로 제공함으로써 개인들도 쉽게 자신의 과거 저화질 이미지를 고화질로 만들 수 있는 플랫폼을 제공하기 위해 해당 프로젝트를 시작하게 되었다.

웹 아키텍처

모델

ESRGAN 모델을 사용하였다.
https://arxiv.org/abs/1809.00219

개인의 과거 저화질 사진들은 인물 사진이 많을 것이라 예상을 하여 파인튜닝을 위해 데이터는 FFHQ dataset을 사용하였다.

프로젝트 팀 구성 및 역할

총 5명의 구성원으로 이루어진 팀으로 모델링, Front-end, Back-end, manager, 데이터 처리 파트로 나누어서 분업을 하였다.

그 중 나는 데이터 처리 파트를 맡았다.

프로젝트 계획


다음과 같이 계획하고 진행하였다.

담당 부분

Image Degrading

모델의 성능 향상을 위해 전처리 저하(기법) 단계를 추가하였다.
고전적인 저하 기법들로 훈련된 GAN은 실생활에서 생기는 복잡한 노이즈를 복원시키지 못하는 경향이 있다.
이를 해결하기 위해 여러 단계의 저하 과정을 통해 실생활과 비슷한 저화질의 이미지를 생성한다.

왼쪽 그림과 같은 과정으로 degrade가 진행되고 오른쪽 사진에서 왼쪽이 degrade 전 오른쪽이 degrade 후 사진이다. 보면 노이즈가 추가된 것을 확인할 수 있다.

결과


pixabay의 한국인 이미지를 사용해서 테스트 해보았을 때 잘 구현되었다.


과거의 나 사진으로 테스트를 해보았을 때 잘 구현된 것 같았다.

개선 방향

1.모델 성능을 더 향상 시킬 수 있을 것 같다.
2.MLFlow 같은 MLops 라이브러리를 이용하여 모델 관리를 용이하게 하고 파라미터 값들을 최적화 해야 할 것 같다.
3.데이터 전처리에서 degrade 방법 이외에 최근의 semi-supervised 관련 논문들과 관련된 기법들로 더 다양하게 모델을 학습시켜 성능을 높일 수 있을 것 같다.

후기

최종 프로젝트를 진행하면서 분업이 잘 되어있었고, 각자 맡은 일을 정해진 데드라인 내에 수행하여 큰 차질이 없었다.
논문을 읽고 구현을 한다고 하였을 때 처음에는 막막했지만, 막상 해보니 엄청 어렵다고 할 부분은 없었다.
이 분야로 자신감이 더 생기게 되었다.

0개의 댓글