가장 먼저 준비할 사항은 캡챠를 깨기 위한 코드를 작성한 후에 자동화 스크립트를 만드는 것이다. 이를 위해서 source()
함수를 사용해서 각 실행 단계별로 코드를 쭉 실행시킨다.
즉 각 단계별로 R 코드를 스크립트로 작성하여 순차적으로 실행시키고 이를 다시 run_main()
함수로 작성하여 작성한 딥러닝 모형 결과를 바로 확인할 수 있도록 코드를 작성한다.
run_main <- function() {
source("00-library.R")
source("01-ingest.R")
source("02-preprocess.R")
source("03-training.R")
source("04-evaluate.R")
}
run_main()
── Attaching packages ────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
✓ ggplot2 3.2.1 ✓ purrr 0.3.4
✓ tibble 2.1.3 ✓ dplyr 0.8.3
✓ tidyr 1.0.0 ✓ stringr 1.4.0
✓ readr 1.3.1 ✓ forcats 0.4.0
── Conflicts ───────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
x dplyr::filter() masks stats::filter()
x dplyr::lag() masks stats::lag()
Linking to ImageMagick 6.9.9.39
Enabled features: cairo, fontconfig, freetype, lcms, pango, rsvg, webp
Disabled features: fftw, ghostscript, x11
Attaching package: ‘glue’
The following object is masked from ‘package:dplyr’:
collapse
15.549 sec elapsed
----------------------------------------------------------------
- 정확도: 4.67 %
----------------------------------------------------------------
Warning messages:
1: package ‘purrr’ was built under R version 3.6.2
2: package ‘glue’ was built under R version 3.6.2
이미지 전처리를 통해서 Captcha 이미지에서 불필요하다고 생각되는 선을 제거한 후에 다시 OCR 엔진에 던져 정확도로를 확인한다.
이미지 전처리 전
캡챠 이미지를 전처리하여 OCR 엔진에 넣은 성능은 5.003 만큼 더 걸렸지만, 성능은 3.27 % 소폭 상승했다.
성능(이미지 전처리 전)