뉴욕타임스가 지난 100년간 찍어온 보도 사진을 구글 클라우드에 올렸습니다. 디지털 변환을 마치고 클라우드에 올라간 것들은 3층 높이 빌딩을 가득 채운 선반에 담긴 7백만 장의 오래된 사진들입니다. 다음 사진은 실제 사진을 보관한 장소입니다. 선반을 열면 빽빽하게 봉투가 담겨 있는 것을 볼 수 있는데, 각 봉투 안에는 역사적 가치가 높은 사진들이 들어 있습니다.
“미국 근대사의 소중한 사진 기록 ~ 700만 장을 하나하나 스캔”
뉴욕타임스의 사진 보관실은 2015년 건물 수도관이 파열되어 소중한 사진 자료가 모두 물에 잠길 뻔한 사고를 겪었습니다. 다행히 큰 피해는 없었는데요, 이를 계기로 100년 뉴욕타임스의 역사와 함께 한 사진 기록을 어떻게 하면 더 안전하게 보관하고 활용할 수 있을지 진지하게 생각하게 되었다고 합니다.
사실 답은 하나죠. 인화된 사진을 디지털 파일로 만들어 보관하면 됩니다. 하지만 스캔해야 할 사진의 양이 700만 장 가까이 되면 선뜻 나서기 힘들죠. 더군다나 뉴욕타임스는 언론사이다 보니 사진 기록물을 단순히 스캔만 해서는 안됩니다. 보관 중인 사진 대부분은 뒷면에 해당 사진에 붙였던 제목, 설명 등에 대한 정보가 기록되어 있습니다. 오늘날 디지털 사진으로 치면 메타 정보가 아날로그 형태로 덧붙여져 있습니다. 그러다 보니 사진을 앞뒤로 스캔해 분류하고, 저장하고, 활용하는 것은 생각처럼 쉽지 않아 늘 마음만 먹고 있었는데, 수도관 파열을 계기로 방법을 찾아 나서게 된 것이죠.
“인공지능 없었으면 어쩔 ~”
뉴욕타임스가 700만 장의 사진을 디지털 파일로 만들기로 결정한 데에는 다 그만한 이유가 있습니다. 이제는 큰 수고와 비용 안 들이고도 가능하겠다는 계산이 나온 것이죠. 뉴욕타임스는 구글 클라우드의 기술을 정말 알차게 활용했습니다.
사진 스캔의 경우 앞면 외에 뒷면에 추가된 각종 정보는 구글 클라우드의 이미지 분석 서비스인 Cloud Vision으로 해당 내용을 읽어 들여 저장했습니다. 위 사진처럼 신문의 일부를 잘라 내어 붙인 내용부터 손글씨까지 모두 컴퓨터 비전 기술로 그 내용을 정확히 뽑아낸 것이죠.
사진을 스캔하고 뒷면에 적힌 정보를 파악했으면 기록실 선반에 넣듯이 분류 기준에 따라 나누어야 하는데 이 역시 구글 클라우드 기술을 사용해 자동으로 처리했습니다. Cloud Natural Language 기술 덕에 컴퓨터 비전 기술로 뽑아낸 텍스트 정보의 의미를 파악해 분류를 알아서 하는 것이죠. 가령 위 사진의 경우 자연어 처리 기술 덕에 사람이 판단할 필요 없이 펜실베이니아 역, 워싱턴, 마이애미 등의 키워드를 참조해 여행과 버스/기차 카테고리로 사진이 분류됩니다.
“오래된 사진 자산 관리 ~ 디지털로 척척”
뉴욕타임스는 그냥 오래된 사진들을 스캔하여 클라우드 스토리지에 저장한 것이 아닙니다. 사진들을 디지털로 전환하는 김에 오래된 사진 기록물을 대상으로 한 자산 관리 시스템을 만들었습니다. 이 역시 구글 클라우드 서비스를 알뜰살뜰 활용해 뚝딱 만들었습니다.
뉴욕타임스가 만든 시스템은 사진 데이터를 수집해 처리할 때만 씁니다. 클라우드라 가능한 일이죠. 이 시스템이 하는 일은 사진 앞 뒤면을 대한 스캔 데이터가 넘어오면 이미지 크기를 조정하는 것과 해당 이미지의 메타 데이터를 수정하는 작업을 하는 것입니다.
사진 데이터 수집 작업은 Cloud Pub/Sub로 이루어집니다. 따라서 데이터 수집을 위해 복잡하게 이것저것 구현할 필요가 없습니다. 수집된 데이터는 Google Kubernetes Engine(GKE)을 이용해 띄운 컨테이너 환경에서 사이즈와 메타 데이터 조정 작업이 이루어집니다. 이때 사용되는 도구는 오픈 소스 기반 이미지 툴인 ImageMagick과 ExifTool인데요, 이 두 도구를 Go 서비스로 래핑 하여 도커 이미지를 만들어 GKE 상에 올려 씁니다. 참고로 사진 메타 데이터의 경우 Cloud SQL 상에서 운영되는 PostgreSQL에 저장됩니다. 전처리가 완료된 사진 데이터는 여러 리전에 걸쳐 구독하고 있는 Cloud Storage에 저장됩니다.
본 포스팅에서 소개한 내용을 담은 영상을 보시죠. 영화의 한 장면 같네요.