아티스트 CG 자동번역하고 싶다 (2)
컴퓨터가 읽기 까다로워하는 아티스트 CG (말풍선 없는 대사 많은 작품) 리더를 만들고 싶었다.
꽤 진척이 있다!
PaddleOCR-VL-for-manga 모델 사용 시도
허깅페이스에서 발견한 VRAM 16GB+를 요구하는 모델이다. 문제는 BF16이라 3천번대 이후 GPU와 호환되는데, 그게 없다.
클라우드 IDE 사용하려 해봤으나, VRAM은 충분하지만 BF16 호환성이 떨어져 난관 봉착. TPU는 다른 문제가 발생하더라. 결국 포기.PP-OCRv5_server_rec 모델 사용
기본적으로 세로쓰기를 못 읽더라. 전처리한 데이터를 270도 돌려서 입력해 보았다.
의외로 괜찮았다. 특히 한자 읽는 실력은 manga-ocr보다 훨씬 뛰어났다.
하지만 세로쓰기 또는 만화 데이터셋으로 학습된 것이 아니다 보니, 특문과 촉음, 요음을 잘 감지하지 못했다.
여기서 나온 아이디어는, 두 가지의 OCR 데이터를 가지고 LLM에 박아넣는 것이다.
[Task] You are an expert manga translator/editor.
1. Analyze the OCR results (MangaOCR vs PaddleOCR) to determine the correct **Japanese source text**. Fix OCR errors (typos, missing characters).
2. Provide the corrected Japanese text in [READ].
3. Translate it into natural, context-aware **Korean** in [KO].
이런 식이다. (실제 프롬프트는 약 15000자이다)
그리고 이왕 여러 스텝으로 나뉜 겸에 파이프라인으로 돌아가는 걸 CLI로 개조해서 파일 하나로 딸깍, 하도록 만들어 봤다.
.json 출력도 .html 로 가공하도록 만들어 봤다.
결과
1 | 1 |
이런 느낌.
괜찮지 않나?
Ballontraslator 같은 것들도 artist CG는 이 정도 퀄리티로 못 뽑아냈던 거 같음. 애초에 다 뭉개버리지 않나?
어느 정도 만족한 겸 다음 진행해볼 작업 구상중이다.
배포용으로 Colab 원클릭 환경 구축
다른 스타일의 폰트, 테두리 등에 호환 가능하도록 개선
대사 위치 파악 후 식질 작업할 때 자동으로 가로배치 되도록 제안
이거 말고도 아이디어 있으면 편하게 제안해 줬으면 좋겠다.
결과가 만족스럽네.
이건 약간 고민되는 점인데 혹시 뭔가 해결책 있으면 조언 부탁
로컬이 CUDA 11.8 쓰는데 코랩은 아마 12 기반일듯. 우선 재설치가 가능하다고는 하는데 아마 디펜던시 문제 하나는 생길 것 같음
github에서 직접 가져와야 하는 라이브러리가 하나 있는데 이걸 원클릭으로 커버할 방법을 잘 모르겠음.
개인이 쓸 거면 drive에 넣어 두면 되는데, 코드 잘 모르는 사람이 하기엔 좀 복잡할 것 같기도
심지어 이 라이브러리가 numpy<2.0을 요구하는데 대부분의 다른 라이브러리가 numpy를 재설치시켜서 처음 환경 구축하기 어려울듯
그러니까 기본적으로 venv 디펜던시를 그대로 코랩으로 옮기는 건 어렵다고 알고는 있는데, 이거 쉽게 처리 가능한 방법 있을까?
코랩 구축해서 폰으로 '딸깍' 하고싶다.