Top

컴퓨터 비전과 딥러닝 [텐서플로와 케라스를 사용한 전문 가이드]

  • 원서명Deep Learning for Computer Vision: Expert techniques to train advanced neural networks using TensorFlow and Keras (ISBN 9781788295628)
  • 지은이라쟈링가파 샨무갸마니(Rajalingappaa Shanmugamani)
  • 옮긴이테크 트랜스 그룹 T4
  • ISBN : 9791161752006
  • 30,000원
  • 2018년 08월 31일 펴냄
  • 페이퍼백 | 344쪽 | 188*235mm
  • 시리즈 : acorn+PACKT

책 소개

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.

요약

딥러닝은 인공 지능에 혁명을 일으키고 있으며 앞으로 수십 년 동안 강렬하게 세상을 바꿀 기술이다. 심층 학습을 기반으로 한 인공 지능은 산업혁명과 비슷한 수준의 영향을 미칠 수 있다. 딥러닝은 현실상에서는 산업 혁명과 기계와 마찬가지로 산업 생산성을 향상시키고 많은 인류의 생활 수준을 높여줄 것이다. 이 책을 다 읽으면 컴퓨터 비전을 위해 활용될 수 있는 딥러닝에 대한 기본 지식들을 파악하게 되고, 딥러닝의 강력한 힘과 많은 애플리케이션을 지원하기 위한 내용에 대해서 알게 될 것이다.

추천의 글

딥러닝은 인공지능에 혁명을 일으키고 있으며, 앞으로 수십 년 동안 강렬하게 세상을 바꿀 기술이다. 심층 학습을 기반으로 한 인공지능은 산업혁명과 비슷한 수준의 영향을 미칠 수 있다. 딥러닝은 미래에 대한 흥분과 더불어 두려움을 만들어냈다. 그렇지만 딥러닝은 현실상에서는 산업혁명과 기계와 마찬가지로 산업 생산성을 향상시키고 많은 인류의 생활 수준을 높여줄 것이다. 물론, 직업을 대체하기보다는 더 양질의 일자리를 더 많이 만들어낼 것이다. 이것이야말로 이 책이 중요하고 시기적절한 이유이기도 하다. 이 책의 독자들은 컴퓨터 비전을 위한 딥러닝에 대해 파악하게 되고, 딥러닝의 강력한 힘과 많은 애플리케이션에 대해 알게 될 것이다. 이 책은 독자들에게 앞으로 수십 년 동안 급속도로 성장할 거대 산업에 대한 기초 내용을 제공할 것이다. 저자 라쟈링가파는 컴퓨터 비전과 관련된 여러 프로젝트에서 나와 함께 작업했던 훌륭한 연구원이다. 그는 의류 검색을 위한 복잡한 컴퓨터 비전 및 딥러닝 시스템을 설계하고 제공한 수석 엔지니어였으며, 해당 프로젝트는 실제로도 크게 성공을 거뒀다. 그의 강점 중 하나는 복잡한 문제에 대한 최첨단 연구 내용을 실제 상황에 적용할 수 있다는 것이며, 복잡한 아이디어를 분해하고 간단하게 설명할 수 있다. 라쟈링가파는 훌륭한 직업윤리를 가지고 있으며 매우 야침 차다. 딥러닝을 사용하는 컴퓨터 비전의 최신 기술들에 대한 내용을 정리했으며, 이러한 정리 내용은 많은 사람이 쉽게 할 수 있는 것이 아니다. 이 책은 라쟈링가파의 큰 결과물들을 정리한 것이며, 독자들은 앞으로 수년 동안 이 결과물을 잘 사용함으로써 많은 혜택을 얻을 수 있을 것이다. /스티븐 무어 박사, 싱가포르 이모션리더 최고 기술 책임자(CTO)

이 책에서 다루는 내용

■ 케라스와 텐서플로에 대한 환경 설정
■ 애완동물 분류 제약 사항을 고려한 이미지 분류와 딥러닝 모델 훈련 방법 학습
■ 모델의 심층 레이어 이해
■ 이미지 추출 문제를 해결하기 위한 사전 훈련된 모델의 사용 방법
■ 검출 방법 이해와 보행자 검출 적용
■ 이미지 캡션 방법의 학습 및 구현
■ GAN을 사용해 이미지를 생성할 수 있는 모델 훈련
■ 동영상 분류 방법의 확인 및 실제 구현
■ 다양한 플랫폼에 실제 훈련된 모델 적용

