HOME > Detail View

Detail View

OpenCV 4를 활용한 머신러닝 입문 : OpenCV 4, 파이썬, scikit-learn을 사용해 이미지 처리 앱을 만들기 위한 지능형 알고리즘 (Loan 2 times)

Material type
단행본
Personal Author
Sharma, Aditya Shrimali, Vishwesh Ravi, 저 Beyeler, Michael, 저
Corporate Author
테크 트랜스 그룹 T4, 역
Title Statement
OpenCV 4를 활용한 머신러닝 입문 : OpenCV 4, 파이썬, scikit-learn을 사용해 이미지 처리 앱을 만들기 위한 지능형 알고리즘 / 아디타 샤르마, 비슈베쉬 라비 슈리말리, 마이클 베이어 지음 ; 테크 트랜스 그룹 T4 옮김
Publication, Distribution, etc
서울 :   에이콘,   2020  
Physical Medium
539 p. : 천연색삽화, 도표 ; 24 cm
Series Statement
에이콘 데이터 과학 시리즈
Varied Title
Machine learning for OpenCV 4 : intelligent algorithms for building image processing apps using OpenCV 4, Python, and scikit-learn (2nd ed.)
ISBN
9791161754628
General Note
색인수록  
000 00000cam c2200205 c 4500
001 000046058503
005 20201204092338
007 ta
008 201201s2020 ulkad 001c kor
020 ▼a 9791161754628 ▼g 93000
035 ▼a (KERIS)BIB000015704240
040 ▼a 241026 ▼c 241026 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.31 ▼2 23
085 ▼a 006.31 ▼2 DDCK
090 ▼a 006.31 ▼b 2020z38
100 1 ▼a Sharma, Aditya
245 1 0 ▼a OpenCV 4를 활용한 머신러닝 입문 : ▼b OpenCV 4, 파이썬, scikit-learn을 사용해 이미지 처리 앱을 만들기 위한 지능형 알고리즘 / ▼d 아디타 샤르마, ▼e 비슈베쉬 라비 슈리말리, ▼e 마이클 베이어 지음 ; ▼e 테크 트랜스 그룹 T4 옮김
246 3 ▼a 오픈시브이 포를 활용한 머신러닝 입문
246 1 9 ▼a Machine learning for OpenCV 4 : ▼b intelligent algorithms for building image processing apps using OpenCV 4, Python, and scikit-learn ▼g (2nd ed.)
260 ▼a 서울 : ▼b 에이콘, ▼c 2020
300 ▼a 539 p. : ▼b 천연색삽화, 도표 ; ▼c 24 cm
440 0 0 ▼a 에이콘 데이터 과학 시리즈
500 ▼a 색인수록
700 1 ▼a Shrimali, Vishwesh Ravi, ▼e
700 1 ▼a Beyeler, Michael, ▼e
710 ▼a 테크 트랜스 그룹 T4, ▼e
900 1 0 ▼a 샤르마, 아디타, ▼e
900 1 0 ▼a 슈리말리, 비슈베쉬 라비, ▼e
900 1 0 ▼a 베이어, 마이클, ▼e
945 ▼a KLPA

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Science & Engineering Library/Sci-Info(Stacks1)/ Call Number 006.31 2020z38 Accession No. 121255548 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

머신러닝은 경험을 통해 자동으로 개선하는 컴퓨터 알고리즘 연구이며, 인공지능의 한 분야다. 이 책에서는 분류 및 회귀와 같은 통계 학습의 핵심 개념을 간단/직관적인 예제를 통해 확인할 수 있다. 모든 기본 개념을 다룬 이후에는 의사 결정 트리(Decision tree), 서포트 벡터 머신(Support vector) 및 베이지안(Bayesian) 네트워크와 같은 다양한 알고리즘을 탐색하고 다른 OpenCV 기능과 결합하는 방법을 배운다.

