AIFFEL Life

[Day 4] 컴퓨터 비전... 이 정도면 더 할 거 없는 것 아냐?

nevermet 2020. 7. 31. 18:25

4번째 날은 처음으로 6시간짜리 실습이 있는 날이었습니다. 나름 기대반 걱정반이었습니다. 주제는 AI와 가위바위보 하기라던데... AI 전혀 모르는데 할 수 있을까?... 그러나 걱정과는 달리 비교적 순조롭게 실습을 마칠 수 있었습니다. :)

- 노트북: github.com/nevermet/AIFFEL/blob/master/RockScissorsPaperWithAI.ipynb

 

nevermet/AIFFEL

AIFFEL Projects. Contribute to nevermet/AIFFEL development by creating an account on GitHub.

github.com

실습 순서는 이랬습니다. 

먼저 tensor flow를 이용하여 이미지 인식에 대한 기본 개념을 배웁니다. 먼저는 손글씨 숫자를 가지고 학습시키고 테스트 하는 것을 진행했는데, 데이타는 MINST를 사용했습니다.

http://yann.lecun.com/exdb/mnist/

 

MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges

 

yann.lecun.com

이제 데이타 셋을 나누어야 하는데요. 딥러닝을 위한 데이타 셋이 많지 않는 경우 훈련셋, 검증셋, 테스트셋으로 데이타를 나눠서 사용하는 것이 좋다고 합니다. 저도 이에 대한 이해가 그리 많지 않았는데 잘 정리된 사이트가 있네요. 모의고사 문제를 가르쳐줬다고 해서 올해 수능 시험을 잘 본다는 보장은 없다. 그럼 어떻게 훈련시켜야 할까? 작년 수능 시험문제를 활용하면 어떨까? 올해 시험 점수가 잘 안나온다면 왜 안나왔을까? 이런 자극적인? 개념으로 잘 설명해 줍니다. :)

https://tykimos.github.io/2017/03/25/Dataset_and_Fit_Talk/

 

데이터셋 이야기

딥러닝 모델을 학습시키려면 데이터셋이 필요합니다. 풀고자 하는 문제 및 만들고자 하는 모델에 따라 데이터셋 설계도 달라집니다. 데이터셋을 어떻게 구성하고 모델을 어떻게 검증할 지 알아

tykimos.github.io

그럼 본격적으로 실습을 진행하기 위해 데이타가 필요하겠죠? 가위바위보 사진을 직접 노트북 카메라로 촬영하여 데이타를 준비합니다. 그런데 이런 이미지 데이타를 수집하기 쉽게 도와주는 사이트를 구글이 만들어 두었네요?!

https://teachablemachine.withgoogle.com/

 

Teachable Machine

Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required.

teachablemachine.withgoogle.com

이 사이트에서 안내하는 대로 클래스를 만들고 사진을 찍으면 바로 다운로드할 수 있는 형태로 제공합니다. 그리고 사이트에서 직접 training 시키고 live로 카메라를 input 삼아 테스트 할 수 있는데요. 수십장의 사진만 제공해도 잠깐 training 후 동작하는데 성능이 놀랍습니다. 이 정도면 computer vision classification에서 뭘 더 연구해야 할까요???

옆 대학생 친구와 python에 대해 아직 익숙하지 않음에 대해 이야기하다가 이 페이지를 읽어 보라는 말을 들었네요. 바로 list comprehension!!! 저처럼 list comprehension이 뭔지 모르시는 분들은 읽어 보세요~

https://shoark7.github.io/programming/python/about-list-comprehension-python

 

[Python] list comprehension에 대한 즐거운 이해

리스트를 생성하는 Python만의 독특한 문법인 list comprehension에 대해 살펴보고 다양한 예제를 만들어봅니다. 그리고 set, tuple, dict와 같은 다른 내장 자료구조에도 적용해봅니다.

shoark7.github.io

 

참고) matplot library https://matplotlib.org/gallery.html

 

Thumbnail gallery — Matplotlib 2.0.2 documentation

 

matplotlib.org