작년에 캘리포니아 Inland Empire에 있는 한 창고의 매니저가 해준 이야기가 자꾸 떠오른다. 그의 팀은 3개월 동안 SKU 이미지 10,000장 이상을 촬영하고 라벨링해서 피킹 검증용 비전 모델을 학습시켰다. 첫 주에 정확도가 아주 좋아 보였다. 그런데 시즌 패키지 변경이 들이닥쳤다 — 상위 SKU 몇 개가 주요 색상이 다른 새 디자인으로 바뀌었고 — 정확도가 절벽에서 떨어졌다. 결국 그 모델은 대체하기로 했던 수작업 검사보다 더 나빠졌다. 프로젝트 팀 표정을 봤어야 했다.
일회성 일이 아니었다. 창고가 자체 비전 모델을 학습시키려 할 때 실패 지점은 거의 항상 알고리즘이 아니다 — 오픈소스 모델은 넘쳐나고 품질도 엇비슷하다. 실패 지점은 데이터다: 사진 몇 장, 어떻게 찍고, 어떻게 라벨링했는가. 이걸 하나씩 뜯어보자.
더 많은 사진이 아니라, 더 많은 다양성이 필요하다
본능은 양을 쌓는 쪽으로 간다: 10,000장이면 충분하겠지. 반만 맞다.
모델은 "너무 적은 양"으로 고통받지 않는다. "너무 편향된" 것으로 고통받는다. 같은 스테이션, 같은 카메라, 오전 10시의 같은 조명으로 찍은 10,000장은 모델에게 한 가지만 가르치고, 100,000번째 사진도 같은 걸 또 가르친다. 데이터가 충분한지를 진짜로 결정하는 것은 몇 종류의 변형을 커버하느냐다. 뭐든 찍기 전에 벽에 변형 체크리스트를 붙여라:
조명. 창고 형광등과 오후 늦게 도크 문 사이로 비스듬히 들어오는 햇빛은 완전히 다른 색이다. 같은 SKU를 오전과 오후에 찍어라. 색온도가 틀어진 낡은 형광등도 대상이다.
각도. 검증 스테이션 위 카메라는 고정되어 있지만 박스는 아니다: 옆으로 눕히고, 세우고, 뒤집고, 프레임에서 반쯤 벗어나게. 연출된 포즈만 찍지 마라 — 지게차 기사가 실제로 박스를 던지는 모습을 잡아라.
배경. 컨베이어 벨트, 파렛트 틈새, 바닥 반사 — 배경이 지저분할수록 모델은 그걸 무시하는 법을 배워야 한다. 한 스테이션만 고집하지 말고 두세 곳을 돌려라.
포장 상태. 여기서 정확도가 죽는다. 찌그러진 박스, 물 얼룩진 것, 스트레치 필름으로 반쯤 감긴 것, 판촉 스티커 도배된 것 — 거기에 매 시즌 들어오는 리뉴얼 패키지까지. 아까 말한 그 유통업체? 학습 데이터에 새 패키지 예제가 하나도 없었다. 모델이 본 적이 없으니 찍을 수밖에.

