머신러닝, 딥러닝

    파이토치 첫걸음

    운 좋게도 페이스북 이벤트에 당첨되어 한빛미디어 출판사의 파이토치 첫걸음이라는 딥러닝 입문 책을 무료로 받게 되었다. (받은지는 좀 됐지만) 잠깐 읽어본 느낌으로는 꽤 괜찮은 책인 것 같다. 요즘 파이토치에도 관심이 가서 한번 열심히 읽어봐야겠다.

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #4 - 모델 실행

    이전글 2019/01/30 - [프로그래밍/딥러닝] - 텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #3 - 데이터 학습 및 모델 만들기 에 이어서 마지막 단계이다. 직전 단계에 제작한 모델에는 장애물에 좌표에 따른 점프 타이밍이 학습되어있는 상태이다. 이 모델을 실행하는 방법은 아래와 같다. AI_play.py from keras.models import load_model import numpy as np from PIL import ImageGrab import cv2 import cv2 as cv import keyboard model = load_model('dino.h5') template1 = cv.imread('images/cactus1.png', 0) template2 = cv.imr..

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #3 - 데이터 학습 및 모델 만들기

    2019/01/30 - [프로그래밍/딥러닝] - 텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #2 - 데이터 만들기 이제는 딥러닝의 핵심인 학습과 모델이다. 텐서플로우를 백엔드로 하는 케라스를 이용해 학습 및 모델을 만들었으며 인공신경망은 3개의 relu 은닉층을 가진다. train.py from keras.models import Sequential from keras.layers import Dense from keras.callbacks import ModelCheckpoint, EarlyStopping import pandas as pd import numpy import tensorflow as tf import matplotlib.pyplot as plt seed = 0 numpy.rand..

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #2 - 데이터 만들기

    2019/01/26 - [프로그래밍/딥러닝] - 텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #1 - 템플릿 매칭 이전 글에 이어서 이번에는 텐서플로우로 학습할 데이터를 생성하는 과정을 소개한다. make_data.py import numpy as np from PIL import ImageGrab import cv2 import cv2 as cv import keyboard template1 = cv.imread('images/cactus1.png', 0) template2 = cv.imread('images/cactus2.png', 0) template3 = cv.imread('images/bird1.png', 0) template4 = cv.imread('images/bird2.png', 0) ..

    텐서플로우, 케라스로 크롬 공룡게임 AI 만들기 #1 - 템플릿 매칭

    최근 딥러닝을 공부하면서 가장 처음 만든 모델을 공유하고자 한다. 바로 인터넷 연결이 안될때 즐길수 있는 크롬 브라우저의 공룡게임을 머신러닝으로 학습시켜 제작한 AI이다. 전에 제작한 2018/03/02 - [아두이노/프로젝트] - 아두이노 크롬 공룡게임 자동 플레이 의 AI 버전이라고 생각하면 편하다. 이미 모델은 완성되었지만 3단계 정도로 나누어 개발과정을 소개하고자 한다. 만약 완성된 코드가 궁금하다면 필자의 깃허브 링크 https://github.com/Hydragon516/Deep-Learning-Google-Chrome-Dinosaur-Game 에 전체 코드들과 모델 데이터, 실행방법 등을 확인할 수 있다. (필자의 딥러닝에 대한 지식은 "모두의 딥러닝"이라는 좋은 입문서의 내용이 전부라서 초..

    윈도우 환경에서 YOLO로 실시간 객체탐지

    YOLO는 you only look once 의 줄임말로 딥러닝에 관심이 있다면 한번쯤 들어봤을 법한 강력한 객체 인식 알고리즘이다. https://pjreddie.com/darknet/yolo/ 개발자의 홈페이지에 리눅스 환경에서 설치와 실행하는 방법이 자세히 나와있다. 필자는 우분투가 설치된 컴퓨터가 있지만 윈도우 환경에서 실행해보고자 한다. 방법은 크게 2가지가 있는데 만약 C언어로 개발할 계획이면 visual studio에서 YOLO를 빌드하는 방법이 있고 (YOLO는 C를 기본으로 개발됬다.), 파이썬을 더 선호한다면 파이썬의 강력한 딥러닝 툴인 텐서플로우를 이용하는 방법이 있다. 여기서는 후자의 방법을 소개한다. YOLO를 실행하는 환경을 개발자는 darknet 이라고 명명했는데, 어떤 고마운..

    텐서플로우와 케라스로 딥러닝 환경 구축하기

    최근 딥러닝에 관심을 가지게 되면서 관련된 책을 구입해 독학해보는 중이다. 이 책이 딥러닝을 처음 공부하기에는 최고의 책이 아닌가 싶다. 파이썬, 텐서플로우, 케라스 조합으로 딥러닝의 기초부터 자세하고 쉽게 설명해 마음이 든다. (다만 책에 오류와 오타가 좀 있는데 한번 문의해볼 생각이다.) 그래서 이 참에 위 책의 내용을 토대로 배운 딥러닝 개발환경을 구축하는 방법을 공유하고자 한다. 우선 필자의 경우는 노트북에 외장 그래픽 카드가 장착되어 있으므로 GPU를 사용하는 방식으로 구축하고자 한다. 만약 본인이 GPU가 없다면 아래 내용의 3번부터 시작하면 된다. 1. CUDA 설치 GPU의 연산을 효율적으로 도와주는 CUDA는 아래 링크에서 다운이 가능하다. https://developer.nvidia.c..

    네이버 얼굴인식 API를 이용해 얼굴인식하기

    네이버 개발자 센터(https://developers.naver.com/main/) 는 네이버에서 제작한 다양한 API서비스를 제공한다. 그 중 네이버 Clova에는 얼굴인식을 구현하는 API를 제공하고있다. 이번에 시도해볼 것은 네이버 API를 이용해 사진속 얼굴을 인식해 표시하는 예제를 제작해보는 것이다. 우선 개발자센터에 들어가 네이버 Clova에 얼굴인식 API를 신청해 클라이언트 ID등을 발급받아야 한다. 이 과정은 인터넷에 자세히 나와있으므로 여기선 다루지 않는다. (별로 어렵지도 않다.) Python 개발환경에 아래 코드를 입력한다. 123456789101112131415161718192021import cv2import requestsimport jsonclient_id = "*****"c..

    딥러닝 기반의 GOTURN 방식으로 물체 추적하기 [OpenCV/Python]

    딥러닝 기반의 물체 추적방식은 다양하지만 OpenCV 내에서 가장 간단하게 해볼수있는 방법은 바로 GOTURN을 이용하는 것이다. 출처 : https://www.learnopencv.com/goturn-deep-learning-based-object-tracking/ 이번에 소개해볼 GOTURN의 소스코드와 기타 자료들은 모두 https://www.learnopencv.com/goturn-deep-learning-based-object-tracking/를 참고했음을 밝힌다. 우선 파이썬 개발환경에 아래 코드를 입력한다. # Copyright 2018 Satya Mallick (LearnOpenCV.com) # Import modules import cv2, sys, os if not (os.path.is..

# 테스트용