포스트

[기타] 이미지를 latex 수식으로 바꿔주는 툴, LaTeX-OCR

LaTex-OCR

논문 관련 내용으로 블로그 글을 쓰거나 발표 ppt를 만들 때 가장 귀찮고 번거로운 작업이 수식을 입력하는 것 아닐까 싶습니다. 마음 같아서 그냥 이미지 캡쳐해서 붙여넣기 하고 싶지만.. 포맷이 마음에 들지 않아서 항상 latex 문법을 이용해서 입력하곤 했었는데요. 이걸 OCR 기술을 이용해서 쉽게 할 수 있는 툴이 있습니다! 바로 LaTex-OCR입니다.

이 툴은 수식 이미지를 입력하면 해당 이미지에 있는 수식을 LaTeX 코드로 변경해줍니다. 알고리즘 파이프라인은 아래와 같습니다.

0

무려 GUI 형식으로도 제공해주기 때문에 매우 편하게 이용하고 있습니다. 이 툴을 알게 된 후 수식 입력하는 스트레스가 예전에 1/10으로 줄어든 것 같네요. (복잡한 수식 같은 경우는 종종 인식을 잘 못해서 수정이 필요할 때가 있습니다)

사용법

Requirements

먼저 사용을 하기 위해서는 Python 3.7 이상 버전 필요합니다. 그리고 torch를 이용하기 때문에 torch도 설치되어 있어야 합니다.

설치

LaTex-OCR 설치는 pip 패키지 형태로 간단하게 할 수 있습니다. 아래 코드를 이용해서 설치하면 모델 체크포인트도 자동으로 다운로드 됩니다.

1
pip install "pix2tex[gui]"

GUI 프로그램 실행

pix2tex 패키지가 설치된 환경에서 아래 명령어를 이용하면 GUI 프로그램이 실행됩니다.

1
latexocr

GUI 프로그램이 아래와 같이 실행이 되고 Snip버튼을 눌러 수식을 얻고자 하는 이미지를 캡쳐할 수 있습니다. 단축키도 제공합니다.

1

수식 이미지를 캡쳐하면 아래와 같이 인식된 수식이 렌더링 되고 그 아래에 LaTex 수식이 출력합니다. 해당 부분을 복사하셔서 사용하면 됩니다! 혹시 인식이 이상하게 됐다면 Retry버튼을 눌러서 다시 시도해볼 수 있는십니다. Temperature 하이퍼파라미터를 조절할 수도 있습니다.

2_LaTeX OCR 결과화면 _

마무리

AI 모델을 이용해서 실제로 이렇게 편리한 툴을 만든다니 아이디어가 좋은 것 같습니다! 참고로 비슷한 기능을 하는 상용화 프로그램도 꽤 있더라구요. 파이썬이랑 GPU 구동 환경을 만들기 어려우신 분들은 그런 선택지도 가능할 것 같습니다.

추가로 해당 모델은 인코더는 ViT를 사용하고 (ResNet을 백본으로 사용) 디코더는 Transformer를 사용했다고 합니다. 공유드린 github 저장소 코드를 이용해서 직접 학습도 할 수 있으니 관심 있으신 분은 참고하시면 될 것 같습니다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.