80개 이상의 지원 언어와 라틴어, 중국어, 아랍어, 데바나가리 문자, 키릴 문자 등을 포함한 모든 인기 있는 쓰기 스크립트를 갖춘 즉시 사용 가능한 OCR입니다.
웹사이트에서 데모를 사용해 보세요
Huggingface Spaces에 통합되었나요? 그라디오를 사용하여 웹 데모를 사용해 보세요:
2024년 9월 24일 - 버전 1.7.2
모든 릴리스 노트 읽기
pip
사용하여 설치
최신 안정 릴리스의 경우:
pip install easyocr
최신 개발 릴리스의 경우:
pip install git+https://github.com/JaidedAI/EasyOCR.git
참고 1: Windows의 경우 https://pytorch.org의 공식 지침에 따라 먼저 torch와 torchvision을 설치하세요. pytorch 웹사이트에서 보유하고 있는 올바른 CUDA 버전을 선택하세요. CPU 모드에서만 실행하려면 CUDA = None
선택하세요.
참고 2: 여기에서는 Dockerfile도 제공합니다.
import easyocr
reader = easyocr . Reader ([ 'ch_sim' , 'en' ]) # this needs to run only once to load the model into memory
result = reader . readtext ( 'chinese.jpg' )
출력은 목록 형식이며 각 항목은 각각 경계 상자, 감지된 텍스트 및 신뢰 수준을 나타냅니다.
[([[189, 75], [469, 75], [469, 165], [189, 165]], '愚园路' , 0.3754989504814148),
([[86, 80], [134, 80], [134, 128], [86, 128]], '西' , 0.40452659130096436),
([[517, 81], [565, 81], [565, 123], [517, 123]], '东' , 0.9989598989486694),
([[78, 126], [136, 126], [136, 156], [78, 156]], ' 315 ' , 0.8125889301300049),
([[514, 126], [574, 126], [574, 156], [514, 156]], ' 309 ' , 0.4971577227115631),
([[226, 170], [414, 170], [414, 220], [226, 220]], ' Yuyuan Rd. ' , 0.8261902332305908),
([[79, 173], [125, 173], [125, 213], [79, 213]], ' W ' , 0.9848111271858215),
([[529, 173], [569, 173], [569, 213], [529, 213]], ' E ' , 0.8405593633651733)]
참고 1: ['ch_sim','en']
읽고 싶은 언어 목록입니다. 한 번에 여러 언어를 통과할 수 있지만 모든 언어를 함께 사용할 수는 없습니다. 영어는 모든 언어와 호환되며 공통 문자를 공유하는 언어는 일반적으로 서로 호환됩니다.
참고 2: 파일 경로 chinese.jpg
대신 OpenCV 이미지 객체(numpy 배열) 또는 이미지 파일을 바이트로 전달할 수도 있습니다. 원시 이미지에 대한 URL도 허용됩니다.
참고 3: 줄 reader = easyocr.Reader(['ch_sim','en'])
모델을 메모리에 로드하기 위한 것입니다. 시간이 좀 걸리지만 한 번만 실행하면 됩니다.
더 간단한 출력을 위해 detail=0
설정할 수도 있습니다.
reader . readtext ( 'chinese.jpg' , detail = 0 )
결과:
[ '愚园路' , '西' , '东' , ' 315 ' , ' 309 ' , ' Yuyuan Rd. ' , ' W ' , ' E ' ]
선택한 언어에 대한 모델 가중치가 자동으로 다운로드되거나 모델 허브에서 수동으로 다운로드하여 '~/.EasyOCR/model' 폴더에 넣을 수 있습니다.
GPU가 없거나 GPU의 메모리가 부족한 경우 gpu=False
추가하여 CPU 전용 모드에서 모델을 실행할 수 있습니다.
reader = easyocr . Reader ([ 'ch_sim' , 'en' ], gpu = False )
자세한 내용은 튜토리얼과 API 문서를 읽어보세요.
$ easyocr -l ch_sim en -f chinese.jpg --detail=1 --gpu=True
인식 모델에 대해서는 여기를 읽어보세요.
감지 모델(CRAFT)의 경우 여기를 읽어보세요.
reader = easyocr . Reader ([ 'en' ], detection = 'DB' , recognition = 'Transformer' )
아이디어는 모든 최첨단 모델을 EasyOCR에 연결할 수 있다는 것입니다. 더 나은 감지/인식 모델을 만들려고 노력하는 천재들이 많이 있지만 여기서는 우리가 천재가 되려고 노력하는 것이 아닙니다. 우리는 그들의 작품을 대중이 무료로 빠르게 접근할 수 있도록 하고 싶습니다. (음, 우리는 대부분의 천재들이 자신의 작업이 가능한 한 빠르고 크게 긍정적인 영향을 미치기를 원한다고 믿습니다.) 파이프라인은 아래 다이어그램과 같아야 합니다. 회색 슬롯은 변경 가능한 밝은 파란색 모듈을 위한 자리 표시자입니다.
이 프로젝트는 여러 논문과 오픈 소스 저장소의 연구와 코드를 기반으로 합니다.
모든 딥러닝 실행은 Pytorch를 기반으로 합니다. ❤️
탐지 실행은 이 공식 저장소와 해당 논문의 CRAFT 알고리즘을 사용합니다(@clovaai의 @YoungminBaek에게 감사드립니다). 우리는 또한 사전 훈련된 모델을 사용합니다. 훈련 스크립트는 @gmuffiness에서 제공됩니다.
인식 모델은 CRNN(종이)입니다. 이는 특징 추출(현재 Resnet을 사용하고 있음)과 VGG, 시퀀스 라벨링(LSTM) 및 디코딩(CTC)의 3가지 주요 구성 요소로 구성됩니다. 인식 실행을 위한 훈련 파이프라인은 딥 텍스트 인식 벤치마크 프레임워크의 수정된 버전입니다. (@clovaai의 @ku21fan에게 감사드립니다.) 이 저장소는 더 많은 인정을 받을 가치가 있는 보석입니다.
빔 검색 코드는 이 저장소와 그의 블로그를 기반으로 합니다. (@githubharald에게 감사드립니다)
데이터 합성은 TextRecognitionDataGenerator를 기반으로 합니다. (@Belval에게 감사드립니다)
여기 disstill.pub에서 CTC에 대해 읽어보세요.
모두가 AI를 사용할 수 있도록 하여 함께 인류를 발전시키자!
기여하는 3가지 방법:
Coder: 작은 버그/개선 사항에 대해서는 PR을 보내주세요. 더 큰 문제의 경우 먼저 문제를 열어서 논의해 보세요. 'PR WELCOME' 태그가 붙은 가능한 버그/개선 문제 목록이 있습니다.
사용자: EasyOCR이 귀하/귀하의 조직에 어떤 이점을 제공하여 추가 개발을 장려하는지 알려주십시오. 또한 문제 섹션에 실패 사례를 게시하여 향후 모델을 개선하는 데 도움을 주세요.
기술 리더/전문가: 이 라이브러리가 유용하다고 생각되면 널리 알려주세요! (EasyOCR에 대한 Yann Lecun의 게시물 참조)
새로운 언어를 요청하려면 다음 2개의 파일이 포함된 PR을 보내야 합니다.
귀하의 언어에 고유한 요소가 있는 경우(예: 1. 아랍어: 문자가 서로 붙을 때 형태가 변경됨 + 오른쪽에서 왼쪽으로 쓰기 2. 태국어: 일부 문자는 줄 위에 있어야 하고 일부 문자는 아래에 있어야 함) 최선을 다해 교육해 주세요. 귀하의 능력에 대해 설명하고/하거나 유용한 링크를 제공하십시오. 실제로 작동하는 시스템을 달성하려면 세부 사항을 관리하는 것이 중요합니다.
마지막으로, 우리의 우선순위는 널리 사용되는 언어 또는 문자의 상당 부분을 서로 공유하는 언어 집합에 적용되어야 한다는 점을 이해해 주시기 바랍니다(귀하의 언어에도 해당되는지 알려주십시오). 새로운 모델을 개발하는 데는 최소 일주일이 소요되기 때문에 새로운 모델이 출시될 때까지 좀 기다려야 할 수도 있습니다.
개발 중인 언어 목록 보기
제한된 리소스로 인해 6개월이 지난 이슈는 자동으로 종료됩니다. 중요한 문제인 경우 문제를 다시 열어주세요.
엔터프라이즈 지원을 위해 Jaided AI는 구현, 교육/미세 조정 및 배포까지 맞춤형 OCR/AI 시스템에 대한 전체 서비스를 제공합니다. 문의하려면 여기를 클릭하세요.