2017-02-15 1 views
6

TensorFlow 및 Deep Learning을 처음 사용했습니다. 자연의 장면 이미지에서 텍스트를 인식하려고합니다. 나는 OCR 작업을 해왔지만 Deep Learning을 사용하고 싶습니다. 텍스트의 형식은 항상 ABC-DEF 88:88입니다.TensorFlow - 이미지의 텍스트 인식

내가 한 것은 모든 문자/숫자를 인식하는 것입니다. 그것은 내가 각 캐릭터 주위에 이미지를 자른 것을 의미하며 (그래서 각 그림은 나에게 10자를 준다) 내 훈련과 테스트 세트를 만들고 두 개의 conv 신경망을 만든다. 그래서 훈련 세트는 일련의 캐릭터 사진이었고 레이블은 문자/숫자였습니다.

하지만 나는 더 가고 싶습니다. 제가하고 싶은 것은 전체 사진을주고 전체 텍스트를 출력하는 것입니다 (예전 모델과 같은 한 문자가 아님).

도움을 주셔서 감사합니다.

답변

5

어려운 점은 텍스트의 위치를 ​​모른다는 것입니다. 해결 방법은 이미지가 주어지면 슬라이딩 창을 사용하여 이미지의 다른 부분을 잘라내어 분류자를 사용하여 잘린 영역에 텍스트가 있는지 결정해야합니다. 그렇다면 문자/숫자 인식기를 사용하여 실제로 어떤 문자/숫자인지 확인하십시오.

그래서 다른 분류자를 훈련시켜야합니다. 자른 이미지 (잘린 이미지의 크기가 텍스트 영역의 크기보다 약간 커야 함)가 주어진 경우 내부에 텍스트가 있는지 결정하십시오.

그냥 훈련 세트를 (양의 샘플 텍스트 영역 부정적인 샘플을 무작위로 큰 이미지에서 잘라낸 다른 영역입니다입니다) 구성하고 ~

+0

감사를 훈련하지만,이 분류는 (슬라이딩 윈도우)는 convnet해야 하는가? 훈련 세트는 다중 문자 영역 또는 단 한 문자 만 포함해야합니까? –

+1

TensorFlow, Caffe 또는 다른 심층 학습 프레임 워크를 사용하는 경우 convnet은 훌륭하고 구현하기 쉽지만 검색 단계가 느릴 수 있습니다 (이미지 전체에 걸쳐 창을 슬라이드해야하기 때문에 각 이미지가 있습니다. 많은 창). Haar와 같은 기능을 가진 부스팅 방법과 같은 다른 모델도 사용할 수 있습니다 (Google "haar like feature adaboost cascade"로 얼굴 인식에 많은 자료를 찾을 수 있음). – soloice

+0

@alexattia 교육 집합은 여러 문자를 포함하는 것이 좋습니다. 이렇게하면 더 큰 창을 가질 수 있고 위양성을 줄일 수 있습니다. 면적이 너무 작 으면 다른 것이 문자/숫자로보고됩니다. 알고리즘은 몇 자릿수의 세로 가장자리를 "1"로 간주 할 수 있습니다. – soloice