컴퓨터 비전의 핵심 기초 이론부터 알고리즘 구현, 그리고 OpenCV를 활용한 실습까지.

국내 유일 컴퓨터 비전 정규 강의 모집 중!

courseimg_computervision
OpenCV와 함께하는 컴퓨터 비전 프로그래밍 캠프(주중반)
본 캠프는 주중반, 주말반 나누어 진행하며, 현재는 주중반만 모집 중에 있습니다.
주말반(6기)은 마감되었습니다.
기간
  • 08-14(월) ~ 10-16(월) 총 8주
휴강  10/2(월), 10/4(수), 10/9(월) 휴강
일정
  • 매주 월요일 & 수요일 7시 반 ~ 10시
준비물
  • 웹캠이 탑재된 개인 노트북 필수(외장형 웹캠도 무관)
  • OS는 Windows를 권장합니다.
장소
주차 지원은 죄송하게도 불가합니다.
문의 최민수 매니저 02-517-0652
본 강의는 원활한 수업을 위해 수강 인원을 제한하고 있습니다.
따라서 다른 강의에 비해 조기 마감될 가능성이 높으니, 수강 신청 후 결제까지 완료하셔야 수강생 명단에 포함됩니다.

컴퓨터 비전, 이미지 프로세싱에 입문하고 싶지만 사전 지식이 부족해 헤매고 있었나요?

지식을 쌓으려 해도 도서 외에는 딱히 배울 경로가 없어, 답답해 하진 않았나요?

이미지 획득 – 프로세싱 – 패턴 인식의 전 과정을 다루는 본 강의와 함께 답답함을 해결해보세요!

강의를 1년 넘게 꾸준히 운영하고 있는 이유는,
예측 불가할만큼 다양한 분야의 실무자들이 본 강의에 관심을 가져주시기 때문입니다!
이전 기수의 생생한 강의 평가 내용을 공개합니다.

dev_camp_cvocv_1_goodbye

  • ‘막연히 알고 있던 영상처리에 대해 아주 쉽게 설명을 잘 해주셔서 많이 배웠습니다. 앞으로 공부하는데 도움이 많이 될 것이라 생각합니다.’
  • ‘수강생들의 수준이 조금씩, 때로는 많이 차이가 났는데요. 그러한 부분을 최적화하기 위해 다양한 각도로 강의를 진행해주신 부분에 대해 아주 감동받았습니다.’
  • ‘알고리즘 구현하는것이 무척 편해졌다. 머릿속으로 하나씩 정리되는 느낌을 크게 받는다. 현재는 MFC, OpenCV 관련 도서를 보며 연동하고 개발하고 있다.’
dev_camp_cvocv_4_goodbye-1024x468
  • ‘유익하지 않은 부분을 찾는 게 어려울 정도로, 모든 부분이 유익했습니다. 특히, 패턴 매칭과 엣지 찾는 부분, 엣지 찾을 때 필터링 하는 부분 등등, 적합한 인자 사용을 모른 채 주어 듣고 찾아 봤던 부분들을 강의를 통해 제대로 적용하고 있습니다. ‘
  • ‘이론적인 부분을 알기 쉽게 많이 훑어주셔서 가려웠던 점을 상당히 해소할 수 있었습니다. 기업체 실제 업무 선수과정으로도 좋은 강의가 될 것 같습니다.’
  • ‘자동차에 사용하는 비전 영상은 주변 환경에 의한 손상 가능성이 높습니다. 업무에서 이 부분이 까다로웠는데, 본 강의를 통해 명암 조절이라던지 영상 개선 방법을 배우게 되어 실무에 바로 적용하여 영상 처리율을 높일 수 있었습니다.’

이미 일상에 침투한 컴퓨터 비전

2016-04-24-1461512457-3567665-Driverlesscar1433

1. 자율주행 자동차

운전대를 잡고있는 인간이 없어도 스스로 주변의 이미지를 획득하여 그로부터 유의미한 정보를 습득하고, 습득한 정보를 토대로 주행하는 무인 자동차(autonomous vehicle)의 핵심 기술은 바로 컴퓨터 비전입니다. (사진: Google Self-Driving Car Project)

