스토리를 초월하는 이미지와 작업하기

발행: (2025년 12월 27일 오전 10:37 GMT+9)
16 분 소요
원문: Dev.to

Source: Dev.to

내가 다루는 대부분의 사진은 이야기가 없이 도착한다—뒷면에 이름도 없고, 확실해 보이는 날짜도 없다. 때때로 연필로 위치가 적혀 있기도 하고, 없기도 하다. 얼굴과 장소는 내 손을 잠시 스쳐 지나가다 다음 보관 단계로 이동한다. 내 일은 그것에 아무것도 추가하지 않고 있는 그대로를 포착하는 것이다.

디지털화: 개선보다 정밀함

아카이브 사진을 디지털화하는 일은 정밀한 작업입니다.

  • 각 이미지는 올바른 해상도로 스캔해야 합니다.
  • 색상은 원본과 동일해야 합니다.
  • 먼지는 질감이나 디테일을 지우지 않도록 조심스럽게 제거해야 합니다.

목표는 개선이 아니라 충실도입니다. 나는 이미지를 더 좋게 만들기 위해 여기 있는 것이 아니라 정확하게 만들기 위해 여기 있습니다.

그 차이는 중요합니다. 작업을 현실감 있게 유지해 줍니다. 해석은 모든 것을 늦추고 목적을 왜곡시킬 수 있습니다. 나는 이 사람들이 누구였는지, 그들에게 무엇이 중요한지 상상해서는 안 됩니다. 나는 눈에 보이는 것을 기록하고 넘어갑니다.

조용한 리듬

반복은 조용한 리듬을 만들어냅니다:

  1. 사진을 집어 듭니다.
  2. 사진을 정렬합니다.
  3. 스캔합니다.
  4. 확인합니다.
  5. 저장합니다.
  6. 라벨을 붙입니다.
  7. 반복합니다.

시간이 지나면서 그 리듬은 감정을 요구하지 않을 정도로 꾸준해져서 당신의 주의를 끌게 됩니다. 저는 그 점이 좋습니다. 마음을 차분하게 하고 집중을 좁혀 줍니다.

이 일에는 일정한 절제가 필요합니다. 당신은 세부 사항을 눈치채지만 그에 머무르지는 않습니다—시간에 얼어붙은 미소, 더 이상 존재하지 않는 건물, 한 시대를 표시하는 의복 스타일. 그 세부 사항들은 빠르게 지나갑니다. 저는 그것들을 인식하고 계속 나아갑니다.

정확도 보다 속도

정확도는 속도보다 더 중요합니다. 서두르면 오류가 늘어납니다. 파일이 잘못 라벨링되거나 스캔이 부정확하면 아카이브가 위험해질 수 있습니다. 이러한 책임감 때문에 작업이 반복적이라고 느껴도 주의를 기울이게 됩니다.

저는 주로 혼자 일합니다. 대화는 짧고 실용적이며—내용이 아닌 절차에 관한 질문입니다. 익명성이 저에게 맞습니다. 저는 의견이나 통찰을 제공해야 하는 것이 아니라 정보를 가능한 한 깔끔하게 보존해야 합니다.

맥락 없는 보존

원본 맥락과 분리된 이미지를 다루는 것은 영속성에 대한 사고 방식을 바꿉니다. 이 사진들은 저에게 도달할 만큼 오래 살아남았지만, 그 주변 이야기는 종종 그렇지 못했습니다. 제 역할은 이미지가 변형 없이 다음 전환을 견디도록 하는 것입니다.

그 절제 속에도 배려가 있습니다. 배려가 항상 관여를 의미하는 것은 아니며, 때로는 물러서서 무언가를 그대로 두는 것을 의미하기도 합니다.

한 교대가 끝날 무렵, 저는 수백 장의 이미지를 처리합니다. 이미지들은 서로 뒤섞이지만, 그 과정은 명확하게 유지됩니다. 그 명확함이 작업을 만족스럽게 만드는 요소입니다.

사람들은 종종 배경을 모르는 이미지와 작업하는 것이 이상하게 느껴지는지 묻습니다. 처음엔 그렇습니다. 맥락을 이해하고 연결하고자 하는 자연스러운 충동이 있습니다. 시간이 지나면서 그 충동은 사라지지 않고 사라지는 것이 아니라, 작업이 규율을 요구하기 때문에 점점 약해집니다.

일관성이 핵심

보존은 일관성에 달려 있다. 인식된 중요도와 관계없이 모든 이미지는 동일하게 다루어져야 한다. 정식 초상화는 캐주얼한 스냅샷과 동일한 주의를 받는다. 이러한 평등은 의도된 것이며, 편향이 아카이브에 들어가는 것을 방지한다.

나는 초기에 감정적 거리가 작업의 완전성을 보호한다는 것을 배웠다. 특정 이미지에 머무르면 리듬이 깨지고 일관성이 손상된다. 그래서 나는 보이는 것을 인정하고 넘어가는 법을 배웠다.

조용한 반복은 자체적인 효과가 있다: 호흡을 느리게 하고, 집중력을 날카롭게 하며, 멀티태스킹을 없앤다. 나는 작업의 경계 안에 머문다.