이 책의 대상 독자

분류, 검출, 검색, 분할, 생성, 자막 및 동영상 분류와 같은 컴퓨터 비전 문제에 대한 심층적 학습 방법을 알고 싶은 독자나 적은 데이터, 불균형 클래스, 소음과 같은 다양한 제약 조건에서도 높은 정확도를 달성하는 방법을 이해하길 원하는 독자에게 적합한 책이다.
이와 더불어 훈련된 모델을 다양한 플랫폼(AWS, 구글 클라우드, 라즈베리 파이, 휴대전화)에서 사용하는 방법을 알고 싶은 독자에게도 추천한다. 이 책을 모두 읽고 나면, 독자는 인물 검출, 얼굴 인식, 제품 검색, 의료 이미지 분할, 이미지 생성, 이미지 캡션, 동영상 분류 등의 문제에 대한 코드를 개발할 수 있게 될 것이다.

이 책의 구성

1장. ‘시작하기’에서는 딥러닝의 기초를 소개하며, 초보자는 어휘에 익숙해질 시간을 갖게 된다. 이후 장을 수행하는 데 필요한 소프트웨어 패키지 설치에 대한 내용도 다룬다.
2장. ‘이미지 분류’에서는 이미지 전체에 레이블을 붙이는 이미지 분류 문제를 설명한다. 이미지 분류 기술에 대해 배우고 애완동물 분류에 대한 딥러닝 모델을 훈련할 수 있다. 또한 정확도를 높이고 다양한 고급 아키텍처에 대한 심도 있는 내용을 배우게 된다.
3장. ‘이미지 검색’에서는 심층 특징(deep feature)과 이미지 검색을 다룬다. 모델 시각화, 시각적 기능, 텐서플로(TensorFlow)를 사용한 추론, 제품 검색을 위한 시각적 기능 제공 및 사용에 대한 다양한 방법을 학습할 수 있다.
4장. ‘객체 검출’에서는 이미지의 객체 검출을 설명한다. 다양한 객체 검출 기술을 배우고 이를 보행자 검출(pedestrian detection)에 적용할 수 있다. 객체 검출을 위한 텐서플로 API가 이 장에서 활용된다.
5장. ‘시맨틱 분할’에서는 픽셀 단위로 이미지를 분할하는 것을 다룬다. 분할 기법에 대한 지식을 얻고 의료 이미지의 분할 모델을 훈련할 수 있다.
6장. ‘유사도 학습’에서는 유사도 학습에 대해 이야기한다. 유사도 매칭(similarity matching)과 얼굴 인식을 위한 모델을 훈련시키는 방법을 배우게 된다. 얼굴 표식(face landmark)을 훈련시키는 모델이 설명된다.
7장. ‘이미지 캡션’에서는 이미지의 캡션을 생성하거나 선택하는 것을 다룬다. 자연어 처리 기술과 이 기술을 사용해 이미지 캡션을 생성하는 방법을 배운다.
8장. ‘생성 모델’에서는 다양한 목적으로 합성 이미지를 생성하는 방법을 설명한다. 독자는 이 장을 통해 생성 모델이 무엇인지 배우고, 스타일 전송과 훈련 데이터 등의 이미지 생성 애플리케이션 프로그램에 적용할 수 있다.
9장. ‘동영상 분류’에서는 동영상 데이터에 대한 컴퓨터 비전 기술을 다룬다. 동영상 문제와 이미지 문제의 주요 차이점을 이해하고 동영상 분류 기술을 구현해본다.
10장. ‘배포’에서는 심화 학습 모델의 배포 단계를 설명한다. 훈련된 모델을 배치하고 다양한 속도에 맞게 최적화하는 방법을 배울 수 있다.

상세 이미지

저자/역자 소개

지은이의 말

다양한 애플리케이션 프로그램을 위한 컴퓨터 비전 기술을 배우고 싶어 하는 독자를 대상으로 하며, 독자에게 컴퓨터 비전 기반 제품을 개발할 수 있는 도구와 기술을 제공한다. 실용적인 예제들을 통해 비전 관련 이론을 확인할 수 있다.

