컴퓨터 비전 개요부터 광학 문자 인식까지
컴퓨터 비전은 AI의 한 분야로, 컴퓨터가 이미지·영상을 이해하고 분석하는 기술이다. 객체 검출, 이미지 분류, 얼굴 인식, OCR(광학 문자 인식) 등 다양한 태스크가 있고, OpenCV·TensorFlow·PyTorch 같은 프레임워크와 ImageNet·COCO·AI Hub 같은 데이터셋이 밑바탕이 된다. 이번 포스트에서는 컴퓨터 비전의 정의·프레임워크·데이터셋·어노테이션·대표 태스크를 짚은 뒤, OCR과 Tesseract·EasyOCR로 이미지 속 문자를 텍스트로 뽑는 방법까지 정리한다.
(컴퓨터 비전 - 류지 프로젝트, OCR - 류지 프로젝트를 기반으로 재구성)
1. 컴퓨터 비전이란?
컴퓨터 비전은 컴퓨터가 인간처럼 이미지나 영상을 이해하고 분석할 수 있도록 하는 기술이다. 객체 검출, 이미지 분류, 얼굴 인식, 장면 이해 등 다양한 작업을 포함하며, 머신러닝·딥러닝으로 이미지에서 특징을 추출하고 패턴을 학습한다. 자율주행에서는 차선·보행자·신호등 인식에, 의료에서는 CT·MRI 분석에 쓰이고, 최근에는 CNN 등 딥러닝 모델로 성능이 크게 올라 다양한 산업에서 쓰인다.
2. 컴퓨터 비전에서의 프레임워크
| 프레임워크 | 특징 |
|---|---|
| OpenCV | 이미지 처리·컴퓨터 비전용 오픈소스 라이브러리. 전처리·간단한 비전 작업에 많이 쓰인다. |
| TensorFlow | Google 개발. CNN, 객체 검출, 이미지 분할 등 딥러닝 비전 모델 학습·배포에 강점이 있다. |
| PyTorch | 직관적인 코드·디버깅이 편해 연구·실험에서 많이 쓴다. 객체 검출, 이미지 분할 구현에 적합하다. |
OpenCV는 전처리와 기본 비전, TensorFlow·PyTorch는 딥러닝 모델 학습과 배포에 골고루 쓰인다.
3. 컴퓨터 비전에서의 데이터셋
딥러닝 모델은 양질의 데이터셋이 있어야 패턴을 잘 학습하고 일반화한다. 다양하고 균형 잡힌 데이터일수록 과적합을 줄이고 실제 환경에서도 잘 동작할 가능성이 높다.
3-1. AI Hub
AI Hub는 한국의 AI 데이터·알고리즘 공유 플랫폼이다. NIA가 운영하며 자연어 처리, 컴퓨터 비전, 음성 인식, 자율주행 등 국내 특화 데이터셋을 제공한다. 한국어·국내 환경 데이터가 많아 한글 AI·컴퓨터 비전 개발에 유용하다.
3-2. COCO
COCO(Common Objects in Context)는 Microsoft가 만든 대규모 데이터셋이다. 약 33만 장 이미지, 150만 개 이상 객체 주석을 담고 있으며, 객체 검출·이미지 분할·캡셔닝 연구에 널리 쓴다. 폴리곤 기반 세그멘테이션, 다중 객체, 키포인트·캡션 등 주석이 풍부해 COCO 챌린지로 모델 성능을 평가하는 데도 쓰인다.
3-3. Open Images Dataset
Open Images Dataset은 Google이 제공하는 대규모 데이터셋이다. 900만 장 이상 이미지, 6억 개 이상 바운딩 박스, 약 600개 클래스를 포함한다. COCO·Pascal VOC보다 규모가 크고, 바운딩 박스 외에 관계 주석·행동 태그·랜드마크 등이 있어 다양한 비전 태스크에 쓸 수 있다.
3-4. KITTI
KITTI는 자율주행·컴퓨터 비전용 대표 데이터셋이다. 실제 도로 영상과 LiDAR, 스테레오, GPS/IMU 등을 함께 제공한다. 객체 검출·깊이 추정·SLAM 등 자율주행·로보틱스 연구에서 벤치마크로 쓰인다.
4. 어노테이션
어노테이션은 지도 학습에서 데이터에 정답(라벨) 을 붙이는 과정이다. 컴퓨터 비전에서는 이미지·영상 안의 객체 위치, 크기, 카테고리 등을 사람이나 도구로 표시한다. 어노테이션 품질이 모델 성능에 직결된다.
| 유형 | 설명 | 활용 예 |
|---|---|---|
| 바운딩 박스 | 객체를 감싸는 사각형. 객체 검출에서 가장 많이 쓴다. | COCO, PASCAL VOC |
| 폴리곤 | 다각형으로 윤곽을 표시. 불규칙한 형태에 유리하다. | 표지판, 건물 경계 |
| 세그멘테이션 | 픽셀 단위로 객체 구분. 인스턴스/의미론적 세그멘테이션으로 나뉜다. | COCO, ADE20K |
| 키포인트 | 눈·코·손목·팔꿈치 등 특정 점에 좌표를 찍는다. | OpenPose, COCO Keypoints |
| 스켈레톤 | 키포인트를 선으로 이어 인체 구조·포즈를 표현한다. | 행동 인식, 스포츠 분석 |
| 라인·폴리라인 | 차선·경계선을 선으로 라벨링한다. | 자율주행 차선 감지 |
| 3D 바운딩 박스 | 길이·너비·높이를 포함한 3차원 박스. | LiDAR, 자율주행 |
5. 컴퓨터 비전의 대표 태스크
컴퓨터 비전의 대표 태스크에는 이미지 분류, 객체 검출, 세그멘테이션, 이미지 캡셔닝 등이 있다. 난이도와 목적에 따라 적절한 모델과 데이터셋을 고르면 된다. 태스크별 관계와 난이도는 컴퓨터 비전 - 류지 프로젝트의 "컴퓨터 비전의 대표 TASK" 섹션에서 도식으로 정리되어 있다.
6. OCR(광학 문자 인식)
OCR(Optical Character Recognition, 광학 문자 인식)은 이미지·문서에서 문자를 찾아 디지털 텍스트로 바꾸는 기술이다. 스캔 문서, 사진 속 글자, 번호판, 손글씨 등을 인식하는 데 쓰인다. 기본 흐름은 전처리(그레이스케일·이진화·노이즈 제거) → 문자 영역 검출 → 문자 패턴 인식이다. OpenCV로 전처리하고 Tesseract·EasyOCR·PaddleOCR 등으로 텍스트를 뽑으면 된다. 문서 자동화, 번호판 인식(LPR), 서류 디지털화 등에 활용된다.
7. Tesseract OCR
Tesseract는 Google이 개발한 오픈소스 OCR 엔진이다. 여러 언어를 지원하고, LSTM 기반 딥러닝 OCR을 포함한다. Python에서는 pytesseract로 Tesseract를 호출할 수 있다. 이미지는 RGB로 넘기고, lang='kor+eng'처럼 인식할 언어를 지정한다.
7-1. 설치
- Tesseract 엔진: UB-Mannheim Tesseract Wiki에서 Windows용 설치 파일(tesseract-ocr-w64-setup-5.5.0 등)을 받아 설치한다. 기본 제안 경로에 두는 것이 안전하다.
- pytesseract:
pip install pytesseract로 설치한다. 한글 인식이 필요하면 Tesseract 설치 시 한글 학습 데이터를 함께 설치하거나 추가한다.
7-2. 기본 사용
import cv2
import pytesseract
img = cv2.imread('./hello.png')
dst = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
text = pytesseract.image_to_string(dst, lang='kor+eng')
print(text)
lang은 'eng', 'kor', 'kor+eng' 등으로 줄 수 있다. Windows에서 Tesseract 실행 파일 경로가 PATH에 없으면 pytesseract.pytesseract.tesseract_cmd에 실행 파일 경로를 지정해 주면 된다.
8. EasyOCR
EasyOCR은 딥러닝 기반 OCR 라이브러리로, PyTorch 위에서 동작한다. 여러 언어를 지원하고, 사전 학습 모델로 다양한 글꼴·크기의 문자를 인식한다. readtext() 로 이미지에서 텍스트를 감지하며, 바운딩 박스와 신뢰도를 함께 준다. 번호판·문서·표지판 인식에 잘 맞고, OpenCV로 그레이스케일·bilateralFilter·오츠 이진화·Canny 엣지 등 전처리를 한 뒤 EasyOCR을 쓰면 인식률을 높일 수 있다. (OCR - 류지 프로젝트에 번호판 감지 예제가 정리되어 있다.)
마치며
- 컴퓨터 비전은 이미지·영상 이해·분석 기술이며, OpenCV·TensorFlow·PyTorch와 ImageNet·COCO·AI Hub·KITTI 같은 데이터셋이 기반이 된다.
- 어노테이션은 바운딩 박스, 폴리곤, 세그멘테이션, 키포인트, 스켈레톤, 라인, 3D 바운딩 박스 등 태스크에 맞게 선택한다.
- OCR은 이미지 속 문자를 텍스트로 바꾸는 기술이고, Tesseract(pytesseract)로 간단히 쓸 수 있으며, EasyOCR로 한글·다국어 인식률을 높일 수 있다.
다음으로는 Object Detection, 이미지 분할, 포켓몬 분류 데이터셋 등 구체적인 태스크와 데이터셋을 다룬 포스트를 이어가면 좋다.
(컴퓨터 비전 · OCR · Tesseract Windows 설치 참고)
'AI·머신러닝 > 딥러닝·비전' 카테고리의 다른 글
| 이안류 CCTV와 스타벅스 세그멘테이션 - AI Hub·COCO에서 YOLOv8까지 실습 (0) | 2026.01.08 |
|---|---|
| Object Detection - 개념, 전통 기법, YOLO, Pascal VOC 2007, mAP (0) | 2026.01.07 |
| OpenCV 크로마키·ROI·이진화·기하 변환 - 투시 변환과 명함 스캐너 실습 (0) | 2026.01.05 |
| OpenCV 영상 입출력과 연산 - 동영상·카메라, VideoWriter, 픽셀 연산, 히스토그램·HSV (0) | 2025.12.31 |
| OpenCV 기초 - 이미지 읽기, 속성, 도형·마우스 이벤트 실습 (0) | 2025.12.31 |