사진 보정

성당에서 포토샵으로 사진 보정 가능한 사람을 모집하고 있다.

성당 50주년 기념 영상 제작을 하기 위해 예전 사진들을 모았는데 사진들이 다 수십년 지난 것들이고 필름 사진이라 색이 날아가고 애초에 노출이 맞지 않은.. 낡은 사진들이라 바로 영상 제작에 쓰기 어려워 포토샵 보정이 필요하기 때문. 

문제는 사진이 너무 많아 한두명의 봉사자로 감당이 안된다고. 봉사자로 신청했는데 인원수가 충분히 되지 않으면 봉사자들에게 과중한 부담이 될 게 뻔해서 사진 보정은 없던 일로 할 거라는 수녀님의 설명이 있었고 일단 대기자 명단에만 들어갔다.

곰곰이 생각해보다 그렇게 사진이 많다면 사람이 세심하게 보정하는 것만은 못해도 차라리 인공지능으로 보정 작업 하는게 낫겠다 싶어 어제 퇴근하고 구글을 뒤져 사진 보정 트레이닝셋을 찾아서 다운받아 작업을 걸어봤다.

Before / After

실제 작업해야 하는 사진으로는 어떤 결과물이 나올지 모르겠지만 인터넷에서 저품질 사진 몇장 다운 받아서 테스트 해봤는데 괜찮다. 작업에 사용한 저품질 사진은 용량이 50~60KB 밖에 안되는 썸네일 수준의 이미지들인데 이 사진들이 6~10MB 의 FHD이상의 고해상도 이미지로 변환 되고 노출과 선명도도 적당한 수준에서 보정이 된다. Before/After로 비교해 보려고 붙인 위 결과물을 보면 노출과 선예도만 비교되는데도 차이가 난다. 물론 실제 용량과 해상도는 비교가 불가. 원본은 워낙 저품질이라 그대로 영상으로 만들면 마인크래프트가 될텐데 고해상도 이미지로 변환된 결과물은 그럴 일은 없어 보인다. 한가지.. 보정된 사진의 국소 부위 디테일이 무너지는 현상이 있는데 내가 이용한 썸네일보다 용량이 크기만 하면 정보 부족 때문에 벌어지는 이런 현상도 없어지지 않을까 생각중. 이번주에 실제 사진을 받아서 결과를 비교해 봐야지. (낡은 사진은 낡은 티가 나야 한다고 생각하기에 이정도 결과에도 나는 만족하는데 혹시라도 어르신들이 뽀샤시 수준의 보정을 원하신다면... 그 지점에서 난 포기.)

불편한점은, tensorflow 를 이용했는데 이게.. 우리집에서 제일 성능이 좋은 컴퓨터인 내 M1 맥북에서 안돌아가서 무용지물이라는 것과, 집에 Nvidia 그래픽카드가 달려있는 컴퓨터가 없다는 것. 

어쩔수 없이 Google colab에 업로드해서 돌렸는데 runtime type을 GPU로 선택하면 오류가 나고 CPU로 선택하면 동작한다. (대신 엄청 느리다. 1장 처리에 1분씩 걸리는..) 코드의 GPU 이용 부분에 문제가 있는건데 에러 메시지가 이해가지 않아 디버깅은 포기. 시스템에 설치된 패키지와 환경 그리고 코드의 문제간에 있는 연관성을 전혀 모르겠다. 코딩에서 손 놓고 지낸지 10년이 넘은 티가 이런 데서 난다. 그나마 최근 다시 만져보기 시작했으니 이정도라도 작업이 가능하다는 걸로 위안을 삼아야겠지.

뭐, 그래도 실제 사진에도 잘 되기만 하면 1분에 한장씩 처리해도 사람보다야 빠르고.. 쉬는 시간 없이 돌릴테니 충분하겠지. 그러니 봉사는 여기까지만. :-) 


Update: 10/20/2021

Colab에서의 GPU 사용 문제는 해결. Python code 문제가 아니라 컨테이너에 설치된 패키지와의 호환성 문제여서 생각보다 쉽게 해결했다. 지금은 잘 동작한다.