프로젝트 주제는 <인페이팅 기술을 활용한 객체 지우기 어플리케이션>이었습니다. 스마트폰으로 사진을 찍다 보면 원하지 않는 부분이 같이 찍히는 경우가 많습니다. 별도의 편집 없이도 사진 속에서 원하지 않는 부분을 제거할 수 있는 앱을 개발하고자 프로젝트를 시작하게 되었습니다.
[프로젝트 과정]
1) x1의 픽셀 값을 가지고 x2의 픽셀 값을 예측하는 방법
2) x1과 x2의 픽셀 값을 가지고 x3의 픽셀 값을 예측하여 이전 모든 픽셀 값을 가지고 다음 픽셀을 예측하는 방법.
위 두가지 방법을 사용한 CRA 모델을 사용했습니다. 고해상도 이미지에서 불필요한 객체를 자연스럽게 지우는 인페인팅 기술은 작년에 공개된 오픈 소스입니다. 이 모델은 작은 해상도의 이미지를 학습 시켜 고해상도 이미지를 예측할 수 있도록 설계가 되어있습니다.
[결과물 및 프로젝트를 마무리하면서.. ]
딥러닝, 인페이팅 기술을 활용하여 사진에 지워진 부분을 주변 이미지에 맞게 자연스럽게 복구하는 앱을 만들었습니다. 앱 기능으로는 이미지에 누락된 부분을 주변 이미지들을 통해 복사하기, 높은 주파수의 해상도를 가지는 레지듀얼 생성, 스마트폰 카메라의 기본 기능을 사용(카메라 전환, 플래시, 화면 비율 조절, 타이머 기능)하여 앱 개발을 진행하였습니다.
프로젝트를 진행하면서 다른 사람의 소스 코드를 이해하며 협업하는 방식을 경험하게 됐습니다. 새로운 언어로 앱을 구현함에 따라 시행착오가 많았지만, 좋은 팀원들 덕분에 끝까지 프로젝트를 수행할 수 있었다고 생각합니다.