Skip to content

sunnydaisy/Text-Contour

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Text-Contour

  • 머신러닝과 OpenCV 활용한 글자 검출
    • 외국인을 위한 메뉴판 번역 기능에 추가하는 용도이므로 메뉴판 글씨 인식에 초점을 맞춤
    • 이미지 내에서 글자 윤곽선을 찾아 그룹으로 추출해 내기 (텍스트 덩어리 추출)
  • naver d2 참조 https://d2.naver.com/helloworld/8344782

이미지 수집

  • 구글 이미지 수집 라이브러리인 google_images_download 사용
  • 이미지 수집 대상

    창문, 창틀, 모델하우스, 자막, 포스터, 메뉴판, 맛집, homebaking, 메뉴판 디자인, 메뉴판 일러스트, 음식 메뉴 아이콘

    • 창문 틀, 상자, 안경과 같은 이미지도 바운딩 박스처리 되므로 제거 필요
    • 글자 이미지는 1폴더 글자가 아닌 이미지는 0폴더에 저장

영상처리

  • gray 변환

    • 글자 검출에는 색이 필요 없으므로 회색조(gray scale) or 흑백(binary)로 변환하여 추출
  • 모폴로지기법 MORPH_GRADIENT

    • dilation과 erosion 이미지 차이
  • Adaptive threshold

    • 임계값 적용하면 불필요한 영역 잡영(noise) 제거하는 효과 있어 사물 탐지할 때 Contour 추출 가능
      • original, global, mean, gaussian 중 mean 선택
  • morphology close

    • Opening과 반대로 Dilation 연산을 먼저 적용한 후, Erosion 연산을 적용한다.
    • 오브젝트에 있는 작은 검은색 구멍들을 메우는데 사용
  • houghlinesp

    • 허프변환 통해 직선 찾기
  • bounding box 처리

    • 바운딩 박스부분만 따로 이미지 저장
    • 너무 작은 이미지는 수집되지 않도록 함
  • NMS(non_max_suppression) 함수 사용

_11 21preprocessing9 _11 21preprocessing12 11 22preprocessing2

모델링

  • 이미지 bottleneck으로 변경 라벨은 폴더 명으로 지정
  • Imagenet의 Inception 모델 가중치 사용하여 학습 진행
    • final layer 추가
    • Cross entropy 함수: Softmax
    • Optimizer: Gradient Descent Optimizer (경사하강법)

Softmax vs Sigmoid

  • Sigmoid는 Softmax의 특수 케이스로 클래스 개수만 2개일 뿐 같은 연산 수행
  • Softmax는 멀티 클래스에서 동작
  • Softmax_cross_entropy_with_logits vs v2: v2의 경우 Logits 및 Label이 모두 backpropagate 됨

img3_k10

About

딥러닝과 OpenCV 활용한 글자 검출

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages