요즘 틈틈이 진행하는 EO1-Museum 프로젝트에서는 뉴욕 메트로폴리탄 미술관(The Metropolitan Museum of Art)의 Open Access 데이터를 이용하여 그림을 가져오고 있다. 미술관에서 제공하는 API와 전체 소장품 목록을 이용하여 원하는 화가나 키워드로 작품을 골라 내려받은 뒤, 전자액자의 1080×1920 해상도에 맞추어 변환하여 보여주는 방식이다.
이 작업을 위해 GET_MET_ART_KEYWORD.py라는 파이썬 프로그램도 만들었다. 처음에는 단순한 이미지 다운로드 프로그램이라고 생각했지만, 쓰다 보니 역할은 그보다 조금 더 넓었다. 방대한 공개 컬렉션에서 원하는 조건에 맞는 작품을 찾아내는 작품 디스커버리(discovery) 도구인 셈이다. 르누아르, 피사로, 시슬레 같은 화가를 지정하면 조건에 맞는 그림을 찾아 original 디렉토리에 넣어준다. 미술관이 Open Access로 공개한 자료만 대상으로 하므로 저작권 상태를 일일이 확인할 필요도 없고, 이미지 품질도 대체로 훌륭하다. 무엇보다 검색이 빠르다.
그런데 모네(Claude Monet)를 검색하면서 이상한 점을 발견했다. 그림이 너무 적었던 것이다.
처음에는 프로그램을 잘못 만들었다고 생각했다. 인상주의를 대표하는 화가인 모네의 작품이 메트로폴리탄 미술관에 거의 없을 리가 없지 않은가. 실제로 검색 결과를 자세히 살펴보니 모네와 관련된 회화 작품은 수십 점이 나왔다. 그런데 내가 사용하고 있는 Open Access 조건을 적용하면 거의 모두 탈락했다.
CSV 파일을 잘못 해석했나 싶어서 API를 직접 조회해 보았지만 결과는 같았다. 메트로폴리탄 미술관의 데이터에서 isPublicDomain이 참이고 내려받을 수 있는 이미지가 있는 작품만 남기면, 내가 기대했던 모네의 그림은 거의 나오지 않았다.
여기에서 한 가지 중요한 사실을 깨달았다. 그림 자체의 저작권과 그 그림을 촬영하거나 스캔해서 만든 디지털 이미지의 이용 조건은 같은 문제가 아니다.
모네는 1926년에 세상을 떠났다. 따라서 그의 회화 작품 자체는 저작권 때문에 접근하기 어려운 대상이 아니다. 하지만 어떤 미술관이 소장 작품의 고해상도 디지털 이미지를 어떤 조건으로 공개하느냐는 별개의 문제다. 내가 필요한 것은 단순히 '저작권이 끝난 그림'이 아니라, 자유롭게 이용할 수 있는 좋은 품질의 디지털 재현물이었다.
그렇다면 The Met 하나만을 작품 디스커버리의 창구로 삼을 이유도 없었다. 다른 공개 컬렉션에서 작품을 발견할 수 있는 두 번째 디스커버리 도구가 필요했다.
그래서 찾아간 곳이 Wikimedia Commons였다.
처음에는 단순할 것으로 생각했다. Commons에서 Claude Monet을 검색해서 Public Domain인 이미지를 받으면 되지 않을까? 그러나 실제로 해 보니 이야기가 훨씬 복잡했다. Category:Claude Monet에는 그림만 있는 것이 아니었다. 모네의 사진, 서명, 묘지, 장례식 사진, 책의 스캔, 전시회 자료까지 온갖 것이 함께 들어 있었다.
작가 이름은 곧 작품 목록이 아니었던 것이다.
Commons의 category 구조를 조금 더 들여다보다가 Paintings by Claude Monet by title이라는 훨씬 유용한 분류를 발견했다. 그 아래에는 개별 작품을 나타내는 category가 무려 319개 있었다. 프로그램이 이 category를 하나씩 방문하여 그 안의 파일을 조사하도록 했다.
하지만 문제는 여기에서도 끝나지 않았다.
하나의 실제 그림에 여러 개의 디지털 이미지가 존재할 수 있었다. 미술관에서 촬영한 것, 오래된 화집을 스캔한 것, 개인이 촬영한 것 등이 같은 작품 아래에 함께 나타난다. 해상도도 다르고 라이선스도 다르다. 따라서 프로그램은 각 작품마다 파일을 조사하여 JPEG, PNG 등의 이미지인지 확인하고, Public Domain 또는 CC0로 명확하게 사용할 수 있는 것만 남긴 뒤, 일정 해상도 이상인 것 가운데 가장 큰 이미지를 하나 선택하도록 했다.
첫 번째 전체 검색에는 꽤 오랜 시간이 걸렸다. 화면에는 319개 작품 category를 하나씩 조사하는 메시지가 끝없이 흘러갔다. 지구 전체를 스캔하는 기분이었다.
결과는 의외로 좋았다. 319개 작품 가운데 231개에서 조건을 만족하는 디지털 이미지를 찾았다.
이 결과는 JSON 파일에 저장해 두었다. 따라서 다음부터는 Wikimedia Commons를 처음부터 다시 뒤질 필요가 없다. 캐시된 작품 목록에서 원하는 수만큼 무작위로 골라 이미지를 내려받으면 된다. 현재는 파일 이름도 Claude_Monet__Water_Lilies.jpg와 같이 화가와 작품명이 그대로 드러나도록 했다.
이렇게 해서 두 번째 작품 디스커버리 도구인 GET_COMMONS_ART.py가 생겼다.
실제로 EO1에 모네 그림 100점을 넣어 돌려 보니 또 하나 알게 된 것이 있다. 해상도가 높다고 해서 반드시 좋은 이미지인 것은 아니다. 어떤 것은 색이 훌륭하고 선명하지만, 어떤 것은 오래된 인쇄물을 스캔한 듯하고 색감도 좋지 않다. 이것까지 프로그램이 판단하게 만들 수도 있겠지만, 굳이 그럴 필요가 있을까 싶었다.
결국 그림은 사람이 보는 것이다.
그래서 마음에 들지 않는 디지털 재현물은 사람이 직접 골라 reject 목록에 넣도록 했다. 다음번 작품 선택에서는 그 그림이 제외된다. 기계가 작품을 발견하고 이용 조건과 해상도를 검사하며, 마지막 품질 판단은 사람이 실제 디스플레이를 보면서 한다. 거창하게 표현한다면 human-in-the-loop curation인 셈이다.
이제 EO1-Museum에는 두 개의 주요 작품 디스커버리 도구가 생겼다.
GET_MET_ART_KEYWORD.py는 The Met이라는 잘 정리된 하나의 미술관 컬렉션을 탐색한다. GET_COMMONS_ART.py는 Wikimedia Commons라는 훨씬 넓고 복잡한 디지털 공유 공간을 탐색한다.
The Met은 정제된 디스커버리(curated discovery), Wikimedia Commons는 광범위한 디스커버리(broad discovery)를 담당한다고 할 수 있다.
The Met의 자료는 빠르고 정돈되어 있으며 품질도 일정하다. Commons는 훨씬 넓지만 복잡하고, 같은 작품에도 여러 파일이 존재하며 품질도 제각각이다. 어느 하나가 다른 하나를 대신하는 관계라기보다 서로 상당히 잘 보완한다.
그리고 여기에서 '디스커버리'라는 말을 쓰는 것이 꽤 중요하다고 생각한다. 이 프로그램들의 목적은 인터넷에서 그림 파일 몇 개를 다운로드하는 데 있지 않다. 수많은 공개 디지털 자료 가운데 내가 전시하고 싶은 작품을 발견하고, 실제로 사용할 수 있는 디지털 재현물을 골라내는 것이 먼저다. 다운로드는 그 과정의 마지막 단계일 뿐이다.
두 곳에서 발견한 자료는 결국 똑같은 길을 간다.
GET_MET_ART_KEYWORD.py 또는 GET_COMMONS_ART.py가 작품을 찾아 original 디렉토리에 넣고, make_gallery.py가 이를 EO1의 세로형 화면에 맞추어 변환한다. 그러고 나면 10년도 더 된 전자액자의 23인치 화면에 모네의 그림이 나타난다.
처음에는 그저 "왜 모네 그림이 이것밖에 없지?"라는 의문에서 시작했다.
그 의문 때문에 메트로폴리탄 미술관의 Open Access 정책을 다시 들여다보고, Wikimedia Commons의 category 구조를 헤매고, 하나의 실제 작품과 그것을 찍거나 스캔한 여러 디지털 파일이 서로 다른 존재라는 것도 생각하게 되었다. 그리고 그 과정에서 EO1-Museum에는 The Met과 Wikimedia Commons라는 두 개의 작품 디스커버리 통로가 생겼다. 그리고 이 취미 수준의 일은, 내가 KOBIC에서 근무하면서 접하는 데이터 관련 업무와 상당히 닮았다.
전자액자 하나를 되살리려다가 생각보다 먼 곳까지 흘러 왔다. 그리고 그 중간에는 음악 정보학과 드럼 패턴학(drum patternology)가 있었다.
그래도 지금 눈앞에서는 모네의 그림이 조용히 바뀌고 있다.










