오늘부터 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=ft⊙Ct−1+it⊙C~t
ht=ot⊙tanh(Ct)
07. Colab 실습 코드 (수업 예제)
!sudo apt-get install tesseract-ocr
!pip install pytesseract
import pytesseract
import numpy as np
import cv2
from google.colab.patches import cv2_imshow
img = cv2.imread('/content/drive/MyDrive/ocr_1.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)
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)
!tesseract --list-langs