FR

2. 인물 얼굴 인식

페이스북에 사진을 올리면 놀라울 정도로 위와 같이 정확하게 인물의 얼굴을 인식하고, 심지어 그 얼굴에 해당하는 사용자를 태깅해줍니다. 바로 페이스북이 자체 개발한 ‘Deepface’ 의 기능이며, 지금도 많은 페이스북 사용자들이 이 기능에 놀라워하고 즐거워하고 있습니다.

CVision2

3. 불량품 검사

완벽한 정확도와, 엄청나게 빠른 속도로 제품의 품질을 검증해내야하는 제조업 분야는 이미 컴퓨터 비전 기반의 시스템을 구축하고 있습니다. 사람의 눈으로는 매번 모든 제품을 검사할 수 없으니, 컴퓨터 비전의 힘을 빌리는 것이지요. 위 예시는 정량보다 덜 담긴 불량품을 검출해내는 예시입니다.

42221_5634_2747

4. 자동차 번호판 인식

주차장, 백화점 등에서 이미 인간의 영역을 대체하고 있는 번호판 인식기 역시 컴퓨터 비전의 일상적인 사례입니다. 번호판 이미지를 인식하여 그에 나타난 숫자들의 엣지를 검출하고, 어떤 숫자를 의미하고 있는지 정보를 습득해내는 것이죠.

무인자동차가 스스로 인간의 눈과 같은 기능을 수행할 수 있도록 만드는 기술

주차장에 아무도 없어도, 차량 번호를 정확히 인식할 수 있는 이유

인물의 얼굴을 인식하고, 누구의 얼굴인지까지 밝혀낼 수 있는 비밀

답은 컴퓨터 비전, 그리고 이미지 프로세싱입니다.

본 강의는 컴퓨터 비전 알고리즘을 직접 C++ 프로그래밍을 통해 바닥부터 구현하고, OpenCV 활용까지 함께할 뿐만 아니라 현업에 응용할 여지가 충분한 실습 및 프로젝트를 진행함으로서 컴퓨터 비전 실무 능력을 탄탄히 길러볼 수 있는 내용으로 구성되어 있습니다.

1. 컴퓨터 비전 알고리즘을 바닥부터 구현

히스토그램 분석법, 공간적 필터링(Smoothing, Sharpening 등), 영상의 기하학적 변환(Zoom, Rotate 등)과 같은 이미지 프로세싱의 기초 알고리즘부터 다양한 특징 추출법, 레이블링과 영상 분할, 객체 검출 등 현업에서 많이 활용되는 알고리즘까지 모두 바닥부터 직접 구현해봅니다. 언어는 이 분야의 정석대로 C++ 을 사용합니다.

2. OpenCV를 활용한 실습

먼저 C++ 로 알고리즘을 짜보고, 그 뒤에 같은 처리를 수행하는 OpenCV 함수를 사용해보는 방식으로 비교 학습을 진행합니다. 이 과정을 통해 직접 구현했을 때와 라이브러리 사용시의 차이점을 체감할 수 있으며, 라이브러리를 필요에 따라 선택적으로 활용할 수 있는 인사이트를 기르게 됩니다.

3. 증강현실, 얼굴인식 구현 프로젝트 진행

배운 내용이 어떻게 활용될 수 있는지 자세히 알아보기 위해 매 시간 실습을 진행하고, 작은 프로젝트도 진행합니다. 영상 기반의 증강현실(AR) 프로그램, 얼굴 인식 프로그램, 심지어 안드로이드 환경에서 구동되는 얼굴 인식 앱 개발(OpenCV Java API 활용)까지 모두 경험할 수 있습니다.

커리큘럼

주차 대주제 소주제 실습주제 및 비고
1 컴퓨터 비전과 OpenCV의 만남
  • 컴퓨터 비전과 영상 처리 프로그래밍 기초
  • OpenCV 개요와 설치 & 기본 사용법 (영상 불러오기, 화면 출력, Mat 클래스 분석)
  • 영상의 픽셀 값 접근 방법
  • OpenCV 프로젝트 템플릿 만들기