지은이 소개

라쟈링가파 샨무갸마니(Rajalingappaa Shanmugamani)

현재 SAP 싱가포르에서 딥러닝 분야의 리더로 일하고 있다. 이전에는 컴퓨터 비전 제품 개발을 위해 여러 신생 기업에서 근무하고 컨설팅해왔다. 인도 공과 대학(Indian Institute of Technology, Madras)에서 석사 학위를 받았으며, 제조 분야의 컴퓨터 비전 애플리케이션 산업에 관한 논문을 저술했다. 저널 및 콘퍼런스에서 동료 논문 검토를 했으며, 머신 러닝 분야에서 몇몇 특허를 보유했다. 여가에는 프로그래밍과 머신 러닝을 학생과 엔지니어에게 가르친다.

옮긴이의 말

컴퓨터 비전은 컴퓨터에 시각을 부여해 이미지를 분석함으로써 유용한 정보를 생성하는 기술이다. 비전 기술은 컴퓨터나 로봇 등을 통해 얼굴, 건물 등의 다양한 객체를 인식하는 데 응용되며, 인공지능 기술이 발전하면서 객체 인식 기술의 진화 속도는 빨라지고 있다.
컴퓨터가 사물을 정확하게 인식해 유용한 정보를 제공할 수 있게 되면서 컴퓨터 인터페이스에 변혁이 일어나고 있다. 아이폰 X에는 얼굴을 인식하는 기능인 페이스 ID가 탑재됐고, 스마트폰의 카메라를 이용한 신용카드 스캔 등의 기술이 실제로 적용되고 있다.
컴퓨터 비전을 구현하기 위한 사용자의 프로젝트에서 컴퓨터 비전 알고리즘을 시작하길 원하더라도, 어디서부터 시작해야 할지 다소 막막할 수 있다. 컴퓨터 비전 엔지니어라 해도, 심도 있게 접근하거나 더 많은 내용을 배우려면 많은 기술을 알아야 한다. 이와 같은 목적을 달성하려면 실전 경험이 가장 중요하다. 실제 문제를 해결하는 방법을 통해 현존하는 방법들을 사용자의 요구 사항에 맞춰 수행해야 하며, 샘플 코드들을 통해 컴퓨터 비전 알고리즘의 가능성과 한계를 충분히 이해해 나가야 한다.
이 책은 실제 컴퓨터 비전 작업을 할 때 직접적으로 큰 도움이 될 수 있도록 구성됐다. 텐서플로(TensorFlow)를 사용해 추론, 제품 검색을 위한 시각적 기능의 제공 및 다양한 사용 방법을 학습할 수 있고, 유사도 매칭(similarity matching)과 얼굴 인식을 위한 모델을 훈련시키는 방법도 배울 수 있다. 이러한 내용들을 다룬 이 책은 딥러닝 학습을 위한 많은 내용들을 담고 있으며 이해하기 쉽게 예제 코드와 그 결과물까지 한꺼번에 보여준다. 컴퓨터 비전 학습을 위한 시맨틱 분할(semantic segmentation), 유사도 학습(similarity learning), 이미지 캡션(image caption), 생성 모델(generative model), 동영상 분류(video classification)에 대해 알기 쉽게 설명해주므로 데이터 기반 컴퓨터 비전 기술에 대한 지식을 한 번에 쉽게 습득할 수 있다.
모든 독자들이 텐서플로/케라스(Keras)와 딥러닝 등에 대한 기본 이론을 이해하고 실제로 구현하는 데 많은 도움이 되길 진심으로 바란다. 각각의 심오한 주제와 관련된 내용 전체를 하나씩 천천히 끄집어낸 후 설명하고 있으므로 순서대로 읽다 보면 전반적인 내용을 충분히 파악할 수 있을 것이다.

옮긴이 소개

테크 트랜스 그룹 T4

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

목차