딥러닝과 앙상블 학습을 살펴보고 직접 손으로 쓴 숫자의 분류와 제스처 인식과 같은 실제 애플리케이션을 만들 수 있다. 마지막으로, 이미지 처리 시스템을 구축하기 위한 최신 Intel OpenVINO를 살펴본다. 이 책을 다 읽고 난 이후에는 OpenCV4로 지능형 컴퓨터 비전 애플리케이션을 만들 수 있다.

★ 이 책에서 다루는 내용 ★

■ 이미지 처리를 위한 핵심 머신러닝 개념
■ 머신러닝과 딥러닝 알고리즘 설계의 이론
■ 딥러닝 모델을 교육하기 위한 효과적인 기술
■ 머신러닝 모델 평가로 모델 성능 향상
■ 컴퓨터 비전 애플리케이션에서 지원 벡터 머신 및 베이즈 분류 등과 같은 알고리즘 통합
■ OpenCV 4와 함께 OpenVINO를 활용한 모델 추론 속도 향상

★ 이 책의 대상 독자 ★

초보자는 물론 고급 독자에게도 도움이 될 수 있게 모든 개념을 설명하려고 노력했다. 파이썬 프로그래밍에 대한 기본적인 지식이 있으면 좋지만, 의무 사항은 아니다. 이해할 수 없는 파이썬 구문을 발견할 때마다 인터넷에서 찾아보길 권한다. 도움은 모르는 것을 찾는 사람들에게만 항상 제공된다.

★ 이 책의 구성 ★

1장, '머신러닝 시작'에서는 이 책에 필요한 소프트웨어와 파이썬 모듈을 설치하는 방법을 설명한다.
2장, 'OpenCV으로 데이터 작업'에서는 몇 가지 기본적인 OpenCV 기능을 살펴본다.
3장, '지도학습의 첫 번째 단계'에서는 머신러닝에서 지도학습 방법의 기본을 다룬다. 파이썬에서 지원하는 OpenCV와 scikit-learn 라이브러리를 이용한 지도학습 방법의 몇 가지 예를 살펴본다.
4장, '데이터와 엔지니어링 특징 표현'에서는 OpenCV의 ORB를 사용한 특징 검출 및 특징 인식과 같은 개념을 다룬다. 또한 차원의 저주와 같은 중요한 개념을 이해하려고 노력한다.
5장, '의사 결정 트리를 사용한 의료 진단'에서는 트리의 깊이와 가지치기 등의 기법을 비롯해 의사 결정 트리 및 이와 관련된 중요한 개념을 소개한다. 의사 결정 트리를 이용한 유방암 진단 예측의 실용적 적용도 다룬다.
6장, '서포트 벡터 머신으로 보행자 검출'에서는 벡터 머신을 지원하기 위한 소개와 OpenCV에서 구현할 수 있는 방법을 다룬다. 또한 OpenCV를 이용한 보행자 검출의 응용 방법도 다룬다.
7장, '베이지안 학습을 이용한 스팸 필터 구현'에서는 나이브 베이즈 알고리즘, 다항 나이브 베이즈 등과 같은 내용뿐만 아니라 이를 구현할 수 있는 방법도 알아본다. 또한 스팸과 햄 데이터를 분류하는 머신러닝 어플리케이션을 구축한다.
8장, '비지도학습으로 숨겨진 구조 발견'에서는 두 번째 등급의 머신러닝 알고리즘, 즉 비지도학습을 소개한다. k-최근접 이웃, k-평균 등을 이용한 클러스터링 기술을 알아본다.
9장, '딥러닝을 사용한 숫자 필기 인식 분류'에서는 딥러닝 기법을 소개하고, MNIST 데이터 세트에서 이미지를 분류하고자 심층 신경망을 어떻게 사용하는지 살펴본다.
10장, '앙상블 기법으로 분류'에서는 분류 목적을 위한 랜덤 포레스트, 배깅, 부스팅 등의 주제를 다룬다.
11장, '하이퍼 매개변수 튜닝으로 올바른 모델 선택'에서는 모델 성능을 개선하고자 다양한 머신러닝 방법에서 최적의 매개변수 집합을 선택하는 과정을 살펴본다.
12장, 'OpenCV의 OpenVINO 사용'에서는 OpenCV 4.0에서 소개된 OpenVINO 툴킷을 소개한다. 또한 이미지 분류를 예로 들어 OpenCV에서 사용할 수 있는 방법도 살펴본다.
13장. '결론'에서는 책에서 다룬 주요 주제를 요약하고, 이후에 무엇을 더 할 수 있는지를 이야기한다.