2 영상의 화질 향상 기법
  • 영상의 밝기와 명암비 조절
  • 히스토그램 분석: 스트레칭, 균등화
  • 영상의 산술 및 논리 연산
  • 필터링: Blurring, Sharpening, 잡음 제거
  • 트랙바 사용하기
3 다양한 특징 추출 방법(1)
  • 영상의 기하학적 변환: 이동, 크기, 회전, 전단
  • 어파인 변환 vs. 투영 변환
  • 엣지 검출: Sobel, Canny
  • 직선 & 원 검출: Hough 변환
  • 코너 검출: Harris, GFTT, FAST
  • 보간법 알고리즘 분석
4 다양한 특징 추출 방법(2)
  • 마우스 이벤트 처리, 웹카메라 & 동영상 처리
  • OpenCV 프로그래밍 성능 끌어올리기
  • 컬러 영상 처리: 컬러 영상의 화질 개선, 특정 색상의 영역 추출 방법
  • 텍스쳐 특징 추출
  • CUDA, OpenCL, 병렬 프로그래밍
  • 살색 영역 추출 기법
5 이진화와 레이블링
  • 이진화 기법: 자동 이진화, 적응형 이진화
  • 모폴로지
  • 레이블링
  • 외곽선 검출 및 분석
  • (실습) 명함 검출
  • (실습) 손 모양 검출
6 객체 검출과 이해(1)
  • 다양한 영역 분할 기법
  • 템플릿 매칭: 영상의 유사도 판단 방법
  • 모멘트
  • 증강 현실(AR)
  • (실습) 마커 기반 증강 현실 구현하기
7 객체 검출과 이해(2)
  • 지역 특징점 검출과 매칭: SIFT, SURF, etc
  • RANSAC 알고리즘과 호모그래피
  • Haar Cascade 분류기를 이용한 객체 검출
  • Haar Cascade 분류기 학습 방법
  • (실습) 이미지 스티칭, 얼굴 검출, 눈 검출, 번호판 검출, 스마일 셔터
8 객체 추적과 머신러닝
  • 배경 추정과 움직이는 객체 검출
  • 다양한 객체 추적 알고리즘
  • HOG 알고리즘과 보행자 검출
  • 머신 러닝: KNN, SVM, etc.
  • (실습) 필기체 숫자 인식
주차 내용 및 비고
1 컴퓨터 비전과 OpenCV의 만남

  • 컴퓨터 비전과 OpenCV
  • OpenCV 설치와 개발 환경 설정
  • 영상 불러오기, Mat 클래스, 픽셀 값 접근
  • 영상처리 기초 알고리즘: 반전, 밝기 조절
  • OpenCV 프로젝트 템플릿 만들기
  • (참고) Visual C++ 2017 Community Edition 사용 및 OpenCV 최신 git 소스코드 사용
2 영상의 화질 향상 기법

  • 영상의 밝기, 명암비 조정
  • 히스토그램 분석: Stretching, Equalization
  • 공간적 필터링: Smoothing, Sharpening
  • 잡음 제거 필터링: Median, Bilateral filtering
  • 영상의 산술 및 논리 연산
  • (실습) 트랙바 사용하기
3 다양한 특징 추출 방법(1)

  • 영상의 기하학적 변환: 크기, 회전, 보간법
  • 엣지 검출: Sobel, Canny
  • 직선과 원 검출: Hough 변환
  • 코너 검출: Harris, FAST, GFTT
  • (실습) 차선 검출
4 다양한 특징 추출 방법(2)

  • 웹 카메라 입력 & 동영상 입출력
  • 이진화 기법
  • 컬러 영상 처리 기법
  • 텍스쳐 분석
  • (실습) OpenCV 마우스 입력 처리, 피부색 검출 프로그래밍
5 레이블링과 영상 분할

  • 레이블링
  • 외곽선 추적
  • 다각형 근사화
  • 모폴로지
  • (실습) 손 모양 검출
6 객체 검출과 이해(1)

  • 템플릿 매칭
  • 모멘트
  • 마커 기반 증강현실
  • 크기 불변 법칙 검출 알고리즘(SIFT)
  • (실습) OpenGL on OpenCV, 마커 기반 증강현실 프로그래밍