목차
  • 1장. 시작하기
    • 딥러닝 이해하기
      • 퍼셉트론
      • 활성화 함수
      • 인공 신경망
      • 원-핫 인코딩
      • 신경망 학습
      • 텐서플로 플레이그라운드 살펴보기
      • 컨볼루션 신경망
      • 순환 신경망
      • LSTM
    • 컴퓨터 비전을 위한 딥러닝
      • 분류
      • 검출 또는 로컬라이제이션 및 분할
      • 유사도 학습
      • 이미지 캡셔닝
      • 생성 모델
      • 동영상 분석
    • 개발 환경 설정하기
      • 하드웨어 및 운영체제
      • 소프트웨어 패키지 설치하기
    • 요약

  • 2장. 이미지 분류
    • 텐서플로에서 MNIST 모델 훈련하기
      • MNIST 데이터셋
      • MNIST 데이터 로드하기
      • 퍼셉트론 구축하기
      • 다중 레이어 컨볼루션 신경망 구축하기
    • 케라스에서 MNIST 모델 훈련시키기
      • 데이터셋 준비하기
      • 모델 구축하기
    • 그 외 일반적으로 사용되는 이미지 테스트 데이터셋
      • CIFAR 데이터셋
      • 패션-MNIST 데이터셋
      • ImageNet 데이터셋 및 대회
    • 더 깊은 딥러닝 모델
      • AlexNet 모델
      • VGG-16 모델
      • 구글 인셉션-V3 모델
      • 마이크로소프트 ResNet-50 모델
      • SqueezeNet 모델
      • 공간 변환 네트워크
      • DenseNet 모델
    • 개와 고양이를 예측하는 모델 훈련시키기
      • 데이터 준비하기
      • 간단한 CNN으로 벤치마킹하기
      • 데이터셋 확장하기
      • 모델의 전이 학습 또는 미세 조정
      • 딥러닝의 여러 레이어 파인 튜닝하기
    • 실제 애플리케이션 개발하기
      • 올바른 모델 선택하기
      • 언더피팅 및 오버피팅 시나리오 해결하기
      • 얼굴에서 성별과 나이 검출하기
      • 의류 모델 미세 조정하기
      • 브랜드 안정성
    • 요약

  • 3장. 이미지 검색
    • 시각적 특징의 이해
    • 딥러닝 모델 활성화의 시각화
    • 임베딩 시각화
      • DeepDream
      • 적대적인 사례
    • 모델 추론
      • 모델 내보내기
      • 훈련된 모델 사용
    • 콘텐츠 기반 이미지 검색
      • 검색 파이프라인 구축
      • 효율적 검색
      • ANNOY를 사용한 매칭 가속화
      • Raw 이미지 자동 인코더
      • 자동 인코더를 사용한 노이즈 제거
    • 요약

  • 4장. 객체 검출
    • 이미지에서의 객체 검출
    • 데이터셋 탐색하기
      • ImageNet 데이터셋
      • 파스칼 VOC 챌린지
      • COCO 객체 검출 챌린지
      • 측정 항목을 사용해 데이터 집합 평가하기
    • 알고리즘 로컬라이제이션하기
      • 슬라이딩 윈도우를 사용해 객체 로컬라이제이션하기
      • 로컬라이제이션을 회귀 문제로 생각해보기
    • 객체 검출
      • R-CNN
      • Fast R-CNN
      • Faster R-CNN
      • 싱글 샷 다중 박스 검출기
    • 객체 검출 API
      • 설치 및 설정
      • 사전 훈련된 모델
      • 객체 검출 모델 재훈련
    • 자율주행용 보행자 검출 훈련
    • YOLO 객체 검출 알고리즘
    • 요약

  • 5장. 시맨틱 분할
    • 픽셀 예측
      • 의료 이미지 진단
      • 위성 이미지를 사용해 지구를 살펴보기
      • 로봇이 볼 수 있도록 허용하기
    • 데이터셋
    • 시맨틱 분할을 위한 알고리즘
      • 완전 컨볼루션 네트워크
      • SegNet 아키텍처
      • 확장 컨볼루션
      • DeepLab
      • RefiNet
      • PSPnet
      • 대형 커널의 문제
      • DeepLab v3
    • 울트라-신경 분할
    • 위성 이미지 분할
      • 분할을 위한 FCN 모델링
    • 인스턴스 분할
    • 요약

  • 6장. 유사도 학습
    • 유사도 학습을 위한 알고리즘
      • 샴 네트워크
      • FaceNet
      • DeepNet 모델
      • DeepRank
      • 시각적 추천 시스템
    • 인간 얼굴 분석
      • 얼굴 검출
      • 얼굴 표식 및 속성(attribute)
      • 캐글 키포인트 데이터셋
      • 얼굴 인식
      • 얼굴 클러스터링
    • 요약

  • 7장. 이미지 캡션 처리
    • 문제 및 데이터셋 이해하기
    • 이미지 캡션을 위한 자연어 처리 이해
      • 벡터 형태로 단어 표현하기
      • 단어를 벡터로 변환
      • 임베딩 훈련
    • 이미지 캡션 및 관련 문제에 대한 접근 방법
      • 조건부 랜덤 필드를 사용해 이미지와 텍스트 연결하기
      • CNN 기능에서 RNN을 사용해 자막 생성
      • 이미지 순위를 사용해 자막 만들기
      • 이미지와 이미지에서 캡션 가져오기
      • 밀집 캡션
      • 캡션에 RNN 사용하기
      • 다중 모달 측정 항목 공간 사용하기
      • 캡션 작성 시 관심 네트워크 사용하기
      • 언제 살펴봐야 할지 파악하기
    • 관심 기반 이미지 캡션 방법 구현하기
    • 요약

  • 8장. 생성 모델
    • 생성 모델의 애플리케이션
      • 예술적 스타일 이전 방법
      • 동영상의 다음 프레임 예측 방법
      • 슈퍼 해상도 이미지
      • 대화형 이미지 생성하기
      • 이미지를 이미지로 변환하기
      • 텍스트로 이미지 생성하기
      • 불필요 제거
      • 블렌딩
      • 속성 변환하기
      • 훈련 데이터 생성
      • 새 애니메이션 캐릭터 만들기
      • 사진으로부터 3D 모델 생성
    • 신경 예술 스타일 전송
      • 콘텐츠 손실
      • 그램 매트릭스를 사용한 스타일 손실
      • 스타일 전송
    • GAN
      • 바닐라 GAN
      • 조건부 GAN
      • 적대적 손실
      • 이미지 변환
      • InfoGAN
      • GAN의 단점
    • VDM
      • VDM 알고리즘
    • 요약

  • 9장. 동영상 분류
    • 동영상의 이해 및 분류
      • 동영상 분류 데이터셋 탐색
      • 동영상을 프레임으로 분할하기
      • 동영상 분류 접근법
    • 동영상에 대한 이미지 기반 접근법 확장
      • 사람의 포즈도 적용하기
      • 동영상 분할
      • 동영상 캡션
      • 동영상 생성
    • 요약

  • 10장. 배포
    • 모델 성능
      • 모델 양자화
      • MobileNets
    • 클라우드에서 배포하기
      • AWS
      • 구글 클라우드 플랫폼
    • 장치에 모델 배포하기
      • Jetson TX2
      • 안드로이드
      • 아이폰
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[ p.111 : 6행 ]
생산 시스템
->
배포 운영 시스템