Information Provided By: : Aladin

Author Introduction

아디타 샤르마(지은이)

로버트 보쉬(Robert Bosch)의 수석 엔지니어로서 자율 주행 컴퓨터 비전 문제를 해결하는 일을 하고 있다. 로버트 보쉬에서는 2019년 AI 해커톤 1위를 차지하기도 했다. IIT 만디와 IIIT 하이데라바드를 비롯한 인도의 일부 주요 기관과 협업을 진행하고 있다. IIT에서는 ICIP 2019와 MICCAI 2019에서 딥러닝을 이용한 의료영상 논문을 발표했다. IIIT에서는 초고해상도 문서 이미지 관련 업무에 큰 기여를 했다. DataCamp와 LearnOpenCV의 머신러닝과 딥러닝에 관한 많은 논문을 작성했다. 유튜브 채널을 운영하고, NCVPRIPG 콘퍼런스(2017년)와 알리가르 무슬림 대학교에서 연설자로 참여해 딥러닝 워크숍을 진행해왔다.

마이클 베이어(지은이)

워싱턴 대학교(University of Washington)의 신경 공학 및 데이터 과학 분야 박사후 연구원(Postdoctoral Fellow)으로서 망막 보형물(생체 공학적 눈)을 이식받은 맹인 환자의 지각 경험을 향상시키고자 생체 공학 비전의 컴퓨터 이용 모델을 연구하고 있다. 이 연구는 신경 과학, 컴퓨터 공학, 컴퓨터 비전, 머신러닝의 교차점에 위치한다. 여러 오픈소스 소프트웨어 프로젝트에 적극적으로 참여하고 있으며 파이썬, C/C++, CUDA, MATLAB, 안드로이드와 관련된 전문 프로그래밍 경험을 쌓았다. 캘리포니아 대학교 어바인(Irvine) 캠퍼스에서 컴퓨터 과학 박사 학위를 받았고, 스위스 취리히 연방 공과대학교에서 생명 공학 석사 학위와 전기 공학 학사 학위를 받았다.

비슈베쉬 라비 슈리말리(지은이)

2018년 기계 공학을 전공했으며 BITS 필라니(Bilani)를 졸업했다. 이후에 빅비전 LLC에서 딥러닝 및 컴퓨터 비전 관련 업무를 수행했으며, 공식 OpenCV 코스를 개발했다. 프로그래밍과 AI에 관심이 많고 머신 공학 프로젝트에 적용했다. 또한 OpenCV에 관한 여러 블로그를 운영하고 있고 컴퓨터 비전의 선도적인 블로그인 LearnOpenCV에 딥러닝 관련 글도 게재했다. 블로그와 프로젝트를 진행하지 않을 때는 장시간의 산책을 하거나 통기타를 연주하는 것을 좋아한다.

테크 트랜스 그룹 T4(옮긴이)

최신 IT 테크놀로지에 대한 리서치를 목적으로 하는 스터디 그룹이다. 엔터프라이즈 환경에서 오픈소스를 활용해 프레임워크를 구축하는 데 관심이 많으며, 스프링Spring, React.js, Node.js, OpenCV, ML 등의 기술에 주목하고 있다. 오픈소스 기반의 플랫폼 개발 및 활용도 주요 관심 분야다. 에이콘출판사에서 펴낸 『구글 애널리틱스로 하는 데이터 분석 3/e』(2017), 『추천 엔진을 구축하기 위한 기본서』(2017) 등을 번역했다.

