EMNIST에서 알파벳 필기 인식
EMNIST은 2017년에 NIST가 공개한 데이터세트입니다.
- EMNIST ByClass: 814,255 characters. 62 unbalanced classes.
- 대문자(26) + 소문자(26) + 숫자(10)
- 대문자(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를 생략한 것.
블렌드 상태는 아래 그림을 참조하십시오
- ByMerge와 Balanced
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 데이터를 사용했습니다.
이것에 대해서는 결론은 나오지 않지만 라벨에 대해서 데이터수가 적은 것이 원인일지도 모릅니다. 음 -
train | test | Label | |
---|---|---|---|
EMNIST-lettes | 124,800 | 20,800 | 26 |
TensorFLow | 88,800 | 14,800 | 37 |
- 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
Reference
이 문제에 관하여(EMNIST에서 알파벳 필기 인식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mbotsu/items/ac17f962eb4ab9fb37fd텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)