[ p.132 : 다중 인덱스 해싱 ]
이 방법은 특징을 해시해 핀홀에 맞추는 것과 같이 속도를 빠르게 하며, 계산을 빠르게 하기 위해 해밍 거리를 사용한다. 해밍 거리는 이진으로 표현된 숫자에서 위치의 차이 수에 불과하다.
->
이 방법은 특징들을 가지고 해싱 값을 만드는데, 비둘기 집 원리(pigeonhole)와 같고 빠른 동작을 지원한다. 계산 속도를 빠르게 하기 위해서 해밍 거리를 사용한다. 해밍 거리는 이진수로 표현된 숫자들에서 위치 차이 수를 의미한다.
(역자 주 : 비둘기 집 원리(pigeonhole)는 n개의 물건을 r개의 상자에 넣을 때 어느 상자는 두 개이상의 물건을 가지게 되는 관계가 존재하게 됨을 의미한다.) 

[ p.139 : 6행 ]
병목 현상 레이어
->
병목 레이어

[p.139 : 아래에서 7행 ]
병목 현상 레이어는 치원이 축소된
->
병목 현상 레이어는 차원이 축소된

[ p.206 : 아래에서 2행 ]
병목 현상 레이어
->
병목 레이어

[ p.334 ]
병목 현상 레이어
->
병목 레이어