Information Provided By: : Aladin

Table of Contents

"1부. 머신러닝과 OpenCV의 기본 원리

1장. 머신러닝 시작
__기술적 요구 사항
__머신러닝 시작
__머신러닝으로 해결할 수 있는 문제
__파이썬 시작
__OpenCV 시작
__설치
____이 책의 최신 코드 얻기
____파이썬의 아나콘다 배포판
____conda 환경에서 OpenCV 설치
____설치 확인
____OpenCV의 ML 모듈 엿보기
__머신러닝의 응용
__OpenCV 4.0의 새로운 기능
__요약


2장. OpenCV로 데이터 작업
__기술적 요구 사항
__머신러닝 워크플로의 이해
__OpenCV와 파이썬을 사용한 데이터 취급
____새로운 IPython이나 주피터 세션 시작
____파이썬 NumPy 패키지를 사용한 데이터 취급
______NumPy 가져오기
______NumPy 배열의 이해
______인덱싱을 통해 단일 배열 요소에 액세스
______다차원 배열 만들기
____파이썬에서 외부 데이터 세트 불러오기
____Matplotlib을 사용한 데이터 시각화
______Matplotlib 가져오기
______간단한 플롯 만들기
______외부 데이터 세트의 데이터 시각화
____C++에서 OpenCV의 TrainData 컨테이너를 사용해 데이터 다루기
__요약


3장. 지도학습의 첫 번째 단계
__기술적 요구 사항
__지도학습 이해
____OpenCV에서 지도학습 살펴보기
____점수화 함수로 모델 성능 측정
______정확도, 정확률, 재현율을 사용하는 점수화 분류기
______평균 제곱 오차, 분산, R 제곱을 사용한 회귀 분석
__분류 모델을 사용한 클래스 레이블 예측
____k-최근접 이웃 알고리즘의 이해
____OpenCV에서 k-최근접 이웃 구현
______훈련 데이터 생성
______분류기 훈련
______새 데이터 요소의 레이블 예측
__회귀 모델을 사용해 지속적인 결과 예측
____선형 회귀 분석
____OpenCV의 선형 회귀 방법
____선형 회귀 분석 방법을 사용해 보스턴 주택 가격 예측
______데이터 세트 불러오기
______모델 훈련
______모델 테스트
____라소와 융기 회귀 적용
__로지스틱 회귀를 이용한 아이리스 종 분류
____로지스틱 회귀 이해
______훈련 자료 불러오기
______이진 분류 문제로 만들기
______데이터 검사
______데이터를 훈련 세트와 테스트 세트로 나누기
______분류기 훈련
______분류기 테스트
__요약


4장. 데이터와 엔지니어링 특징 표현
__기술적 요구 사항
__특징 엔지니어링의 이해
__전처리 데이터
____특징 표준화
____특징 정규화
____특징의 범위 확장
____특징 이진화
____누락된 데이터 처리
__차원 축소의 이해
____OpenCV에서 PCA 구현
____ICA 구현
____NMF 구현
____t-분산 확률적 이웃 임베딩(t-SNE)을 이용한 차원 감소 시각화
__범주형 변수 표현
__텍스트 특징 표현
__이미지 표현
____색 공간 사용
______RGB 공간에서 이미지 인코딩
______HSV와 HLS 공간에서 이미지 인코딩
____이미지의 코너 검출
____스타(star) 검출기와 BRIP 설명자(descriptor) 사용
____ORB 사용
__요약


2부.OpenCV 사용법

