AWS의 이미지 인식 API Rekognition을 조금 시도해 보았습니다 (필기 텍스트 편)

개요



텍스트 검출을 할 수 있다는 것으로,
주로 필기의 여러가지 화상을 시험해 출력 결과를 봐 본다.

기본 구현



이런 느낌. S3의 배치나 준비에 대해서는 전회의 기사( htps : // 이 m / 성숙한 / ms / 35f1 884 3464b 247 )로 썼으므로 생략.
참고 : htps : // / cs. 아 ws. 아마존. 이 m / 레코 g에 치온 / ㅁ st / dg / 로 xt에서 c 친 g 로 xtp 로세즈레. HTML
import boto3

rekognition = boto3.client("rekognition", "us-east-1")
bucket = "fugaaaaaa"
key = {対象の画像ファイル名}

response = rekognition.detect_text(
        Image={
            "S3Object": {
                "Bucket": bucket,
                "Name": key,
            }
        }
    )

textDetections=response['TextDetections']
print(response)
for text in textDetections:
        print('Id: {}'.format(text['Id']))
        if 'ParentId' in text:
            print('ParentId: {}'.format(text['ParentId']))
        print('DetectedText:' + text['DetectedText'])
        print('Confidence: ' + "{:.2f}".format(text['Confidence']) + "%")
        print ('Type:' + text['Type'])


↑의 {대상의 화상 파일명}을 코로코로 바꾸어 출력한 결과를 기재해 간다.

케이스 1. 일본어 + 영어



대상 이미지





출력 결과


Id: 0
DetectedText:H
Confidence: 44.87%
Type:LINE
Id: 1
DetectedText:Tu.
Confidence: 83.65%
Type:LINE
Id: 2
DetectedText:O
Confidence: 54.09%
Type:LINE
Id: 3
DetectedText:Otofate
Confidence: 98.83%
Type:LINE
Id: 4
ParentId: 0
DetectedText:H
Confidence: 44.87%
Type:WORD
Id: 5
ParentId: 1
DetectedText:Tu.
Confidence: 83.65%
Type:WORD
Id: 6
ParentId: 2
DetectedText:O
Confidence: 54.09%
Type:WORD
Id: 7
ParentId: 3
DetectedText:Otofate
Confidence: 98.83%
Type:WORD

type:LINE이 4개라고 하는 것은, 4행 있다는 것을 알게 했다.
일본어는 대응하지 않는 것도 물론 전멸.
영어도 필기는 쓰는 방법의 버릇 덕분에 정답이 아니다. confidence98.83% 차우와.

케이스 2. 영어



대상 이미지





아. 오른쪽 상단에 예상치 못한 문자열이 들어갔다. 글쎄요?

출력 결과


Id: 0
DetectedText:Otofute
Confidence: 89.34%
Type:LINE
Id: 1
DetectedText:Life
Confidence: 98.02%
Type:LINE
Id: 2
DetectedText:(s
Confidence: 77.45%
Type:LINE
Id: 3
DetectedText:beautifo
Confidence: 92.57%
Type:LINE
Id: 4
DetectedText:fofofe
Confidence: 87.27%
Type:LINE
Id: 5
ParentId: 0
DetectedText:Otofute
Confidence: 89.34%
Type:WORD
Id: 6
ParentId: 1
DetectedText:Life
Confidence: 98.02%
Type:WORD
Id: 7
ParentId: 2
DetectedText:(s
Confidence: 77.45%
Type:WORD
Id: 8
ParentId: 3
DetectedText:beautifo
Confidence: 92.57%
Type:WORD
Id: 9
ParentId: 4
DetectedText:fofofe
Confidence: 87.27%
Type:WORD

Life 정답! ! 오른쪽 상단의 문자열이 맛있다! 그리고는 유감.
@는 읽지 않을거야.

케이스 3-1. 필기체



대상 이미지


  • Life is beautiful otofuke 라고 쓰고 있을 생각.



  • 출력 결과


    Id: 0
    DetectedText:ife
    Confidence: 85.33%
    Type:LINE
    Id: 1
    DetectedText:is
    Confidence: 96.76%
    Type:LINE
    Id: 2
    DetectedText:eautiful
    Confidence: 99.29%
    Type:LINE
    Id: 3
    DetectedText:ohuafe
    Confidence: 78.24%
    Type:LINE
    Id: 4
    ParentId: 0
    DetectedText:ife
    Confidence: 85.33%
    Type:WORD
    Id: 5
    ParentId: 1
    DetectedText:is
    Confidence: 96.76%
    Type:WORD
    Id: 6
    ParentId: 2
    DetectedText:eautiful
    Confidence: 99.29%
    Type:WORD
    Id: 7
    ParentId: 3
    DetectedText:ohuafe
    Confidence: 78.24%
    Type:WORD
    

    꽤 좋은 느낌? L은 이미지가 깨져 있으니까? b를 모르는 것은 수수께끼.
    u가 a로 보인다. 말해 보면. 마지막 행의 O 잘 알았구나. 나도 모르겠어.

    케이스 3-2. 필기체(L 끊어지지 않은 ver)



    정말 L은 보기 좋았으니까 읽을 수 없었는지 다시 확인

    대상 이미지





    출력 결과


    Id: 0
    DetectedText:dife
    Confidence: 96.99%
    Type:LINE
    Id: 1
    DetectedText:is feoutifal
    Confidence: 88.87%
    Type:LINE
    Id: 2
    DetectedText:oheke
    Confidence: 87.48%
    Type:LINE
    Id: 3
    ParentId: 0
    DetectedText:dife
    Confidence: 96.99%
    Type:WORD
    Id: 4
    ParentId: 1
    DetectedText:is
    Confidence: 95.39%
    Type:WORD
    Id: 5
    ParentId: 1
    DetectedText:feoutifal
    Confidence: 82.34%
    Type:WORD
    Id: 6
    ParentId: 2
    DetectedText:oheke
    Confidence: 87.48%
    Type:WORD
    

    확실히 L은 d로 보이지 않을지도. 차우와.
    beautiful는 흔적도 없어져 is와 행이 같다고 하고 있다. 차우와.
    같은 것을 촬영했는데 3-1보다 정확도가 왠지 떨어진다는 결과에.

    케이스 4.영어 프린트 문자



    대상 이미지



    이것이라면 전 정답 할 수 있어.



    출력 결과


    Id: 0
    DetectedText:notebook
    Confidence: 97.32%
    Type:LINE
    Id: 1
    DetectedText:subect:
    Confidence: 93.45%
    Type:LINE
    Id: 2
    ParentId: 0
    DetectedText:notebook
    Confidence: 97.32%
    Type:WORD
    Id: 3
    ParentId: 1
    DetectedText:subect:
    Confidence: 93.45%
    Type:WORD
    

    subject 제외하고 벌써.

    결론


  • 필기는 실용적인 정밀도가 아닙니다
  • 일본어를 읽을 수 없습니다
  • @도 읽을 수 없습니다
  • 필기체는 익숙한 사람의 글자라면 좀 정밀도 올라갈지도
  • 행 읽기는 비교적 정확합니다
  • 활자라도 개성 있는 글자는 실수한다

  • 이죠.

    좋은 웹페이지 즐겨찾기