기술적 주의

나는 다른 사람들이 놓칠 수 있는 작은 기술적 세부 사항에 주의를 기울인다: 약간의 기울어짐, 색이 바랜 가장자리, 종이 질감의 차이 등. 이러한 세부 사항은 사진의 주제보다 더 중요하며, 이미지가 디지털 환경에서 얼마나 잘 보존될지를 결정한다.

때때로 이미지가 이야기와는 무관한 이유로 눈에 띈다—특히 선명한 대비, 독특한 형식, 추가적인 관리가 필요한 손상된 모서리 등. 이러한 순간들은 리듬을 잠시 깨뜨리지만, 곧 다시 이어진다.

성공 측정

나는 성공이 nothing changed처럼 보이는 작업을 감사하게 되었다. 이미지는 그대로—그것이 기준이다.

나는 그것을 지시로 보지 않는다; 그것은 조용한 책임이 보이지 않을 때도 가치가 있다는 생각을 강화한다.

하루가 끝날 때, 아카이브는 약간 더 커지고, 약간 더 안전해진다. 그 점진적인 진전이 충분히 느껴진다.

돌봄에 대한 성찰

맥락 없이 보관 이미지와 작업하면서 돌봄에 대한 생각이 바뀌었습니다. 돌봄은 항상 연결이나 이해를 포함하는 것이 아니라, 때로는 해석 없이 보호하는 것을 의미합니다.

한때 단조롭게 느껴졌던 반복이 이제는 안정감을 줍니다. 각 이미지가 동일한 신중한 주의를 받고, 작업은 드라마 없이 진행됩니다.

나는 익명성에 익숙해졌습니다. 내 이름은 이미지에 붙지 않고, 내 의견도 기록되지 않습니다. 작업은 나와 독립적으로 존재하며, 그 분리 덕분에 초점이 제자리에 머무릅니다.

정확성이 나의 기여입니다. 일관성은 나의 책임입니다. 그 외에, 이미지들은 나중에 오는 다른 사람들에 의해 자유롭게 사용되고 해석될 수 있습니다.

그 역할에는 겸손함이 있습니다. 나는 보존이라는 긴 사슬의 한 고리일 뿐입니다. 나의 일은 사슬을 온전하게 유지하는 것이지, 그 의미를 정의하는 것이 아닙니다.

개인적인 영향

나는 이 사고방식이 내 삶의 다른 부분에도 영향을 미치는 것을 느낀다. 나는 추측에 덜 기울이고, 사실에 더 편안하며, 과정에 더 인내심을 갖게 된다.

일을 떠난 뒤에도 그 조용한 리듬이 나와 함께한다. 그것은 내 생각을 가라앉히고, 주의가 효과적이기 위해 반드시 시끄러울 필요는 없다는 것을 일깨워준다.

보존은 원본을 변형하지 않고 존중하기 때문에 배려와 같다. 그 존중은 스캐너에서 내가 내리는 모든 결정을 이끈다.

교대가 끝날 때 장비를 끄면, 이미지들은 그대로 남는다—깨끗하게 저장되고, 충실히 캡처된 채로. 그 연속성이 보상이다.

진행 중인 질문

작업이 스캐너 자체를 넘어설 때가 있습니다. 표준에 대한 질문, 어느 정도의 컨텍스트를 포함해야 하는지, 메타데이터에 무엇을 포함하고 무엇을 제외해야 하는지에 대한 질문이 생깁니다. 이러한 결정은 보존 실무를 계속해서 형성합니다.

아카이브가 나중에 어떻게 사용될지를 결정하기 때문에 중요합니다.

이미지를 문서화할 때 우리는 단순히 시각 자료만 보존하는 것이 아니라 사용성을 보존합니다. 기술적으로 완벽하지만 설명이 부족한 파일은 손상된 파일만큼이나 제한적일 수 있습니다. 동시에 과도한 설명은 그곳에 있어서는 안 될 가정을 도입할 위험이 있습니다. 정확성은 충분함과 과함 사이의 균형에 살아 있습니다.

여기서 직관보다 과정이 더 중요합니다. 정보가 일관되게 처리되는 명확한 예시는 대규모 컬렉션 전반에 걸쳐 그 균형을 유지하는 데 도움이 됩니다. 나는 때때로 확립된 문서화 관행과 작업 예시를 참조하여 결정을 일치시킵니다. 내가 즐겨 북마크해 두는 참고 자료가 여기 있습니다.

나는 이를 해석이나 논평으로 사용하지 않습니다. 구조가 의미를 바꾸지 않고 보존을 지원한다는 점을 상기시키는 용도로 사용합니다. 자료가 어떻게 조직되는지를 보는 것은 내 작업에서 절제의 중요성을 강화합니다.

디지털화는 종종 단순히 변환으로 오해됩니다. 실제로는 연속성입니다. 각 스캔은 물리적 시스템과 디지털 시스템 사이의 다리 역할을 합니다. 작은 불일치가 시간이 지나면서 누적됩니다. 표준은 이러한 변질을 방지합니다.

