EMNIST에서 알파벳 필기 인식

EMNIST-letters를 배웠습니다. CODE: htps // t. 코 / D3bP7tHq9 DEMO: htps // t. 코/8c20세 → pC 피 c. 라고 r. 코 m / gr66WGkQ 리 — mbotsu (@mb_otsu) September 17, 2020


EMNIST은 2017년에 NIST가 공개한 데이터세트입니다.



  • EMNIST ByClass: 814,255 characters. 62 unbalanced classes.

    • 대문자(26) + 소문자(26) + 숫자(10)


  • EMNIST ByMerge: 814,255 characters. 47 unbalanced classes.

  • EMNIST Balanced: 131,600 characters. 47 balanced classes.



    • ByMerge와 Balanced

      대문자(26) + abdefghnqrt(11) + 숫자(10)

      대문자로 쓰는 cijklmopsuvwxyz를 생략한 것.

      블렌드 상태는 아래 그림을 참조하십시오


  • EMNIST Letters: 145,600 characters. 26 balanced classes.



    • 대문자와 소문자 세트(26)

  • EMNIST Digits: 280,000 characters. 10 balanced classes.


  • EMNIST MNIST: 70,000 characters. 10 balanced classes.



    • Digits와 MNIST는 원래 MNIST와 호환되는 필기 숫자입니다





농담



  • TensorFlow 데이터 세트에서 잘 인식하지 못합니까?

    처음에는 TensorFlow 데이터 세트를 사용했지만 필기 문자가 인식되지 않았기 때문에 원래 EMNIST-lettes 데이터를 사용했습니다.

    이것에 대해서는 결론은 나오지 않지만 라벨에 대해서 데이터수가 적은 것이 원인일지도 모릅니다. 음 -

























traintestLabel
EMNIST-lettes 124,80020,80026
TensorFLow 88,80014,80037


  • EMNIST-lettes는 라벨이 1로 시작하는 문제

    byclass는 0에서 시작하지만 letters는 1에서 시작했습니다.

    트레이닝에는 tf.data.Dataset.from_tensor_slices 을 사용했으므로, 0부터 시작하지 않으면 라벨수가 올바르게 취급할 수 없기 때문에 조정을 실시했습니다.


x_train, y_train = extract_training_samples("letters")
np.unique(y_train)


array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17,
       18, 19, 20, 21, 22, 23, 24, 25, 26], dtype=uint8)


y_train = y_train - 1
np.unique(y_train)


array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16,
       17, 18, 19, 20, 21, 22, 23, 24, 25], dtype=uint8)


전체 처리



기본적인 처리는 Keras를 사용하여 MNIST에서 신경망 교육을 참조했습니다.



WEB에서의 표시나 모델은 How to distribute a Tensorflow model as a JavaScript web app를 참조했습니다.



이번 시도한 코드는 GitHub에 올리고 있습니다.



이상. 나중에 조사하는 분의 참고가 되면 좋겠습니다.



후일담 (2020/10/02)



EMNIST: 필기 알파벳 및 숫자 이미지 데이터 세트 에 tfds 자료는 transpose가 필요로 했기 때문에 시도해 보면 인식하게 되었다.



실험 노트

htps : // 기 st. 기주 b. 이 m/m 흐림/bf4d16df4020b9c3630 00 32d5 88


좋은 웹페이지 즐겨찾기