1장. AI 비전과 OpenCV 개발환경
용어 짚고 가기
컴퓨터비전(computer vision): 컴퓨터가 사진과 동영상을 보고 그 안에 무엇이 있는지 알아내게 하는 기술입니다. vision 은 "보는 힘, 시력"이라는 뜻입니다.AI 비전(AI vision): 컴퓨터비전 가운데 인공지능(AI, Artificial Intelligence) 모델을 써서 사진을 알아보는 쪽을 가리키는 말입니다. 이 과정에서는 컴퓨터비전과 거의 같은 뜻으로 씁니다.이미지(image): 사진이나 그림 한 장입니다. 우리말로는 영상이라고도 합니다. image 는 라틴어 imago(닮은 모습)에서 온 말입니다.동영상(video): 이미지 여러 장을 빠르게 넘겨 움직이는 것처럼 보이게 한 것입니다. video 는 라틴어로 "나는 본다"라는 뜻입니다.픽셀(pixel): 이미지를 이루는 가장 작은 네모 한 칸입니다. picture(그림)와 element(요소)를 줄여 붙인 말입니다.해상도(resolution): 이미지가 가로세로 몇 칸으로 되어 있는지입니다. 320×240 이면 가로 320칸, 세로 240칸입니다. resolution 은 "잘게 나누어 보는 힘"이라는 뜻입니다.채널(channel): 픽셀 한 칸에 들어 있는 숫자 하나하나의 몫입니다. 컬러 이미지는 파랑, 초록, 빨강의 세 채널을 가집니다. channel 은 "물길, 통로"라는 뜻입니다.BGR(Blue-Green-Red): OpenCV 가 색 숫자 세 개를 파랑, 초록, 빨강 순서로 적는 방식입니다. 흔히 쓰는 RGB(Red-Green-Blue)와 순서가 거꾸로입니다.영상처리(image processing): 이미지의 숫자를 계산으로 바꿔 밝게 하거나, 흐리게 하거나, 테두리를 찾는 일입니다. processing 은 "가공, 처리"라는 뜻입니다.전처리(preprocessing): AI 모델에 넣기 전에 데이터를 손질하는 일입니다. pre(미리)와 processing(처리)을 붙인 말입니다.딥러닝(deep learning): 층을 여러 겹 깊게 쌓은 인공 신경망으로 데이터에서 규칙을 배우는 방법입니다. deep 은 "깊은", learning 은 "배움"이라는 뜻입니다.분류(classification): 사진 한 장에 "사과", "귤"처럼 이름 하나를 붙이는 일입니다. class(갈래)로 나눈다는 뜻입니다.객체 탐지(object detection): 사진 속 물건이 어디에 있는지 네모 상자로 표시하는 일입니다. object 는 "물체", detection 은 "찾아냄"이라는 뜻입니다.분할(segmentation): 물건의 테두리를 따라 픽셀 단위로 오려 내는 일입니다. segment 는 "조각"이라는 뜻입니다.YOLO(You Only Look Once): 사진을 한 번만 훑어보고 물건의 위치와 이름을 함께 찾는 객체 탐지 모델입니다. 이름은 "한 번만 본다"라는 뜻입니다. 17장부터 다룹니다.라이브러리(library): 남이 만들어 둔 코드 묶음입니다. 가져다 부르기만 하면 됩니다. library 는 "도서관"이라는 뜻입니다.OpenCV(Open Source Computer Vision Library): 무료로 공개된 컴퓨터비전 라이브러리입니다. 파이썬에서는cv2라는 이름으로 불러옵니다. 이름은 "누구나 열어 볼 수 있는 컴퓨터비전 도서관"이라는 뜻입니다.NumPy(Numerical Python): 숫자 표(배열)를 빠르게 계산하는 파이썬 라이브러리입니다. OpenCV 가 읽은 이미지는 NumPy 배열로 들어옵니다. 이름은 "숫자 계산용 파이썬"이라는 뜻입니다.Matplotlib: 그래프와 그림을 화면에 그려 주는 파이썬 라이브러리입니다. MATLAB 이라는 프로그램처럼 그림을 그린다(plot)는 데서 붙은 이름입니다.ndarray(N-dimensional array): NumPy 의 배열 자료형입니다. N 차원(가로, 세로, 채널처럼 여러 방향)으로 숫자를 담습니다.uint8(unsigned integer 8-bit): 0부터 255까지의 정수만 담는 자료형입니다. unsigned 는 "음수 부호가 없는", 8-bit 는 "2진수 8자리"라는 뜻입니다.가상환경(virtual environment): 과목이나 프로젝트마다 따로 쓰는 파이썬 작업 공간입니다. 패키지 버전이 서로 섞이지 않게 합니다. virtual 은 "실제는 아니지만 그런 것처럼 쓰는"이라는 뜻입니다.pip: 파이썬 패키지를 내려받아 설치하는 프로그램입니다. "Pip Installs Packages(pip 은 패키지를 설치한다)"를 줄인 이름으로 알려져 있습니다.VS Code(Visual Studio Code): 마이크로소프트가 만든 무료 코드 편집기입니다. 이 과정에서 코드를 쓰고 실행하는 곳입니다.