VOP: 복잡한 도표와 수학 공식을 추출하기 위한 OCR 도구

최신 AI 리소스4 개월 전에 게시 됨 AI 공유 서클
1.4K 00

일반 소개

다목적 OCR 프로그램은 복잡한 학술 및 교육 문서를 처리하기 위해 설계된 오픈 소스 광학 문자 인식(OCR) 도구입니다. PDF, 이미지 및 기타 문서에서 텍스트, 표, 수학 공식, 차트 및 회로도를 추출하고 머신러닝 학습에 적합한 구조화된 데이터를 생성할 수 있습니다. 영어, 일본어, 한국어 등 다국어를 지원하며, 출력 형식은 개발자가 편리하게 사용할 수 있는 JSON 또는 Markdown입니다.

VOP:提取复杂图表与数学公式的OCR工具VOP:提取复杂图表与数学公式的OCR工具

 

기능 목록

  • 다국어 텍스트 추출, 영어, 일본어, 한국어 등을 지원하며 다른 언어로 확장할 수 있습니다.
  • 수학 공식을 인식하고 LaTeX 코드와 자연어 설명을 생성하세요.
  • 테이블을 구문 분석하고, 행과 열 구조를 보존하며, 구조화된 데이터를 출력합니다.
  • 다이어그램과 회로도를 분석하여 의미론적 주석과 설명을 생성합니다(예: "이 다이어그램은 세포 분열의 네 단계를 보여줍니다").
  • 복잡한 레이아웃의 PDF를 처리하여 수식이 많은 단락과 시각적 요소를 정확하게 식별합니다.
  • AI 학습을 최적화하기 위해 시맨틱 컨텍스트가 포함된 JSON 또는 마크다운 형식을 출력합니다.
  • 문서 레이아웃-YOLO, Google 비전 API, MathPix 및 기타 기술을 사용하여 인식 정확도를 개선하세요.
  • 실제 학술 데이터 세트(예: EJU 생물학, 이스턴 대학교 수학)에 대해 90-95%의 높은 정확도를 제공합니다.
  • 여러 파일 입력을 처리하는 일괄 처리를 지원합니다.

 

도움말 사용

설치 프로세스

다목적 OCR 프로그램을 사용하려면 리포지토리를 복제하고 환경을 구성해야 합니다. 자세한 단계는 다음과 같습니다:

  1. 클론 창고
    터미널에서 실행됩니다:

    git clone https://github.com/ses4255/Versatile-OCR-Program.git
    cd Versatile-OCR-Program
    
  2. 가상 환경 만들기
    Python 3.8 이상을 권장합니다. 가상 환경을 만들고 활성화합니다:

    python -m venv venv
    source venv/bin/activate  # Linux/Mac
    venv\Scripts\activate     # Windows
    
  3. 종속성 설치
    프로젝트에 필요한 라이브러리를 설치합니다:

    pip install -r requirements.txt
    

    종속성은 다음과 같습니다.opencv-pythongoogle-cloud-visionmathpixpillow등 네트워크 연결이 안정적인지 확인합니다.

  4. API 키 구성
    이 프로젝트는 고급 OCR 처리를 위해 외부 API(예: Google Vision, MathPix)에 의존합니다:

    • Google 비전 API: inconfig/디렉토리를 생성하여google_credentials.json를 클릭하고 서비스 계정 키를 입력합니다. 키를 받으려면 다음을 방문하세요.Google 클라우드 콘솔.
    • MathPix API: inconfig/디렉토리를 생성하여mathpix_config.json입력app_id노래로 응답app_key. MathPix 계정에 등록하여 키를 받으세요.
    • 프로젝트에서 구성 파일 템플릿을 사용할 수 있습니다.README.md.
  5. 설치 확인
    테스트 스크립트를 실행하여 환경이 올바른지 확인합니다:

    python test_setup.py
    

    오류가 없으면 설치가 완료된 것입니다.

워크플로

