
차트 이미지를 TikZ 코드로 역설계하기 위한 자동화된 파이프라인. 이 시스템의 핵심 로직은 다음과 같은 네 가지 주요 단계로 나눌 수 있습니다. 1. 전역 계획 및 입력 단계: - 입력: 원본 차트 이미지 (예: 선 그래프, 막대 차트 등). - 전역 처리: - 전역 플래너: 이미지 입력을 받아 전역 메타데이터를 추출합니다. - 출력: 차트의 전역 매개변수 (예: 'X-스케일': 1.5, 'Y-스케일': 0.5 스케일 정보)를 포함하는 JSON 형식 데이터를 생성합니다. - 출력 예시 (JSON): ```json { 'x_scale': '1.3cm', 'y_scale': '0.5cm', 'y_min': 0, 'y_max': 10, 'x_min': 0, 'x_max': 6, 'colors': {'mplBlue': '31,119,180', 'gridGray': '220,220,220'}, 'chart_type': 'bar_chart' } ``` 2. 병렬 특징 추출 단계: - 이미지와 전역 메타데이터는 동시에 네 개의 병렬 딥러닝/인식 모델에 입력되며, 각 모델은 서로 다른 차트 구성 요소 정보를 추출하고 해당 TikZ 코드 스니펫을 생성하는 역할을 합니다. 1. 차트 기본 구성 인식 모델: 차트의 기본 구조를 식별하고 TikZ 코드 1을 생성합니다. 2. 좌표 축 파싱 모델: X/Y 축의 스케일, 레이블 등을 파싱하고 TikZ 코드 2를 생성합니다. 3. 데이터 시각화 인식 모델: 특정 데이터 포인트, 선 또는 막대를 식별하고 TikZ 코드 3을 생성합니다. 4. 범례 인식 모델: 범례의 내용과 스타일을 식별하고 TikZ 코드 4를 생성합니다. 3. 코드 합성 단계: - 채우기: 위 두 단계에서 생성된 데이터를 통합합니다. - 전역 플래너에서 생성된 JSON 데이터. - 네 개의 모델에서 생성된 TikZ 코드 스니펫 (1-4). - 템플릿 적용: 이 데이터는 미리 설정된 LaTeX 템플릿에 채워집니다. - 출력: 완전한 TikZ 코드를 생성합니다. 4. 컴파일 및 검증 루프: - 이는 코드 실행 가능성을 보장하기 위한 시스템의 중요한 폐쇄 루프입니다. - Latex