타일 추출기

발행: (2026년 5월 24일 AM 12:03 GMT+9)
8 분 소요
원문: Dev.to

Source: Dev.to

파싱할 수 없는 것을 파싱하기: 5만 개 이상의 석재 SKU를 위한 레이아웃 인식 컴퓨터 비전 파이프라인 구축

요약

석재 및 대리석 산업은 시각 카탈로그를 기반으로 운영됩니다. 제조업체는 대리석 슬래브, 타일 패턴, 질감 변형, 치수 표가 포함된 수백 페이지의 PDF 카탈로그를 발행합니다. 디지털 재고 플랫폼과 도매업체에게 이 제품들을 추출해 데이터베이스에 채우는 작업은 큰 병목 현상이 됩니다.
표준 OCR(광학 문자 인식) 도구는 이러한 카탈로그가 시각적으로 복잡하고, 제품 이미지가 텍스트 설명, 치수, SKU 코드와 느슨하게 정렬된 복잡한 그리드 구조를 가지고 있기 때문에 즉시 실패합니다. Ananta Labs는 다중 페이지 카탈로그를 받아들여 개별 제품 타일을 분할하고, 해당 텍스트 세부 정보를 추출해 깨끗한 JSON 배열로 출력할 수 있는 레이아웃 인식 컴퓨터 비전 및 텍스트 파싱 파이프라인을 설계하도록 의뢰받았습니다. 목표는 5만 개 이상의 고유 대리석·석재 SKU 데이터베이스에서 95% 이상의 정확도를 달성하는 것이었습니다.

전통적인 텍스트 추출 도구는 문서를 위에서 아래, 왼쪽에서 오른쪽으로 순차적으로 파싱합니다. 제품 카탈로그에서는 이 방식이 슬래브 A의 텍스트와 슬래브 B의 치수를 뒤섞어 버립니다.
데이터 불일치를 방지하기 위해 우리는 분할 우선 접근 방식을 구현했습니다. 문서를 텍스트로 읽는 대신 각 카탈로그 페이지를 이미지 캔버스로 취급하고, 개별 물리적 그리드 셀(타일)을 찾아 격리한 뒤, 각 격리된 셀 내부에서만 OCR을 수행합니다.

처리량: 평균 100페이지(약 1,200개 제품 변형) 카탈로그를 처리하는 데 180초 미만이 소요되었습니다.
정확도: 5만 개 이상의 석재 타일 중 레이아웃 분할을 통해 96.4%의 추출 정확도를 유지했습니다.
인간 검증: 수동 데이터 입력 시간이 94% 감소했으며, 운영자는 이제 수작업 전사 대신 깔끔한 시각 관리 UI 검증 화면을 검토하는 역할만 수행합니다.

우리는 PyMuPDF를 사용해 들어오는 PDF 페이지를 고해상도 PNG 이미지(300 DPI)로 래스터화하여 작은 글씨도 선명하게 보이도록 합니다. 문서는 페이지별로 변환되고, OCR 처리 전에 텍스트 문자를 최적화하도록 확대됩니다.

카탈로그 페이지는 일반적으로 슬래브 이미지와 SKU 데이터를 시각적 그리드 셀 또는 박스 안에 배치합니다. 우리는 컴퓨터 비전(OpenCV)을 이용해 이러한 경계 박스를 감지합니다:

  • 이진화: 페이지 이미지를 그레이스케일로 변환하고 적응형 임계값을 적용해 경계를 분리합니다.
  • 형태학적 연산: 수직·수평 커널을 적용해 견고한 가로·세로 그리드 라인을 탐지하고, 카탈로그 레이아웃의 깨끗한 이진 마스크를 생성합니다.
  • 컨투어 추출: 그리드 마스크에서 컨투어를 찾아 너무 작아(노이즈) 혹은 너무 큰(페이지 경계) 형태를 필터링합니다.

각 타일 셀의 좌표(x, y, w, h)를 확보하면, 셀 상단 절반에서 석재 슬래브 이미지를, 하단 절반에서 텍스트 영역을 잘라내고, 텍스트 영역에만 OCR을 실행합니다.

전체 페이지가 아닌 작은 격리된 박스에서 OCR을 수행함으로써 추출된 SKU, 마감(광택/매트) 및 사이즈 파라미터가 동일한 박스에서 잘라낸 석재 슬래브 이미지와 정확히 일치하도록 보장합니다.

일부 카탈로그는 눈에 보이는 그리드 라인이 없고, 제품 이미지가 흰 페이지에 떠 있고 그 아래에 텍스트가 배치됩니다. 형태학적 그리드 탐지가 셀을 전혀 찾지 못하면 파이프라인은 클러스터 기반 레이아웃 분석기로 전환됩니다. 우리는 투영 프로파일(행·열의 공백 간격을 스캔) 을 이용해 가상 그리드 라인을 프로그래밍적으로 계산하고, 동적으로 경계 좌표 영역을 설정합니다.

OCR 출력은 “Volacas Wt (Pol) 60x120cm - SKU9087”과 같은 원시 문자열 형태입니다. 우리는 OCR 결과를 정규식 파서와 가벼운 로컬 사전 매칭 레이어에 통과시킵니다. 파서는 구두점을 제거하고, 치수를 표준화(600x1200mm, 60x120 → 표준 메트릭 부동소수점)하며, 석재 색상 및 마감을 데이터베이스에 바로 사용할 수 있는 열거형으로 변환합니다(예: Material: Marble, Color: White, Finish: Polished).

시각적으로 복잡한 문서 레이아웃을 파싱하려면 단순 문자 인식을 넘어서는 접근이 필요합니다. 전통적인 컴퓨터 비전 기법(컨투어 탐지, 형태학적 임계값)과 목표 지향적인 로컬 OCR을 결합함으로써 Tile Extractor는 혼란스러운 카탈로그를 깔끔하고 표준화된 상업 API로 변환했습니다. 비구조화된 시각 매체와 구조화된 데이터베이스 사이의 격차를 메우는 시스템을 구축하는 것이 바로 Ananta Labs가 하는 일의 핵심입니다.

0 조회
Back to Blog

관련 글

더 보기 »

내 스킬

프로젝트를 위한 AI 지시문을 만들고, 설치하고, 관리하세요 — 코딩이 필요 없습니다. CREATE 이름을 정하고, 카테고리를 선택하고, 원하는 것을 설명하세요 — 마법사가 자동으로 구성합니다.