라벨링 도구 제작과 마스크 데이터 파이프라인
이 글은 현장실습에서 Segmentation·후속 모델 학습을 위해 라벨링 도구와 마스크 데이터 파이프라인을 만든 과정을 정리한 기술 회고다. 외부와 협업한 과제였기 때문에, 무엇을 탐지했는지 같은 도메인 상세는 적지 않고, 어떤 도구와 데이터 흐름을 만들었는지만 남긴다.
프로젝트와 필요성
실습에서는 이미지 분할(Segmentation)과, 분할 결과를 입력으로 받는 후속 분석 모델을 함께 다뤘다. 학습을 돌리려면 픽셀 단위 마스크와, 필요 시 세부 속성 라벨이 있어야 했다. 문제는 바로 쓸 수 있는 Golden Set가 충분하지 않았다는 점이었다.
그래서 라벨을 “수동으로 어떻게든 찍는 일”이 아니라, 반복 가능한 도구와 변환 스크립트 쪽으로 정리하기 시작했다. 목표가 모델 학습이어도, 병목은 종종 라벨링 UX와 포맷 변환에 있었다.
무엇을 만들었나
수동 라벨링 도구
세부 속성을 사람이 직접 선택·입력하고 CSV로 저장하는 라벨링 도구를 만들었다. 마스크만 있으면 끝나는 작업이 아니라, 이후 규칙 기반 추론이나 멀티라벨 분류에 쓸 속성까지 남겨야 해서, 단순 박스 찍기보다 속성 기록 흐름이 중요했다.
진행 예상 영역을 사용자가 직접 표시할 수 있는 보조 도구도 만들었다. 시계열 예측 쪽 데이터를 준비할 때, 정답이 부족한 구간을 사람이 보완하는 용도였다.
박스 라벨 → 분할 마스크
바운딩 박스 형태로 남은 라벨을 Segmentation 학습용 마스크로 바꿔야 하는 경우가 있었다. SAM을 이용해 박스 영역을 더 정밀한 세그멘테이션 마스크로 변환하는 배치 스크립트를 만들었고, 변환 결과를 검증하는 과정도 붙였다. 처음부터 픽셀 마스크를 전부 새로 그리는 비용보다, 기존 박스 라벨을 재활용하는 쪽이 현실적이었다.
JSON·마스크 변환과 검증
JSON 라벨을 클래스 ID가 매핑된 PNG 마스크로 바꾸는 변환기, PIL 기반 마스크 생성, 마스크 클래스 정의 확인용 검증 스크립트를 정리했다. 라벨 포맷이 섞여 있으면 학습 직전에 깨지기 쉬워서, “변환 → 검증 → 학습” 순서를 고정하려고 했다.
자동 라벨링 보조
텍스트 설명이나 이미지 정보를 바탕으로 속성 키워드를 뽑는 자동 라벨링 보조도 실험했다. Gemini API를 호출해 속성 후보를 CSV로 남기는 흐름이었다. 완전 자동 정답으로 쓰지 않고, 사람이 검수할 초안을 만드는 쪽에 가깝게 봤다. 라벨 비용이 큰 구간에서 초안 생성용으로 의미가 있었다.
데이터 수집·정리 유틸
JSON에 포함된 이미지 파일을 원본 폴더에서 찾아 한곳으로 모으는 스크립트, 유사·중복 이미지를 격리하는 스크립트, 해상도 분포 분석, EXIF 확인, 회전 보정값 정리 같은 유틸도 같이 쌓였다. 라벨링 도구 하나보다, 학습 직전 데이터가 깨지지 않게 만드는 주변 스크립트가 더 많이 필요했다.
실제로 어떻게 개선에 쓰였나
라벨링 도구를 만든 이유는 문서용 산출물이 아니라, Golden Set를 만들고 Segmentation·속성 모델을 다시 학습하기 위해서였다. 마스크가 생기고 나서야 클래스 불균형, 중복, 해상도 문제를 수치로 볼 수 있었다.
특히 중복·유사 이미지를 격리하고, 배경만 있는 샘플을 구분해 둔 뒤 학습 세트를 다시 짜는 과정이 모델 실험과 직접 연결됐다. 도구가 없으면 “데이터가 부족하다”에서 끝나고, 도구가 있으면 “어떤 라벨이 부족한지”로 질문이 바뀌었다.
정리
현장실습에서 라벨링 쪽으로 한 일은 특정 도메인 용어를 외운 것이 아니라, 수동 속성 라벨링 도구, 박스→마스크(SAM) 변환, JSON↔PNG 파이프라인, 자동 라벨 초안, 중복·해상도 정리 유틸을 만들어 학습 가능한 데이터 경로를 연 것이었다. 모델 개선 회고는 이 파이프라인이 생긴 뒤에야 본격적으로 이어졌다.
다음에 다시 한다면 라벨 스키마와 검수 기준을 더 먼저 문서화하고, 도구 UI와 변환 스크립트의 입출력 계약을 테스트로 고정해 두고 싶다.
'기술 회고' 카테고리의 다른 글
| [기술 회고] 실시간 경매 마감 처리와 동시성·트랜잭션 개선 (0) | 2026.07.27 |
|---|---|
| [기술 회고] 데이터 부족 환경에서의 LSTM 진행 예측 (0) | 2026.07.27 |
| [기술 회고] Segmentation 모델 실험과 성능 개선 (0) | 2026.07.27 |
| [기술 회고] 다중 모델 파이프라인과 규칙 기반 후속 추론 (0) | 2026.07.27 |
| [기술 회고] 객체 탐지 오탐 원인 분석 및 데이터·후처리 개선 (0) | 2026.07.24 |