티스토리 뷰

Hobby/Book

[Book] 비전 시스템을 위한 딥러닝

생각많은 소심남 2022. 2. 23. 17:35

(해당 포스트에서 소개하고 있는 "비전 시스템을 위한 딥러닝" 책은 한빛 미디어로부터 제공받았음을 알려드립니다.)

 

비전 시스템을 위한 딥러닝

이 책은 아주 어렵지 않은 수준에서 컴퓨터 비전 시스템에 고급 딥러닝 알고리즘을 어떻게 활용하는지 소개한다. 파이썬 코드를 어느 정도 작성할 수 있는 사람이라면 다양한 딥러닝 기반 알고

hanbit.co.kr

인공지능 기술이 다양한 분야에 적용되고 있다고는 하지만, 가장 많이 드러나있고, 성과로 보여지는 분야는 역시 컴퓨터 비전이 아닐까 싶다. 우리가 눈뜨고 살아가는 이상, 눈으로 들어오는 시각 정보의 양도 어마어마하면서, 뭔가 변화나 결과가 나왔을때 제일 확 와닿기 때문이다. 그래서 아마 대부분의 인공지능 기술 책을 살펴보면 제일 처음 배우는 MLP이후로 바로 나오는 것이 CNN과 이를 활용한 비전 처리인듯 하다. (물론 음성이나 언어와 같이 주제가 특정지어진 책은 RNN을 주요하게 다루겠지만, 모든 기술이 포괄적으로 담겨있는 책은 대부분 위의 주제로 나아가는 듯 하다.)

요새는 관련 교육이나 책이 워낙 잘 나와있기 때문에 인공지능을 깊이있게 공부해보고자 하는 사람들은 잘 찾아보면 양질의 정보를 얻을 수 있다. 특히 비전에 한정지으면 유명한 강의 중 하나가 stanford에서 공개하는 cs231n이 있고 잘 짜여진 커리큘럼과 과제 덕분에 비전을 공부하는 사람이라면 한번쯤은 살펴봤을 것이다. (예전에는 강의영상도 공개했었는데, 최근에는 학생들에게만 공개하는식으로 변경된거 같다..)

 

Stanford University CS231n: Convolutional Neural Networks for Visual Recognition

Course Description Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image

cs231n.stanford.edu

그런데 아마 이 분야를 처음 접하는 사람이라면 고민이 많을 것이다. 보통 LeNet이라는 거의 태초의 CNN 모델부터 많이 활용되고 있는 ResNet이나 Inception과 같이 복잡한 형태의 모델까지 다양한 모델이 존재한다. 이 모델들을 모두 알아야하고, 구조를 살펴보려면 논문을 직접 살펴보면서 구현을 해봐야하는 것일까 말이다. 물론 가장 좋은 방법은 논문보고 직접 구현해볼 수 있어야하겠지만, 논문을 살펴보면 알고리즘이 나오게된 수식적 내용과 증명, 그리고 결과에 대해서만 자세하게 나오지 어떻게 구현하는지에 대해서는 잘 기술되어있지 않다. 그런 부분이 사실 인공지능을 공부하고 구현해보려는 사람한테는 하나의 장애물이 될 수 있다.

비전 시스템을 위한 딥러닝

이 책의 저자도 서문에서 언급하는 것처럼 이런 부분에 대해서 고민하고 두가지 원칙, "광범위한 주제""충분한 깊이"에 한정해서 구성했다. 그래서 이 책을 살펴보면 비전 시스템에서 활용되고 있는 다양한 모델에 대해서 살펴보고, 이를 코드 레벨에서 다루는 방향으로 내용이 진행된다. 개인적으로 책에서 괜찮았던 것은 책안에 포함되어 있는 도식들인데, 도식들이 각 주제에 담겨져 있는 내용들을 잘 묘사하고 있어서 이해하는데 도움이 되었다. 참고로 책의 서두는 비전 시스템의 이해를 위한 기본적인 딥러닝 지식들, 예를 들어서 activation function과 optimizer, hyperparameter optimization같은 내용들이 설명되어 있는데, 이미 해당 내용에 익숙한 사람이라도 한번 remind식으로 읽어보면 생각보다 도움이 될만한 내용을 얻을 수 있다. (어떻게 보면 단점일 수도 있는게 책의 주제는 비전 시스템에 대한 내용이라고 못박았는데, 기초적인 내용에 대한 내용이 책의 1/3 정도를 차지하고 있다. 오히려 책의 주 독자가 고급 모델에 대한 기술 동향을 빠르게 파악하려는 사람에게는 조금 책이 심심하다고 느낄수도 있다.)

책에서 다루는 큰 주제와 세부 모델에 대한 내용은 다음과 같다.

  • 이미지 분류와 탐지
    • LeNet-5
    • AlexNet
    • VGGNet
    • Inception & GoogLeNet
    • ResNet
  • 전이 학습
  • 사물 탐지
    • R-CNN, Fast R-CNN
    • Single Shot Detector
    • YOLO
  • GAN
    • DCGAN
  • Deep Dream & Neural Style Transfer
  • Visual Embedding

물론 책에서 다루는 내용이 비전 시스템 쪽의 내용 전부를 다루는 것은 아니지만, 각 모델에서 개선이 이뤄졌던 부분에 대한 설명과 이를 구현하는 방법을 주제별 프로젝트 형식으로 제공하기 때문에 내용을 처음부터 따라해보려는 사람에게는 도움이 될 것 같다. 이전에 리뷰했던 책 중 하나였던 "배우면서 배우는 파이토치 딥러닝"도 다양한 모델을 실제로 구현해보면서 이론을 배울 수 있던 부분이 좋았었는데, 이번 책도 역시 비전이라는 특화된 주제에 맞게 다양한 주제를 깊이있게 살펴볼 수 있었던 부분은 다른 책과 비교할 수 있는 특징이 아닐까 싶다. 


혹시라도 책에 구현된 코드가 궁금한 사람이라면 github도 살펴보면 좋을 것 같다.

 

GitHub - moelgendy/deep_learning_for_vision_systems: This repository accompanies the book "Deep Learning for Vision Systems".

This repository accompanies the book "Deep Learning for Vision Systems". - GitHub - moelgendy/deep_learning_for_vision_systems: This repository accompanies the book "Deep Learning fo...

github.com

그리고 원서 소개 페이지도 있다.

 

Deep Learning for Vision Systems Book

 

computervisionbook.com

댓글