다목적 OCR 프로그램은 초기 추출과 의미 처리의 두 단계로 실행됩니다.

1. 초기 OCR 추출

움직여야 합니다.ocr_stage1.py원시 요소(텍스트, 표, 차트 등)를 추출합니다:

python ocr_stage1.py --input sample.pdf --output temp/
  • --input입력 파일(PDF 또는 이미지(예: PNG, JPEG)을 지정합니다.
  • --output좌표, 잘린 이미지 등이 포함된 중간 결과 디렉터리를 지정합니다.
  • 일괄 처리 지원: 사용--input_dir폴더를 지정합니다.

2. 시맨틱 처리 및 최종 출력

움직여야 합니다.ocr_stage2.py중간 데이터를 구조화된 출력으로 변환합니다:

python ocr_stage2.py --input temp/ --output final/ --format json
  • --input첫 번째 단계의 출력 디렉터리를 지정합니다.
  • --format출력 형식을 선택합니다(json어쩌면markdown).
  • 출력에는 텍스트, 수식 설명, 표 형식의 데이터, 차트의 의미론적 레이블이 포함됩니다.

주요 기능

1. 다국어 텍스트 추출

다국어 지원으로 PDF 또는 이미지에서 텍스트를 추출하세요:

python ocr_stage1.py --input document.pdf --lang eng+jpn+kor --output temp/
python ocr_stage2.py --input temp/ --output final/ --format markdown
  • --lang형식의 언어 지정eng(영어),jpn(일본어),kor(한국어), 다국어+연결.
  • 출력 파일에는 텍스트 콘텐츠와 시맨틱 컨텍스트가 포함되며, 마크다운 또는 JSON으로 저장됩니다.

2. 수학 공식 식별

공식을 식별하고 LaTeX 코드와 설명을 생성합니다. 예를 들어, 공식x^2 + y = 5출력은 "변수 x와 y가 있는 이차 방정식"입니다. 연산:

python ocr_stage1.py --input math.pdf --mode math --output temp/
python ocr_stage2.py --input temp/ --output final/ --format json
  • --mode math활성화 공식 인식.
  • 출력에는 LaTeX 코드와 자연어 설명이 포함되어 있습니다.

3. 테이블 분석

행과 열 구조를 유지하면서 테이블을 추출합니다:

python ocr_stage1.py --input table.pdf --mode table --output temp/
python ocr_stage2.py --input temp/ --output final/ --format json
  • --mode table양식 처리 전문.
  • 출력은 행 및 열 데이터와 요약 설명이 포함된 JSON입니다.

4. 그래픽 및 회로도 분석

차트나 다이어그램을 분석하여 의미론적 주석을 생성합니다. 예를 들어, 선 그래프는 "2010년부터 2020년까지의 온도 변화를 보여주는 선 그래프"를 출력할 수 있습니다. 액션:

python ocr_stage1.py --input diagram.pdf --mode figure --output temp/
python ocr_stage2.py --input temp/ --output final/ --format markdown
  • --mode figure차트 분석을 사용 설정합니다.
  • 출력에는 이미지 설명, 데이터 포인트 추출 및 컨텍스트가 포함됩니다.

팁 및 유용한 정보

  • 정확도 향상고해상도 파일 입력(300 DPI 권장). 런타임에 추가--dpi 300이미지 구문 분석 최적화.
  • 배치 파일사용--input_dir data/폴더의 모든 파일을 처리합니다.
  • 사용자 지정 언어사설:: 사설config/languages.json언어를 추가하려면 해당 OCR 모델(예: 테서랙트 언어 팩)을 설치해야 합니다.
  • 디버깅 로그추가--verbose자세한 운영 정보를 확인하세요.
  • 압축 출력사용--compressJSON 파일 크기를 줄입니다.

주의

  • 입력 문서의 품질이 낮으면 인식 정확도가 떨어질 수 있으므로 문서가 선명해야 합니다.
  • 외부 API를 사용하려면 안정적인 네트워크가 필요하며, 예비 키를 구성하는 것이 좋습니다.
  • 출력 디렉터리에 충분한 디스크 공간이 있어야 하며, 대용량 PDF는 더 큰 파일을 생성할 수 있습니다.
  • GNU AGPL-3.0 라이선스에 따라 파생 프로젝트는 소스 코드를 공개적으로 사용 가능해야 합니다.
  • 이 프로젝트는 한 달 이내에 AI 파이프라인 통합을 출시할 계획이므로 계속 지켜봐 주세요.

이러한 단계를 통해 사용자는 빠르게 시작하여 복잡한 문서를 처리하고 AI 학습 데이터를 생성할 수 있습니다.

 

애플리케이션 시나리오

  1. 학술 연구 데이터 추출
    연구자들은 시험지나 에세이에서 수식, 표, 차트를 추출하여 의미론적 주석이 포함된 데이터 세트를 생성할 수 있습니다. 예를 들어, 이스턴 대학교의 수학 시험지는 기하학 모델 학습을 위해 JSON으로 변환되었습니다.
  2. 교육 리소스의 디지털화
    학교에서는 종이 교과서나 시험지를 전자 형식으로 변환하고, 다국어 텍스트와 그래픽을 추출하고, 검색 가능한 아카이브를 생성할 수 있습니다. 국제 프로그램의 다국어 처리에 적합합니다.
  3. 머신 러닝 데이터 세트 구축
    개발자는 학술 문서에서 구조화된 데이터를 추출하여 고품질 훈련 세트를 생성할 수 있습니다. 예를 들어 생물학 논문에서 세포 분열도를 추출하고, 단계별 설명을 라벨링하고, 이미지 인식 모델을 훈련할 수 있습니다.
  4. 아카이브 문서 처리
    도서관은 과거의 학술 문서를 디지털 형식으로 변환하여 수식과 표 구조를 보존하여 검색 효율성을 높일 수 있습니다. 복잡한 레이아웃의 PDF 처리를 지원합니다.
  5. 시험 분석 도구
    교육 기관은 문제지의 내용을 분석하고, 문제 유형과 차트를 추출하고, 통계 보고서를 생성하고, 교육 설계를 최적화할 수 있습니다.

 

QA

  1. 어떤 입력 형식이 지원되나요?
    PDF 및 이미지(PNG, JPEG)가 지원됩니다. 정확성을 보장하기 위해 고해상도 PDF를 권장합니다.
  2. 양식 인식 정확도를 높이려면 어떻게 해야 하나요?
    명확한 문서를 사용하여--dpi 300. 일본어 테이블의 경우 Google Vision API가 MathPix보다 성능이 뛰어나며config/중간 조정.
  3. 유료 API를 사용해야 하나요?
    Google Vision 및 MathPix API는 유료 계정이 필요하지만 DocLayout-YOLO와 같은 오픈 소스 모듈은 무료입니다. 최상의 결과를 위해 API를 구성하는 것이 좋습니다.
  4. 새 언어를 추가하려면 어떻게 하나요?
    컴파일러config/languages.json를 클릭하고 언어 코드와 OCR 모델(예: Tesseract 언어 팩)을 추가합니다. 프로그램을 다시 시작하여 적용합니다.
  5. 출력 파일이 너무 크면 어떻게 하나요?
    비용 또는 지출--compressJSON을 압축하거나 마크다운 형식을 선택합니다. 텍스트만 추출하는 등 출력 모듈을 제한할 수도 있습니다(--mode text).
  6. 프로젝트 개선에 참여하려면 어떻게 해야 하나요?
    풀 리퀘스트는 GitHub를 통해 제출하거나 ses425500000@gmail.com 으로 작성자에게 연락하여 제출할 수 있습니다. 코드를 기여하거나 문제에 대한 피드백을 자유롭게 제공하세요.
© 저작권 정책
AiPPT

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...