1장. AI 비전과 OpenCV 개발환경
AI 비전 작업의 흐름
택배 한 상자가 집 앞에 오기까지 접수, 분류, 상차, 배송, 도착 확인을 차례로 거칩니다. 한 곳이 막히면 뒤가 다 밀립니다. AI 비전 작업도 사진을 모으는 데서 결과를 보여 주는 데까지 정해진 순서로 흐릅니다. 이 흐름을 파이프라인(pipeline, 물을 차례로 흘려보내는 관)이라고 부릅니다.
그림의 다섯 단계를 왼쪽에서 오른쪽으로 읽습니다. 앞의 네 단계가 데이터를 준비하는 일이고, 마지막 단계에서 AI 모델이 답을 냅니다. 여기서 택배 접수가 "모으기", 파손 상자 빼기가 "거르기", 포장 다시 하기가 "다듬기"에 해당합니다. 비유와 다른 점은 "늘리기"입니다. 택배는 한 상자를 여러 개로 늘리지 않지만, 사진은 뒤집고 돌려 학습용 사진의 수를 늘립니다.
단계별 도구와 이 과정의 STEP
| 단계 | 하는 일 | 쓰는 도구 | 이 과정에서 |
|---|---|---|---|
| 모으기 | 사진과 동영상을 모은다 | 카메라, 파일 폴더, 웹캠 | 2장, 15장 |
| 거르기 | 깨진 파일, 흐린 사진을 뺀다 | OpenCV 읽기, 품질 점수 | 16장 |
| 다듬기 | 밝기, 노이즈, 크기를 맞춘다 | OpenCV 필터와 변환 | 3장부터 14장까지 |
| 늘리기 | 뒤집고 돌려 양을 늘린다 | OpenCV 변환 | 16장 |
| 알아보기 | 모델이 답을 내고 결과를 그린다 | YOLO, Matplotlib | 17장부터 19장까지 |
# 파이프라인을 "단계 이름 → 할 일" 목록으로 적어 두고 차례로 찍는다
pipeline = [
("모으기", "폴더의 사진 파일을 찾는다"),
("거르기", "읽히지 않는 파일을 뺀다"),
("다듬기", "밝기와 크기를 맞춘다"),
("늘리기", "좌우로 뒤집은 사진을 더한다"),
("알아보기", "모델에 넣어 답을 받는다"),
]
for no, (step, todo) in enumerate(pipeline, start=1):
print(no, step, "-", todo)주의할 점
- 앞 단계의 실수는 뒤에서 고치기 어렵습니다. 깨진 사진이나 잘못 붙은 정답을 거르지 않으면 모델이 그대로 배웁니다.
- 실제 일에서는 시간의 대부분이 앞의 네 단계에 듭니다. 이 과정의 장 대부분이 데이터 준비를 다루는 까닭입니다.