7 객체 검출과 이해(2)

  • 다양한 특징점 매칭 방법: SIFT, SURF, ORB, AKAZE
  • 호모그래피 계산: RANSAC 알고리즘
  • Haar Cascade 분류기를 이용한 얼굴 검출
  • Haar Cascade 분류기 학습 방법
  • (실습) opencv_contrib 모듈 빌드, 웃을 때 사진을 찍는 스마일 셔터 프로그래밍, 얼굴 / 눈 / 번호판 검출
8 객체 추적과 머신러닝

  • 배경 추정에 의한 움직이는 객체 검출
  • 다양한 객체 추적 알고리즘
  • HOG 알고리즘
  • 머신 러닝: KNN, SVM, etc.
  • (실습) 보행자 검출, 필기체 숫자 인식

강의에서 다루게 될 실습 예제 영상

풍부한 연구 경력의 교수님께 배우는 컴퓨터 비전

황선규 교수님

2006년 한양대학교에서 영상 처리를 전공하여 박사 학위를 받았으며, 재학 시절 주요 연구 분야는 객체의 모양 기술, 객체 분할, 패턴 인식 등이었다. 이후 뉴질랜드 캔터베리 대학교와 한양대학교에서 PostDoc과 연구 교수로 재직하며 실시간 특징점 매칭 연구를 진행하였다. 2009년 LG전자에 입사하여 옵티머스 LTE II, G2, G3, G5 등 전략 모델의 카메라 기능 개발과 카메라 Framework 업무를 담당하였다.

주요 저서

  • 영상 처리 프로그래밍 by Visual C++ (한빛미디어, 2007년)
  • Visual C++ 영상 처리 프로그래밍 (길벗, 2015)
  • OpenCV 제대로 배우기 (한빛미디어, 2009년, 번역서)

이런 분들은, 꼭 수강하세요!

컴퓨터 비전, 이미지 프로세싱 실무력을 키우려는 분

본 강의는 수강생이 주어진 시간 내에 가장 빠르게 컴퓨터 비전 관련 지식을 습득하여 실질적으로 활용할 수 있도록 구성하였습니다. 이를 위해 필수 프로그래밍 언어인 C++ 기반으로 모든 강의를 진행하여 기초 체력을 탄탄히 키우고, OpenCV는 선택적 활용이 가능하도록 비교 실습을 진행합니다.

OpenCV를 이용하면서 느꼈던 한계를 벗어나고 싶으신 분

OpenCV에서 제공하는 알고리즘이 아닌, 나의 필요에 따른 알고리즘을 구현하고 싶지만 컴퓨터 비전에 대한 이해가 부족하여 가만히 앉아있는 분들도 필수적으로 수강하시길 바랍니다. 이 강의에서 C++ 을 활용한 영상 처리 알고리즘 구현부터 다시 제대로 배우고, 그 다음 OpenCV 활용 능력을 길러봅시다.

C++ 혹은 객체지향 프로그래밍 유경험자인가요?

기본적으로 기초적인 C++ 문법과 객체 지향 프로그래밍 기법에 대한 이해가 있다면 본 강의를 듣기에 아주 좋습니다. 간혹 강의에서 STL 문법과 C++11 문법을 사용할 수도 있지만 그리 어렵지 않은 문법만 사용할 것이므로 이 부분에 대해서는 걱정하지 않으셔도 됩니다.

혹시, 프로그래밍을 전혀 공부해본 적이 없나요?

이 경우 실습 내용을 온전히 이해하기 어려울 수도 있습니다. 그러나 복잡한 영상 처리 알고리즘을 스스로 구현하는 작업 외에도 OpenCV에서 제공하는 함수의 사용법을 익히는 형태로도 실습이 진행될 것이므로, 최소한의 프로그래밍 능력을 키우고 수강한다면 괜찮습니다. 다만, 소스 코드를 직접 수정하여 자신만의 알고리즘을 새로 만들기 위해서는 C/C++ 프로그래밍에 대한 충분한 경험이 필요합니다.

한 눈에 보는 OpenCV 강의 소개

수강료

정가 150만 원

온라인 카드결제 가능
최대 12개월 무이자 할부 지원