끄적거림

[데이터셋] PHD08 한글 손글씨 이미지 데이터 본문

Python/Data Handling

[데이터셋] PHD08 한글 손글씨 이미지 데이터

Signing 2020. 10. 26. 14:55
728x90
반응형

딥러닝, 특히 CNN에서 가장 먼저 접하는 데이터셋이 바로 MNIST일거라 생각된다.

MNIST는 0~9까지의 숫자에 대한 손글씨 이미지 데이터이다.

해외에서 공인된 데이터인만큼 데이터를 얻기도 매우 수월하다.(API등과 같은 방법으로)

 

반면에, 한글에 대한 손글씨 이미지는 찾기 힘들다.

 

관련해서 구글링하던 중에 한글 손글씨 이미지 데이터를 발견하여 공유하고자 한다.

 

 

 

PHD08

www.dropbox.com/s/69cwkkqt4m1xl55/phd08.alz?dl=0

 

phd08.alz

Dropbox를 통해 공유함

www.dropbox.com

2008년에 한글 손글씨 이미지 데이터 구축사업이 전북대에서 진행되었다고 한다.

구축 사업과 관련한 논문

덕분에 방대한양의 한글데이터를 얻을 수 있었다.

다만 한글의 낱글자에 대한 모든 데이터가 각각 2000개가 넘는 파일들이기 때문에 굉장히 방대한 양이라 할 수 있다.

(컴퓨터 용량은 8기가 정도 차지하는 것 같다.)

 

 

위의 드롭박스 링크에서 데이터를 다운받으면 다음과 같은 txt파일들이 떨어진다.

 

phd08 데이터 샘플

 

여기서 해당 파일을 하나 열어보면 그림과 같다.

 

'가' 글자에 대한 샘플

0과 1로 binary 코딩이 되어있고, 각기 다른 size(height, width)를 갖고 있다. 또한 이런 글자들이 아래로 쭈욱 붙어 있기 때문에 이에 대한 전처리가 필요한 상황이다.

 

다행스럽게도 누군가가 이를 이미지 파일로 하나씩 떨구게 만들 수 있는 python 파일을 깃헙에 올려주셨다.

github.com/sungjunyoung/phd08-conversion

 

sungjunyoung/phd08-conversion

phd08 데이터셋을 .png 로 저장하거나, 일정한 크기의 np.array 로 변환해 줍니다. - sungjunyoung/phd08-conversion

github.com

 

python 초보 입장에서는 코드가 있다고 하더라도 무슨 말인지 몰랐었다.

 

몇 번의 시행착오를 통해 바꾸는 방법을 알았고 이를 공유하고자 한다.

 


 

1. 먼저, 위의 깃헙에 있는 자료들을 다운받는다.

 

2. cmd 창을 열어서 해당 자료들이 있는 위치로 이동한다.

 

3. 여기까지 준비가 잘 되었는지를 아래 코드로 확인해본다.

python phd08_to_png.py --help

 

 

4. 샘플 예제로 실행시켜보자.

# python phd08_to_png.py --data_dir=DATA_DIR [--width=WIDTH] [--height=HEIGHT] [--gaussian_sigma=GAUSSIAN_SIGMA]
python phd08_to_png.py --data_dir=phd08_input_samples

 

그러면 이렇게 진행되고 있다는 문구가 뜨면서,

 

새로운 폴더가 생성된다.

 

 

시간이 진짜 많이 걸리니 원하는 데이터만 뽑아서 진행하는것도 하나의 방법이다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형
Comments