한 바퀴 찍고, 커버한 항목에 체크하고, 빠진 걸 보러 돌아가라. 이게 맹목적으로 10,000장 찍는 것보다 매번 낫다. 하나 더: 포장 변경 빈도별로 SKU를 등급화해라. 몇 년째 모습이 안 바뀌는 산업용 부품은 한 번 찍고 놔두면 된다. 일 년에 몇 번씩 리패키징되는 식품이나 소비재는 데이터 수집을 일회성 프로젝트가 아니라 반복되는 습관으로 만들어야 한다.
폴리곤이 아니라, 박스부터 시작하라
두 번째 함정은 라벨링이다. "더 정밀할수록 좋겠지"라며 많은 팀이 곧장 인스턴스 세그멘테이션으로 뛰어든다. 내 조언은 이거다: 바운딩박스 모델부터 돌아가게 만들어라.
박스는 라벨링이 압도적으로 빠르다 — 숙련된 어노테이터라면 오전 중에 수백 장을 처리한다(참고 추정치). 폴리곤 그리기는 몇 배 더 오래 걸리고 일관성 유지도 어렵다. 그리고 박스로 창고 일의 대부분은 된다: SKU 식별, 빈 박스 감지, 파렛트 적재 여부, 벨트 위 이물질 여부. 세그멘테이션이 제 몫을 하는 건 정밀 측정이 필요할 때(예: 용적 중량을 위한 박스 치수 추정)나 가림이 심해 박스로는 대상을 어차피 감쌀 수 없을 때뿐이다.
라벨 품질은 양을 압도한다. 비교가 안 될 정도다. 두 어노테이터가 무엇이 "손상"인지 의견이 갈리는 수백 장의 이미지는 모델에게 노이즈를 가르칠 뿐이다. 라벨링 시작 전에 반 페이지 분량의 스펙을 써라: 손상으로 보는 것, 정상으로 보는 것, 절반 이상 가려진 대상을 라벨링할지 여부. 그다음 두 사람이 같은 수십 장(참고)의 배치를 라벨링한다. 의견이 갈린 곳에서 스펙을 고친다. 대체로 의견이 맞을 때까지는 규모를 키우지 마라.
외주냐 내재냐? 단계에 달렸다. 라벨링 플랫폼(Labelbox, Roboflow 등)은 양을 확 키우지만 당신의 비즈니스를 모른다 — "새 패키지 디자인"이나 "판촉 스티커"가 의미 있는 변화라는 걸 알아채지 못한다. 자사 인력은 느리지만 창고에서 살기 때문에 이상 징후를 한눈에 알아챈다. 내가 하는 방식: 먼저 어려운 케이스 첫 배치를 내재로 라벨링해서 기준을 세우고, 정형적인 양은 외주로 돌리고, 최소 10건 중 1건은 감사한다(참고 감사율) — 한 개의 나쁜 배치가 전체를 망친다.
스크래치 학습이 아니라, 파인튜닝하라 — 그리고 어려운 케이스를 계속 먹여라
결론은 이거다: 대부분의 창고는 스크래치부터 모델을 학습시킬 필요가 없다.
사전 학습된 오픈소스 모델 — Ultralytics의 YOLO 패밀리는 COCO 같은 거대 데이터셋으로 사전 학습됨 — 은 이미 수십만 개의 일상 물체를 봤다. 당신의 일은 자사 SKU로 파인튜닝해서 당신의 포장을 익히게 하는 것이다. 파인튜닝에 필요한 데이터는 스크래치 학습과는 완전히 다른 세계다: 보통 잘 커버된 사진 수백 장에서 수천 장이면 시작할 수 있다(SKU에 따라 편차는 크다. 자기 데이터로 검증하라). 스크래치부터의 학습은 연구실의 스포츠다. 창고에 필요 없다.
정확도 목표도 희망 사항으로 정하지 마라. 검증 역할에서 모델은 사람을 돕는 것이지 대체하는 게 아니다. 상식적인 목표는 이런 식이다: "수작업 검증 작업량을 절반 이상 줄이고, 미스율은 현재 수작업 기준선 이하로"(참고 — 자기 숫자로 정하라). 마법 같은 "99%"를 노리면 끝없는 데이터 수집 루프에 빠져 허우적댄다.
가장 과소평가된 부분이 출시 이후에 벌어지는 일이다. 새 SKU가 들어오고, 기존 SKU는 리패키징되고, 판촉 스티커가 붙는다 — 학습 데이터가 본 적 없는 롱테일, 거기서 모델은 눈이 먼다. 해결책은 더 큰 데이터셋이 아니라 루프다: 본 가동 후 모델이 틀리거나 확신하지 못했던 사진을 자동으로 회수하고, 사람이 확인하고, 확정된 어려운 케이스를 학습 데이터에 되돌려 넣고, 일정에 따라 재학습한다. 주기는 SKU가 얼마나 빨리 바뀌는지에 달렸다: 식품이나 빠르게 도는 소비재는 월간, 심하면 격주 재학습이 필요할 수 있다. 천천히 바뀌는 산업재는 분기마다면 된다. 요점은 루프를 계속 돌리는 것 — 내 유통업체 친구에게 없던 게 바로 이 루프였다.
그리고 솔직한 한마디: 라벨링 팀조차 없으면 직접 만들 이야기는 하지 마라. 시장에는 스테이션 단위 비전 검증 서비스가 있다 — 일단 한 스테이션을 사서 가치를 증명하고, 그다음 만들지 말지 결정하면 된다. 자가 모델의 최대 비용은 GPU가 아니었다. 사람이다.
내일 할 수 있는 일: 아직 프로젝트를 시작하지 마라. 피킹 검증 스테이션을 하나 골라, 오후 반나절을 써서 상위 SKU를 각각 수십 컷씩(참고) 찍어라 — 일반, 측면 조명, 손상, 적재 조건에서, 합계 수백 장. 라벨링 플랫폼에 시험 배치로 보내라. 일주일 본 가동하고 실제 근무에서 어떻게 도는지 봐라. 괜찮으면 확장 이야기를 하자. 아니면 문제가 어디 있는지 정확히 알게 될 거다 — 그리고 10번 중 9번은 사진이 부족한 게 아니라 커버되지 않은 변형 문제다.
영어판 번역본입니다. 내용이 다를 경우 영어판을 우선합니다.