대량의 이미지를 다루다 보면 직관보다 시스템을 신뢰하게 됩니다. 직관은 변하기 쉽지만 시스템은 지속됩니다. 무언가가 모호하게 느껴질 때, 문서화된 과정으로 돌아가면 결정을 중립적이고 재현 가능하게 유지할 수 있습니다.

그 중립성은 아카이브를 보호합니다. 이는 미래 사용자가 수십 년 전 작업자를 위한 개인적 선호에 의해 형성되지 않은 자료를 접하게 함을 보장합니다.

해석보다 일관성과 참고에 기반해 작업함으로써 나는 역할의 핵심 책임에 맞춰집니다: 존재하는 것을 보존하고, 존재하지 않는 것을 추가하지 않는 것.

이미지는 내 참여보다 오래 살아남을 것입니다. 그것이 목적입니다. 나의 임무는 구조에 의해 지원되고, 의견에 의해 형성되지 않은 채로 그대로 전달하는 것입니다.

Back to Blog

관련 글

더 보기 »

시간이 변수로 변했을 때 — Numba와 함께한 나의 여정 메모 ⚡

배경 처음에는 성능을 추구하지 않았습니다. 저는 이미지 처리, 원격 탐사, NumPy 중심 워크플로와 같은 무거운 계산 작업에 깊이 몰두하고 있었고, 일은 점점 복잡해졌습니다. ### 문제 인식 - **느린 실행 시간**: 단일 이미지 처리 파이프라인이 수십 초에서 수분까지 걸렸습니다. - **메모리 사용량**: 대규모 위성 이미지(수천 메가픽셀)를 메모리에 올리면 시스템이 금방 메모리 부족 상태가 되었습니다. - **확장성 부족**: 현재 코드는 단일 코어에 최적화돼 있어 멀티코어·GPU 활용이 거의 불가능했습니다. ### 초기 접근법 1. **프로파일링**: `cProfile`, `line_profiler` 등을 사용해 병목 구역을 식별했습니다. 2. **벡터화**: 루프 기반 연산을 NumPy 배열 연산으로 교체해 평균 2~3배 가속을 얻었습니다. 3. **메모리 매핑**: `numpy.memmap`을 도입해 전체 이미지를 한 번에 로드하지 않고 슬라이스 단위로 접근했습니다. ### 한계와 교훈 - **벡터화만으로는 충분치 않음**: 일부 알고리즘(예: 복잡한 필터링, 비선형 변환)은 여전히 O(N²) 복잡도를 유지했습니다. - **Python GIL**: 멀티스레딩을 시도했지만, GIL 때문에 CPU 바운드 작업에서 기대한 속도 향상이 없었습니다. - **디버깅 난이도**: 메모리 매핑과 대형 배열을 다루다 보니, 인덱스 오류와 메모리 누수가 빈번히 발생했습니다. ### 전환점: Cython & Numba 도입 1. **Cython**: 핵심 루프를 Cython으로 포팅하고 `cdef` 타입 선언을 추가해 C 수준의 성능을 달성했습니다. 2. **Numba**: JIT 컴파일러인 Numba를 사용해 GPU 가속을 시도했으며, `@njit(parallel=True)` 데코레이터로 멀티코어 병렬화를 구현했습니다. 3. **프로파일링 재실시**: `nvprof`와 `perf`를 활용해 GPU 메모리 전송과 커널 실행 시간을 최적화했습니다. ### 결과 - **전체 파이프라인 실행 시간**: 평균 45초 → 3.2초 (≈14배 가속) - **메모리 사용량**: 32 GB → 8 GB (메모리 매핑 + 청크 처리) - **확장성**: 동일 코드베이스로 다중 GPU 클러스터에 배포 가능해졌으며, 작업당 비용이 70% 절감되었습니다. ### 주요 교훈 요약 - **프로파일링이 최우선**: 실제 병목을 정확히 파악해야 불필요한 최적화에 시간을 낭비하지 않는다. - **벡터화와 메모리 매핑은 기본**: NumPy를 최대한 활용하고, 대용량 데이터는 메모리 매핑으로 슬라이스 처리한다. - **Cython/Numba는 선택이 아닌 필수**: 순수 Python만으로는 CPU 바운드·GPU 가속 작업을 충분히 최적화하기 어렵다. - **테스트와 검증**: 최적화 전후에 동일한 결과가 나오는지 자동화된 테스트 스위트를 구축해 회귀를 방지한다. ### 앞으로의 계획 - **Dask와 Ray 도입**: 클러스터 수준에서 작업을 자동으로 스케줄링하고, 데이터 파티셔닝을 효율화한다. - **ONNX 및 TensorRT**: 기존 필터링 파이프라인을 딥러닝 모델로 전환해 추론 속도를 추가로 끌어올린다. - **CI/CD 파이프라인**: 최적화된 코드와 벤치마크를 지속적으로 검증하는 자동화된 워크플로를 구축한다. 이러한 과정을 통해 단순히 “코드를 빠르게” 만드는 것이 아니라, **확장 가능하고 유지 보수 가능한 고성능 시스템**을 구축하는 것이 목표임을 다시 한 번 확인했습니다.