2017-04-25 4 views
7

Tensorflow가 새로 도입되었으며 내 이미지에서 OCR을 수행 할 수있는 모델을 만들려고합니다. 나는 9 문자 (모든 이미지에 고정), 숫자와 글자를 읽어야한다. 내 모델은 첫째 후에 전체 라벨이 표시 얻을 문자를 결합 I 각 문자에 대한 내 모델을 학습해야한다, 내 질문은 것이OCR 용 Tensorflow 모델

https://matthewearl.github.io/2016/05/06/cnn-anpr/

유사 할 것입니다. 아니면 풀 라벨로 똑바로 훈련해야합니까?

나는 이미지, 해당 이미지의 레이블, 해당 레이블의 형식, 텍스트 파일, 모델에 전달해야 함을 알고 있습니다. 그 부분에 대해 약간 혼란 스럽습니다. 모델에 전달되면 도움이 될까요? 고마워. 고마워.

+0

모든 라벨을 결합하여 교육하는 것이 좋습니다. 그것은 가장 깨끗한 해결책입니다. 실패하면 다른 방법을 시도해 볼 수 있습니다. 일반적으로 한 핫 인코딩 벡터를 레이블로 전달합니다. 예를 들어 개와 고양이의 경우, cat은'[1,0]'로 표시하고 개는'[0,1]'로 표시합니다. – niczky12

+0

감사합니다. 어떻게 "17C31T2F"레이블을 전달할 수 있습니까? –

+0

크기가 32px x 32px 인 손으로 쓴 기호의 [HASYv2 데이터 세트] (https://arxiv.org/abs/1701.08380)가 흥미로울 수 있습니다. –

답변

3

주의를 기울여 종단 간 OCR 모델을 교육하는 것이 좋습니다. 우리는 거리 이름의 대본을 쓰는 데 사용했던주의 OCR을 시도 할 수 있습니다. https://github.com/tensorflow/models/tree/master/research/attention_ocr

제 생각에는 귀하의 경우에 잘 작동해야합니다. 데이터를 준비하는 방법은 응답 https://stackoverflow.com/a/44461910을 참조하십시오.

+0

당신의 반응에 대해 Alexander에게 감사드립니다. 나는 당신이 제안한대로 행동하려고 노력할 것입니다. –

+0

안녕하세요 알렉산더, 당신은 관심의 ocr 모델이 번호판에서 작동한다고 생각합니까? 예 : 번호판은 다음과 같습니다. https://i.cbc.ca/1.3112890.1434422741!/fileImage/httpImage/image.jpg_gen/derivatives/16x9_620/kevin-eklund-rear-bike-rack.jpg 우리는 훈련 할 수있는 충분한 데이터가 있다고 가정합니다. 모델이 도달 할 수있는 대략적인 정확도는 무엇인지 알고 있습니까? 감사합니다. –

+0

@thug_ 주목을 받으려고 했습니까? 너에게 효과가 있니? 감사. –

2

다음과 같은 두 가지 방법으로 문제를 해결할 수 있습니다 (다음 목록은 완전한 것이 아닙니다).

1) 첫 번째 단어는 이미지에서 직접 단어를 분류하는 것입니다. 9 자의 어휘가 제한되어 있으면 단어 별 분류자를 훈련시킬 수 있습니다. 그런 다음이 분류 기준을 이미지와 컨벌루션하여 가장 높은 확률로 단어를 선택할 수 있습니다.

2) 두 번째 옵션은 문자 분류기를 학습하고 이미지의 모든 문자를 찾고 찾고있는 9 개의 문자가있는 가장 가능성있는 행을 찾는 것입니다.

3) 세 번째 옵션은 텍스트 감지기를 학습하고 가능한 모든 텍스트 상자를 찾는 것입니다. 그런 다음 시퀀스 기반 모델로 모든 텍스트 상자를 읽고 제약 조건에 가장 적합한 솔루션을 선택하십시오. 간단한 시퀀스 기반 모델은 다음의 논문에서 소개된다 : http://ai.stanford.edu/~ang/papers/ICPR12-TextRecognitionConvNeuralNets.pdf. 다른 시퀀스 기반 모델은 HMM, 연결주의 시간 분류,주의 기반 모델 등을 기반으로 할 수 있습니다.

4) 네 번째 옵션은 텍스트를 먼저 찾은 다음 출력하기 위해 엔드 투 엔드로 작동하는주의 기반 모델입니다 문자 하나씩.

이 목록은 완전하지는 않지만이 문제를 해결하는 데는 여러 가지 방법이있을 수 있습니다. 다른 옵션은 Abbyy 또는 Tesseract와 같은 타사 솔루션을 사용하여 문제를 해결할 수도 있습니다.

+0

감사합니다. 1, 2, 4에 사용할 수있는 예제가 있습니까? 어느 것이 가장 좋으며 어느 것이 가장 쉽고 왜 그런가요? –