5장. 의사 결정 트리를 사용한 의학 진단
__기술적 요구 사항
__의사 결정 트리의 이해
____첫 번째 의사 결정 트리 만들기
______새 데이터 만들기
______데이터를 이해한 후 작업에 활용
______데이터 전처리
______트리 만들기
____훈련된 의사 결정 트리의 시각화
____의사 결정 트리의 내부 동작 조사
____특징 중요도 평가
____의사 결정 규칙 이해
____의사 결정 트리의 복잡도 제어
__의사 결정 트리를 사용해 유방암 진단
____데이터 세트 불러오기
____의사 결정 트리 만들기
__회귀 결정 트리 사용
__요약


6장. 서포트 벡터 머신으로 보행자 검출
__기술적 요구 사항
__서포트 벡터 시스템의 이해
____최적의 의사 결정 경계 학습
____첫 번째 서포트 벡터 머신 구현
______데이터 세트 생성
______데이터 세트 시각화
______데이터 세트 전처리
______서포트 벡터 머신 구축
______의사 결정 경계 시각화
__비선형 의사 결정 경계 다루기
____커널 트릭의 이해
____사용자가 사용할 커널 파악
____비선형 서포트 벡터 머신 구현
__실생활에서 보행자 검출
____데이터 세트 가져오기
____HOG 훑어보기
____네거티브 생성
____서포트 벡터 머신 구현
____모델 부트스트랩
____더 큰 이미지에서 보행자 검출
____모델 개선
____SVM을 사용한 다중 클래스 분류
______데이터 정보
______속성 정보
__요약


7장. 베이지안 학습을 이용한 스팸 필터 구현
__기술적 요구 사항
__베이지안 추론의 이해
____확률 이론 간단히 살펴보기
____베이즈 정리의 이해
____나이브 베이즈 분류기의 이해
__첫 번째 베이지안 분류기 구현
____장난감 데이터 세트 만들기
____일반 베이즈 분류기로 데이터 분류
____나이브 베이즈 분류기로 데이터 분류
____조건부 확률의 시각화
__나이브 베이즈 분류기를 사용한 이메일 분류
____데이터 세트 불러오기
____판다스를 사용해 데이터 행렬 만들기
____데이터 전처리
____정상적인 베이즈 분류기 훈련
____전체 데이터 세트에 대한 훈련
____n-그램을 사용한 결과 개선
____TF-IDF를 사용한 결과 개선
__요약


8장. 비지도학습으로 숨겨진 구조 발견
__기술적 요구 사항
__비지도학습의 이해
__k-평균 클러스터링의 이해
____첫 번째 k-평균 예제 구현
__기댓값 최대화 방법의 이해
____기댓값 최대화 솔루션 구현
____기댓값 최대화의 한계 파악
______첫 번째 경고: 전반적인 최적 결과를 찾기 어렵다
______두 번째 경고: 미리 클러스터 수를 선택해야 한다
______세 번째 경고: 클러스터 경계는 선형이다
______네 번째 경고: k-평균은 많은 수의 샘플에서는 느리다
__k-평균을 사용한 색 공간 압축
____트루 컬러 팔레트 시각화
____k-평균을 사용한 색상 팔레트 축소
__k-평균을 사용한 숫자 필기 인식 분류
____데이터 세트 불러오기
____k-평균 실행
__클러스터를 계층적 트리로 구성
____계층적 클러스터링의 이해
____응집력 있는 계층적 클러스터링 구현
____클러스터링 알고리즘 비교
__요약


3부OpenCV를 사용한 고급 머신러닝

9장. 딥러닝을 사용한 숫자 필기 인식 분류
__기술적 요구 사항
__맥컬럭-피츠 뉴런의 이해
__퍼셉트론의 이해
__첫 번째 퍼셉트론 구현
____장난감 데이터 세트 생성
____퍼셉트론을 데이터에 적용
____퍼셉트론 분류기 평가
____선형으로 분리되지 않는 데이터에 퍼셉트론 적용
__다층 퍼셉트론의 이해
____경사 하강법의 이해
____역전파를 이용한 MLP 훈련
____OpenCV에서 MLP 구현
______데이터 전처리
______OpenCV에서 MLP 분류기 만들기
______MLP 분류기의 사용자 정의
______MLP 분류기 훈련과 테스트
__딥러닝에 익숙해지기
____케라스에 익숙해지기
__숫자 필기 인식 분류
____MNIST 데이터 세트 가져오기
____MNIST 데이터 세트 전처리
____OpenCV를 사용한 MLP 훈련
____케라스를 이용한 심층 신경망 훈련
______MNIST 데이터 세트 전처리
______컨볼루션 신경망(CNN) 만들기
______모델 요약 
______모델 피팅
__요약


