일반 소개
RolmOCR은 Qwen2.5-VL-7B 시각 언어 모델을 기반으로 Reducto AI 팀에서 개발한 오픈 소스 광학 문자 인식(OCR) 도구입니다. 유사한 도구보다 이미지와 PDF 파일에서 텍스트를 더 빠르게 추출할 수 있습니다. olmOCR 더 빠르고 더 적은 메모리 사용량.RolmOCR은 PDF 메타데이터에 의존하지 않기 때문에 손글씨 메모와 학술 논문 등 다양한 문서 유형을 지원하면서 처리를 간소화합니다. 개인과 개발자가 무료로 사용, 수정 또는 통합할 수 있도록 Apache 2.0 라이선스에 따라 배포되며, Reducto 팀은 문서 디지털화의 효율성을 높이기 위해 모델을 업데이트하고 학습 데이터를 최적화하여 이 도구를 구축했습니다.


기능 목록
- 빠른 텍스트 추출: 많은 수의 문서에 대해 빠른 처리 속도로 이미지와 PDF에서 텍스트를 추출합니다.
- 다양한 문서 지원: 손글씨 메모, 인쇄된 문서, 복잡한 양식을 인식합니다.
- 오픈 소스 및 무료: Apache 2.0 라이선스에 따라 공개되며, 코드를 자유롭게 다운로드하고 수정할 수 있습니다.
- 낮은 메모리 사용량: 다음과 비교 olmOCR 실행 시 리소스 효율성이 향상되고 컴퓨터 요구 사항이 낮아집니다.
- 메타데이터 필요 없음: PDF의 추가 정보에 의존하지 않고 원본 문서를 직접 처리합니다.
- 기울어진 문서 인식 개선: 학습 데이터의 15%를 회전하여 직각이 아닌 문서에 대한 적응력을 높입니다.
- 최신 모델 기준: 인식 정확도와 효율성을 향상시키기 위해 Qwen2.5-VL-7B를 채택했습니다.
도움말 사용
RolmOCR은 주로 코드를 통해 실행되는 오픈 소스 도구로, 기본적인 프로그래밍 기술을 갖춘 사용자에게 적합합니다. 다음은 자세한 설치 및 사용 가이드입니다.
설치 프로세스
- Python 환경 확인
RolmOCR에는 Python 3.8 이상이 필요합니다. 명령줄을 열고 다음과 같이 입력합니다.python --version
버전을 확인합니다. 설치되어 있지 않은 경우 Python 웹사이트로 이동하여 다운로드하여 설치하세요. - vLLM 프레임워크 설치
RolmOCR 사용법 vLLM 모델을 실행합니다. 명령줄에 입력합니다:
pip install vllm
설치가 완료되면 환경 변수를 설정합니다:
export VLLM_USE_V1=1
이렇게 하면 vLLM이 제대로 작동합니다.
- RolmOCR 모델 다운로드
모델 파일은 Hugging Face에서 호스팅됩니다. https://huggingface.co/reducto/RolmOCR 으로 이동하여 '파일 및 버전'을 클릭하여 다운로드하세요. 또는 명령줄에서 가져옵니다:
git clone https://huggingface.co/reducto/RolmOCR
- 로컬 서비스 시작
다운로드한 모델 폴더로 이동하여 실행합니다:
vllm serve reducto/RolmOCR
서비스가 시작되면 기본 주소는 다음과 같습니다. http://localhost:8000/v1
. 명령줄 창을 열어 두세요.
사용법
RolmOCR은 API 호출을 통해 텍스트를 추출합니다. 정확한 단계는 다음과 같습니다.
문서 준비
인식할 파일(예: 이미지(PNG/JPG) 또는 PDF)을 준비합니다. 파일 경로가 다음과 같다고 가정합니다. test_doc.png
.
API를 호출하여 텍스트 추출하기
파이썬으로 스크립트를 작성하여 파일을 base64 인코딩으로 변환하고 RolmOCR로 전송합니다. 샘플 코드는 다음과 같습니다:
from openai import OpenAI
import base64
# 连接本地服务
client = OpenAI(api_key="123", base_url="http://localhost:8000/v1")
model = "reducto/RolmOCR-7b"
# 图片转 base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")
# 调用 RolmOCR 提取文字
def ocr_page_with_rolm(img_base64):
response = client.chat.completions.create(
model=model,
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_base64}"}},
{"type": "text", "text": "把这张图片里的文字提取出来,像人读的那样自然返回。"}
]
}
],
temperature=0.2,
max_tokens=4096
)
return response.choices[0].message.content
# 运行示例
test_img_path = "test_doc.png"
img_base64 = encode_image(test_img_path)
result = ocr_page_with_rolm(img_base64)
print(result)
다른 이름으로 저장(파일) ocr_test.py
를 클릭한 다음 실행합니다:
python ocr_test.py
예를 들어 프로그램은 추출된 텍스트를 반환합니다:
会议记录
2025年4月7日
- 项目计划讨论
- 准备相关资料
배치 파일
여러 파일을 처리하려면 코드를 다시 작성하세요. 파일 경로를 목록에 넣고 루프에서 호출합니다:
file_paths = ["doc1.png", "doc2.png", "doc3.png"]
for path in file_paths:
img_base64 = encode_image(path)
result = ocr_page_with_rolm(img_base64)
print(f"{path} 的结果:\n{result}\n")
주요 기능 작동
- 필기 인식
RolmOCR은 손글씨를 인식합니다. 예를 들어, "Deepseek Coder"라고 적힌 메모를 "OCLM"으로 착각하지 않고 정확하게 출력합니다. 이미지를 업로드하면 결과가 자연스러운 순서로 정렬됩니다. - 왜곡된 문서 처리
15%는 훈련 데이터에서 회전되므로 기울어진 문서에 더 잘 적응할 수 있습니다. 예를 들어 기울어진 스캔에서도 텍스트가 올바르게 추출됩니다. - 메모리 부족 작업
메타데이터에 대한 의존성이 없고, 힌트 길이가 짧으며, 처리에 사용되는 그래픽 메모리(VRAM)가 적습니다. 낮은 사양의 컴퓨터에 적합합니다.
주의
- 서비스 중단서비스를 시작한 후 명령줄 창을 닫지 않으면 API가 중지됩니다.
- 메모리 부족컴퓨터에 메모리가 충분하지 않은 경우 다음과 같이 vLLM 매개 변수를 조정할 수 있습니다.
per_device_train_batch_size
를 사용하여 리소스 요구 사항을 줄입니다. - 제한 사항메타데이터가 없는 복잡한 표를 불완전하게 인식하거나 대비가 낮은 작은 텍스트를 RolmOCR이 놓칠 수 있습니다. 이미지 품질을 최적화한 후 다시 시도하는 것이 좋습니다.
- 레이아웃 상자는 지원되지 않습니다.: Reducto의 상용 API와 달리 RolmOCR은 텍스트에 대한 바운딩 박스를 출력할 수 없습니다.
이 단계를 통해 사용자는 쉽게 RolmOCR을 설치하고 사용하여 문서에서 텍스트를 빠르게 추출할 수 있습니다.
애플리케이션 시나리오
- 학술 연구
학생과 연구자는 RolmOCR을 사용해 손으로 쓴 노트나 오래된 문서를 전자 텍스트로 스캔하여 쉽게 정리하고 검색할 수 있습니다. - 엔터프라이즈 문서 처리
이 회사는 이를 통해 계약서와 봉투에서 텍스트를 추출하여 시스템에 입력함으로써 수작업을 줄일 수 있습니다. - 다국어 지원
중국어와 영어가 혼합된 문서나 프랑스어로 된 손글씨 편지를 처리하여 정보를 신속하게 추출하고 국경을 넘나드는 커뮤니케이션에 적합합니다.
QA
- RolmOCR과 olmOCR의 차이점은 무엇인가요?
RolmOCR은 더 빠르고, 메모리 사용량이 적으며, 메타데이터를 사용하지 않고, 왜곡된 문서에 더 강한 업데이트된 Qwen2.5-VL-7B 모델을 기반으로 합니다. - 오프라인에서도 사용할 수 있나요?
할 수 있습니다. 인터넷 연결 없이도 모델을 다운로드하고 로컬 서비스를 시작하기만 하면 됩니다. - 양식 인식을 지원하나요?
지원되지만 학술 논문의 부제목과 같이 메타데이터가 없는 복잡한 표의 일부가 누락될 수 있습니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 게시물
댓글 없음...