오늘부터 3주간 컴퓨터 비전과 OCR에 대해서 배우게 되었다.
제조, 금융 회사 6년간 현업으로 일하면서 이쪽은 접해보지 못했던 분야라서
기대가 된다.

01. 인공지능, 머신러닝, 딥러닝, 컴퓨터 비전 관계

  • AI (Artificial Intelligence): 인간처럼 학습·추론·적응하는 시스템
  • ML (Machine Learning): 데이터 기반 패턴 학습
  • DL (Deep Learning): 신경망 기반 ML의 하위 분야
  • CV (Computer Vision): 이미지·영상 인식 및 분석

02. 컴퓨터 비전 활용 사례

  • AI 프로필 생성 (스노우, 미드저니, 달리 등)
  • 자율 주행 (자동차, 드론, 로봇)
  • 의료 영상 분석 (X-ray, MRI)
  • 객체 분할 (Segment Anything Model)
  • DeepFake, AI Art
  • Pose Estimation
  • OCR (광학 문자 인식)
  • 얼굴 인식 (Face Recognition)

03. 전통적 컴퓨터 비전 vs 딥러닝 기반

04. 컴퓨터 비전의 어려움

  • 사람에겐 쉬운 것 → 컴퓨터에겐 어려움
  • 예시:
    • 관점 변화 (자유의 여신상)
    • 광원 변화 (펭귄)
    • 다양한 종류 (의자)

05. OCR (Optical Character Recognition)

  • 이미지 속 글자 인식
  • 신분증, 간판, 카드, 문서 디지털화 등 활용

06. Tesseract OCR

  • 1990 HP 개발 → 2005 오픈소스 공개 → Google 지원
  • 장점: 다국어 지원, 무료, 인식률 높음
  • 단점: 한국어 한계 → Clova, Upstage API 활용 가능

(1) 워크플로우

Input → Pre-Processor → OCR Engine → Post-Processor → Text
  • Pre-Processor: 이진화, 크기 조정
  • Leptonica: 이미지 포맷 처리
  • OCR Engine: 메인 엔진 (딥러닝 LSTM)
  • Post-Processor: 후처리 (오타 교정 등)

(2) OCR Engine 내부 (LSTM 기반)

  • Bi-LSTM 구조
  • 입력 이미지를 시퀀스로 변환 후 Softmax로 출력
    Ct=ftCt1+itC~tC_t = f_t \odot C_{t-1} + i_t \odot \tilde{C}_t
ht=ottanh(Ct)h_t = o_t \odot \tanh(C_t)

07. Colab 실습 코드 (수업 예제)

# 1. Tesseract 설치
!sudo apt-get install tesseract-ocr
!pip install pytesseract

# 2. 라이브러리 불러오기
import pytesseract
import numpy as np
import cv2
from google.colab.patches import cv2_imshow

# 3. 이미지 불러오기 및 출력
img = cv2.imread('/content/drive/MyDrive/ocr_1.jpg')
cv2_imshow(img)

# 4. RGB 변환
rgb_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2_imshow(rgb_img)

# 5. OCR 수행
text = pytesseract.image_to_string(rgb_img)
print(text)

# 6. 다른 이미지도 동일하게 적용
img = cv2.imread('/content/ocr_2.jpg')
cv2_imshow(img)
rgb_img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
cv2_imshow(rgb_img)
text = pytesseract.image_to_string(rgb_img)
print(text)

# 7. 사용 가능한 언어 확인
!tesseract --list-langs
profile
2025화이팅!

0개의 댓글