10장. 앙상블 기법으로 분류
__기술적 요구 사항
__앙상블 메서드의 이해
____평균 앙상블의 이해
______배깅 분류기 구현
______배깅 회귀기 구현
____부스터 앙상블의 이해
______약한 학습기
______부스팅 분류기 구현
______부스팅 회귀기 구현
____스태킹 앙상블의 이해
__의사 결정 트리를 랜덤 포레스트로 결합
____의사 결정 트리의 단점 이해
____첫 번째 랜덤 포레스트 구현
____scikit-learn을 사용한 랜덤 포레스트 구현
____과랜덤화된 트리 구현
__얼굴 인식을 위한 랜덤 포레스트 사용
____데이터 세트 불러오기
____데이터 세트 전처리
____랜덤 포레스트 훈련과 테스트
__AdaBoost 구현
____OpenCV에서 AdaBoost 구현
____scikit-learn에서 AdaBoost 구현
__다른 모델을 투표 분류기로 결합
____다양한 투표 방법의 이해
____투표 분류기 구현
____다원성
__요약


11장. 하이퍼 매개변수 튜닝으로 올바른 모델 선택
__기술적 요구 사항
__모델 평가
____잘못된 방식으로 모델 평가
____올바른 방식으로 모델 평가
____최고의 모델 선택
__교차 유효성 검증의 이해
____OpenCV에서 교차 유효성의 매뉴얼 검증 구현
____scikit-learn을 사용한 k-겹 교차 검증
____단일 관측값 제거법 교차 검증의 구현
__견고성 예측에 부트스트랩 사용
____OpenCV에서 부트스트랩을 직접 구현
__결과의 중요성 평가
____스튜던트 t-검정 구현
____맥니마의 검정 구현
__그리드 검색으로 하이퍼 매개변수 튜닝
____간단한 그리드 검색 구현
____유효성 검증 세트의 값 이해
____교차 유효성 검증과 함께 그리드 검색 결합
____중첩된 교차 유효성 검증과 함께 그리드 검색 결합
__다양한 평가 메트릭을 사용한 점수화 모델
____올바른 분류 기준 선택
____올바른 회귀 메트릭 선택
__파이프라인을 형성하기 위한 체이닝 알고리즘
____scikit-learn에서 파이프라인 구현
____그리드 검색에서 파이프라인 사용
__요약


12장. OpenCV의 OpenVINO 사용
__기술적 요구 사항
__OpenVINO 소개
__OpenVINO 툴킷 설치
____OpenVINO 구성 요소
__대화형 얼굴 검출 데모
__OpenCV와 함께 OpenVINO 추론 엔진 사용
__OpenCV와 함께 OpenVINO 모델 동물원 사용
__OpenVINO 추론 엔진이 있는 OpenCV를 사용한 이미지 분류
____OpenVINO를 사용한 이미지 분류
____OpenVINO와 함께 OpenCV를 사용한 이미지 분류
__요약


13장. 결론
__기술적 요구 사항
__머신러닝 문제점에 접근
__자신만의 추정기 작성
____자신만의 OpenCV 기반 분류기를 C++로 작성
____파이썬으로 자신만의 scikit-learn 기반 분류기 작성
__다음 단계
__요약"

New Arrivals Books in Related Fields

Cartwright, Hugh M. (2021)
한국소프트웨어기술인협회. 빅데이터전략연구소 (2021)