팀 멤 버 김 유 진 , 김 송 성 ,
이 보 림 , 여 해 인
:
년 월 일 요일 날씨
2022 07 23 토
제목
박 종 은 ,
동덕여자대학교
컴퓨터학과
중앙대학교
소프트웨어학부
연세대학교
언더우드국제학부
고려대학교
통계학과
이화여자대학교
과학교육과
사용자의 글씨체를 학습하여 나만의 폰트로 일기를 쓰고, 사진을 업로드 하면

직접 그림을 그린 것처럼 변환하여 그림 일기를 쓸 수 있도록 하는 프로젝트
폰트팀 (김송성, 이보림, 박종은)
사용자만의 필기체를 최대한 간편하게 폰트로 구현하여, 사용자가 손으로 직접 쓴 듯한

일기를 제공하는 것
그림팀 (여해인, 김유진)
사용자가 사진을 업로드하면, 사진을 바탕으로 직접 그림 일기를 그린 것처럼 그림일기

스타일의 이미지를 생성하여 제공하는 것
Input Image
Output Image
Object Detection
Image Retrieve
& Replace
Sketch Filter Auto-Painter
YOLO-v5
대표적인 단일 단계 방식의 객체 탐지 알고리즘으로, 속도가 빠르기
전체 이미지를 한번에 학습하기 때문에, 낮은 background error를 가짐
선정 이유 :
때문에 모바일 환경에 적합할 것이라고 생각
(Detection)
Biomedical 분야에서 이미지 분할(Image Segmentation)을 목적으로
UNET 으로 edge detection 수행
제안된 End-to-End 방식의 Fully-Convolutional Network 기반 모델
UNET
(Auto-Painter)
Raw input를 그대로 받음으로써 공간적/지역적 정보를 유지한 채
CNN의 중요 포인트는 이미지 전체보다는 부분을 보는 것, 그리고
특성(feature)들의 계층을 쌓음.
이미지의 한 픽셀과 주변 픽셀들의 연관성을 살리는 것임.
CNN
(Auto-Painter)
객체 탐지 (object detection), 세그먼테이션

(segmentation), 키포인트 탐지 (keypoint

detection) 등의 컴퓨터 비전(computer vision)

분야의 task를 목적으로 만들어진 데이터셋
330K images (>200K labeled)
1.5 million object instances
80 object categories
91 stuff categories
5 captions per image
250,000 people with keypoints
Detection model : COCO Dataset
Image Retrieve : Sketchy Dataset
125 카테고리
75,471 개의 스캐치 데이터
Output Image
Sketch Filter
Object Detection
Input Image Image Retrieve & Replace
Auto-Painter
그림일기 형태의 스캐치를 만드는 과정을 GAN 모델을 활용하여 end-to-end로

구현하려고 시도했지만, 잘 되지 않음.
👎 데이터셋의 한계 : 전체적인 풍경 위주의 그림보다는 물체 위주의 스케치

데이터만 존재함. → 스케치 필터+ 스케치 이미지 검색으로 기능을 대신함.
그림일기 형태의 스캐치를 만드는 과정을 GAN 모델을 활용하여 end-to-end로

구현하려고 시도했지만, 잘 되지 않음.
👎 데이터셋의 한계 : 전체적인 풍경 위주의 그림보다는 물체 위주의 스케치

데이터만 존재함. → 스케치 필터+ 스케치 이미지 검색으로 기능을 대신함.
Sketchy Database에 존재하지 않는 물체가 많은 경우
-> 실제 사진과 너무 가깝게 스케치가 생성됨
물체의 Detection에 실패하는 경우
자동 채색 모델의 한계점 : Edge 가 흐릿한 경우에는
edge detection 에 실패해서 채색이 잘 이루어지지 않음
한글 11,172자 -> 막대한 시간 필요함
폰트 제작에 필요한 시간 대폭 감소
대표 글자
399자 입력
나머지
10,773자 출력
손글씨 특징 학습
1. 컴퓨터 폰트 학습하는 pre-train 단계
2. 실제 사람의 손글씨 학습하는
Transfer learning 단계
입력한 대표 글자의 특징 잘 학습하여 비슷한 스타일의 다른

글자를 생성해내도록 모델 학습
Style Transfer
Style Transfer
Original GAN
이미지를 생성하는 Generator 부분과 진짜와 가짜를 판별하는

Discriminator 부분이 경쟁하며 학습
Zi2zi, Neural-fonts
Pix2pix 모델에서 파생
입력 데이터 : 고딕체
출력 데이터 : 스타일 변환된 새로운 글자
Encoder와 Decoder로 구성
Encoder : 고딕체 글자의 특징을 효과적으로 추출하는 데 집중
Decoder : Encoder가 추출한 글자 특징 벡터와 style vector를 입력 받아

글자를 스타일에 맞게 복원
Generator의 구조
Style Vector
Unet 구조
Generator의 구조
https://jeinalog.tistory.com/15?category=878596
Pre-train
글자의 특징을 추출하고, 복원하는 방법 학습
대용량 데이터로 모델이 다양한 폰트 생성할 수 있도록 학습
-> 손글씨 대신 컴퓨터 폰트로 데이터셋 생성
style
vector
+
Transfer Learning
사람의 손글씨를 학습
-> 아주 적은 양의 데이터셋 (399자)
-> 더 적은 양의 데이터셋 (288자)
목표 : 적은 데이터로 사람의 글씨체 효과적으로 학습해서,
11,172자의 글자를 비슷한 글씨체로 생성해내는 것
Training Data
템플릿(399자)
송성체
데이터 생성
템플릿 크롭
Train data
399자
Validation data
11,172자
데이터 전처리
Erosion 연산, 이미지 균일화
https://www.dbpia.co.kr/Journal/articleDetail?nodeId=NODE10569094
전처리를 통해 향상된 DM-Font 기반의 사용자 손글씨 글꼴 제작 시스템
Erosion :
흰색부분 침식(검은 글자 팽창)
Dilation :
흰색부분 팽창(검은 글자 침식)
데이터 전처리 기준 : 껺, 흕, 뇶, 쁋, 찼
base
base + erosion
base +
이미지균일화
base + erosion
+ 이미지균일화
Denoising
+ dilation
데이터 후처리
denoising
dilation
기준 : 껺, 흕, 뇶, 쁋, 찼
결과
송성체 보림체
종은체
실제 손글씨와 비교
기:
린:
그:
림:
글자 수 줄이기
288자 (보림체)
보림체
자주 사용하는 단순한 글자들 잘 생성되지만 자주 사용하지 않는
생성하기까지 시간 많이 소요됨
특수문자 및 영어 폰트 생성하지 못함
복잡한 글자들은 제대로 생성되지 않음
보완할 점
(Figma)
(Figma)
(Figma)
(Figma)
(Figma)
!

제 16회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [기린그림 팀] : 사용자의 손글씨가 담긴 그림 일기 생성 서비스