인공지능 20

Deep Q Learning

Machine Learing의 분류 Supervise Learning(지도학습) Unsupervised Learning(비지도학습) Reinforcement Learning(강화학습) 강화학습 ? 강화라는 개념은 행동심리학자 시크너가 제시한 것으로 행동심리학에서 영감을 받았다고한다. 강화는 동물이 시행착오를 통해 학습하는 것을 말한다. 강화학습은 이 동물처럼 어떤 환경에서 Agent가 경험을 통해 Reward가 최대가 되도록 하는 Action을 상황별로 결정하는 것을 말한다. 지도학습처럼 Label(정답)을 주어 계속해서 옳은 방향으로 나아가는 학습 개념과는 조금 다르다. 사람처럼 실수도 하고 시행착오도 겪는 그런 모습을 표현(적용)한 것이라고 한다. 강화학습의 정의 "어떤 환경 안에서 정의된 Agent..

인공지능 2019.10.26

Style Transfer

Visualizing What Convnets Learn 딥러닝의 블랙박스는 학습된 표현에서 사람이 이해하기 쉬운 형태를 뽑아내거나 제시하기 어렵다. ConvNet은 시각적인 개념을 학습한 것이기 때문에 시각화하기에 좋다. 대표적인 세가지 기법 - 컨브넷 중간층의 출력을 시각화하기: 연속적인 컨브넷층이 입력을 어떻게 변형시키는지 이해하고 개별적인 컨브넷 필터의 의미 파악에 도움이 된다. - 컨브넷 필터 시각화: 컨브넷의 필터가 찾으려는 시각적인 패턴과 개념이 무엇인지 상세하게 이해하는데 도움이 된다. - 클래스 활성화에 대하나 히트맵을 이미지에 시각화: 이미지의 어느 부분이 주어진 클래스에 속하는데 기여했는지 이해하고 이미지에서 객체의 위치를 추정하는데 도움이 된다. 중간 층의 활성화 시각화 - 어떤 입..

[OpenCV] 유튜브영상 윈도우창에 출력하기

https://ytdl-org.github.io/youtube-dl/download.html youtube-dl: Download Page Remember youtube-dl requires Python version 2.6, 2.7, or 3.2+ to work except for Windows exe. Windows exe requires Microsoft Visual C++ 2010 Redistributable Package (x86) and does not require Python that is already embedded into the binary. SHA256: 85a15c9 ytdl-org.github.io 해당 사이트에서 window exe 파일을 다운받아 pip install로 설치..

인공지능/OpenCV 2019.08.15

[OpenCV] 동영상 윈도우창에 출력하기

디지털 비디오는 Frame이 연속되게 보여주는 구성을 가지고 있습니다. 비디오의 속도는 초당 프레임의 개수인 Frames per second (FPS) 로 표현됩니다. 비디오 획득 객체 생성하기 cv2.VideoCapture(filename) 프레임 획득 객체 해제 cv2.VideoCapture.release() 다음과 같이 cap이라는 비디오 획득 객체를 생성합니다. 프레임 사이즈도 출력해 보았습니다. while문에서 cap에서 계속 읽어오는데 이 값이 None이 되면 while문 밖으로 나가게 됩니다. 즉, 동영상이 끝날 때까지 계속해서 cap에서 읽어와 frame에 저장하고 보여줍니다. 동영상의 크기가 커서 resize로 frame의 크기를 반으로 줄였습니다. fx, fy 에는 0~1 사이의 값이 ..

인공지능/OpenCV 2019.08.15

컴퓨터 비전 Computer Vision

컴퓨터 비전은 영상 데이터를 처리하여 의미있는 데이터를 생성하는 것을 말한다. 제품 결함 검사, 문자 인식, 얼굴 인식, 움직이는 물체 검출 및 추적을 할 수 있다. 이진 영상 (Binary Image)라고 한다면 화소 값이 두 가지 (검정색, 흰색)만 있는 영상으로 0과 1로 양자화하는 것이다. 그레이 레벨 영상(Gray Level Image)은 이진 영상보다는 밝은 흑백 사진에 해당된다. 검정색 ~회색 ~흰색으로 밝기 단계가 있고, 이 때 단계의 수는 양자화 비트 수(n)로 결정된다. 보통 영상처리를 할 때 이것으로 처리한다. 컬러 영상(Color Image)은 실제로 눈에 보이는 모습과 비슷하게 밝기와 색상을 표현하는 영상이다. 컬러 영상은 각 픽셀이 3Byte로 표현된다. 한 픽셀당 2^24개의 ..

[Python Lib] googlemaps와 folium

나중에 지도에 데이터를 분석하여 시각화하기 위해 folium 모듈을 사용해보았다. 깃헙에서 json파일을 다운받을 수 있다. https://github.com/southkorea/seoul-maps southkorea/seoul-maps Seoul administrative divisions in ESRI Shapefile, GeoJSON and TopoJSON formats. - southkorea/seoul-maps github.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import googlemaps import folium from datetime import datetime import json map_osm=folium.Map(location=[37.50..

Pandas를 활용한 성남시 인구 통계 시각화 해보기

공공데이터 포털에 있는 자료를 활용하여 성남시 인구 통계를 시각화해보려고 한다. 정확히는 "경기도 성남시_2018년 9월 인구 현황"를 활용하였다. https://www.data.go.kr/dataset/15007386/fileData.do 공공데이터포털 국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dataset)와 Open API로 제공하는 사이트입니다. www.data.go.kr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 ..

[Pandas] txt파일을 excel 파일로 저장하기

식품첨가물 이름과 숫자가 섞인 600개 가량의 식품첨가물 리스트를 엑셀에 정리해야 했는데, 마침 Pandas가 생각나서 편리하게 옮길 수 있었다 :) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import pandas as pd f = open("./addList.txt", 'r') li = [] while True: line = f.readline() if not line: break x = line.split()[0] li.append(x) f.close() values = pd.DataFrame(li, columns=['add']) print(values) filename = './adt.csv' values.to_csv(filename, ..