ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [한글 OCR] 2.2 글자 학습
    카테고리 없음 2022. 9. 3. 22:00

    이전 시간에는 한 글자만 데이터를 만들어서 학습을 진행했는데

     

    이번에는 아래 조합으로 데이터를 만들고 학습하려고 한다.

    - 길이 -

    1. 한 글자

    2. 단어

     

    - 조합 -

    1. 한글

    2. 영어

    3. 숫자(숫자 + 특수문자)

    4. 한글 + 영어

    5. 한글 + 숫자

     

    - 크기 -

    1. 소

    2. 중

    3. 대

     

     

    한글 단어는 국어국립원에서 데이터를 얻고 중복값을 제거 후 테스트파일로 만들었다.

    ko_dic.txt
    0.05MB

    데이터를 만들 테스트 파일이다.

    en.txt
    4.64MB
    en_one.txt
    0.00MB
    ko_one.txt
    0.01MB
    koAndNum_one.txt
    0.01MB
    num.txt
    0.00MB

     

     

    사용한 명령어다.

    한글 한글자
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_one.txt -k 5 -rk -na 2 -f 64 -t 8 --output_dir out/vaild/Ko_one_64/   V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_one.txt -k 5 -rk -na 2 -f 96 -t 8 --output_dir out/vaild/Ko_one_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_one.txt -k 5 -rk -na 2 -f 128 -t 8 --output_dir out/vaild/Ko_one_128/     V
    
    한글 한글자 여러개
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_one.txt -k 5 -rk -na 2 -f 64 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/Ko_ones_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_one.txt -k 5 -rk -na 2 -f 96 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/Ko_ones_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_one.txt -k 5 -rk -na 2 -f 128 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/Ko_ones_128/     V
    
    한글 단어
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_dic.txt -k 5 -rk -na 2 -f 64 -t 8 --output_dir out/vaild/Ko_dic_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_dic.txt -k 5 -rk -na 2 -f 96 -t 8 --output_dir out/vaild/Ko_dic_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_dic.txt -k 5 -rk -na 2 -f 128 -t 8 --output_dir out/vaild/Ko_dic_128/     V
    
    한글 단어 여러개
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_dic.txt -k 5 -rk -na 2 -f 64 -t 8 -w 5 -r --output_dir out/vaild/Ko_dics_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_dic.txt -k 5 -rk -na 2 -f 96 -t 8 -w 5 -r --output_dir out/vaild/Ko_dics_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/ko_dic.txt -k 5 -rk -na 2 -f 128 -t 8 -w 5 -r --output_dir out/vaild/Ko_dics_128/     V
    
    
    영어 한글자 여러개
    python run.py -c 100000 -fd fonts/ko -dt dicts/en_one.txt -k 5 -rk -na 2 -f 64 -t 8 -w 20 -r -sw 0 --output_dir out/vaild/En_ones_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/en_one.txt -k 5 -rk -na 2 -f 96 -t 8 -w 20 -r -sw 0 --output_dir out/vaild/En_ones_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/en_one.txt -k 5 -rk -na 2 -f 128 -t 8 -w 20 -r -sw 0  --output_dir out/vaild/En_ones_128/     V
    
    영어 단어
    python run.py -c 100000 -fd fonts/ko -dt dicts/en.txt -k 5 -rk -na 2 -f 64 -t 8 --output_dir out/vaild/En_dic_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/en.txt -k 5 -rk -na 2 -f 96 -t 8 --output_dir out/vaild/En_dic_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/en.txt -k 5 -rk -na 2 -f 128 -t 8 --output_dir out/vaild/En_dic_128/     V
    
    영어 단어 여러개
    python run.py -c 100000 -fd fonts/ko -dt dicts/en.txt -k 5 -rk -na 2 -f 64 -t 8 -w 5 -r --output_dir out/vaild/En_dics_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/en.txt -k 5 -rk -na 2 -f 96 -t 8 -w 5 -r --output_dir out/vaild/En_dics_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/en.txt -k 5 -rk -na 2 -f 128 -t 8 -w 5 -r --output_dir out/vaild/En_dics_128/     V
    
    숫자 한글자 여러개
    python run.py -c 100000 -fd fonts/ko -dt dicts/num.txt -k 5 -rk -na 2 -f 64 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/nums_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/num.txt -k 5 -rk -na 2 -f 96 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/nums_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/num.txt -k 5 -rk -na 2 -f 128 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/nums_128/     V
    
    
    숫자 + 한글
    python run.py -c 100000 -fd fonts/ko -dt dicts/koAndNum_one.txt -k 5 -rk -na 2 -f 64 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/koAndnums_64/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/koAndNum_one.txt -k 5 -rk -na 2 -f 96 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/koAndnums_96/     V
    python run.py -c 100000 -fd fonts/ko -dt dicts/koAndNum_one.txt -k 5 -rk -na 2 -f 128 -t 8 -w 10 -r -sw 0 --output_dir out/vaild/koAndnums_128/

     

     

     

    모델을 학습하려고 했는데 학습이 진행이 안되서 원인을 찾았다.

    Vaild 데이터가 너무 많아서 학습하는데 오래걸리는 것을 확인했다.

     

    그래서 Vaild 데이터를 90% 줄이고 학습을 진행하려고 한다.

     

     

     

    데이터가 많아서 학습하는데 오랜시간이 걸렸다.

     

    아래는 도로명 주소를 캡처해서 인식한 결과다.

    아래는 영수증을 촬영해서 인식한 결과다.

    .

    그래도 이전보다 많이 개선되었지만, 영수증 인식은 많이 부족해 보인다.

     

    학습을 해보니 데이터가 다양하고 많을 수 록 결과가 좋다는 것을 알았다.

    또한 그만큼 학습하는데 오랜시간이 걸리는 것을 알게되었다.

     

    그래서 이번 OCR은 영수증을 인식하는 데 중점으로 하는 것을 목표로 설정했다.

     

     

    앞으로 계획은 직접 영수증을 라벨링해서 다시 학습하려고 한다.

     

Designed by Tistory.