본문 바로가기

분류 전체보기

(18)
나만의 퍼스널컬러 찾기 youtu.be/U8byauK62dg 관련된 나의 포스팅: 얼굴인식 관련 포스팅 - studycodeihl.tistory.com/17?category=803319 딥러닝 관련 포스팅 - https://studycodeihl.tistory.com/10 웹 포트포워딩 관련 포스팅 - studycodeihl.tistory.com/15?category=806109 주요코드 def is_warm(lab, hsv): #h5 모델 불러오기 model = load_model('warm_cool_.h5') #warm or cool Y_prediction = model.predict([[lab[0], lab[1], lab[2], lab[3], lab[4], lab[5], lab[6],lab[7], lab[8], hsv[0..
졸업프로젝트: 아두이노를 이용한 방범용 신발과 앱 youtu.be/DJXYGzg9UCg 깃허브 주소: https://github.com/honeycom/MFS 1. 작품 소개 ○ Motion For Safe - Motion For Safe(이하 MFS)는 사용자의 움직임을 인식하는 방범용 아두이노 신발임. - 신발에 부착된 센서들을 통해 사용자 움직임 값이 실시간으로 어플리케이션(이하 앱)으로 전송됨. 만약 움직임 값이 지정해 놓은 패턴대로 올 경우 그 패턴과 매칭 되는 일을 수행함. 또한 수행된 일은 서버로 전송됨. ○ 기획의도 - 기존의 호신용품들은 실전에서 사용하기 힘들고 효과가 기대이하인 경우가 많음. - 또한 기존의 호신용품들은 손을 사용할 수 없을 경우 무용지물임. - 위의 문제들을 해결하면서 좀 더 효과적인 호신용품을 목표로 함. ○ 작품 ..
opencv - 얼굴 각 부위 인식하기 dlib, imutils 패키지를 사용하면 얼굴 사진에서 각 부위를 인식할 수 있다. 나의 경우 눈, 눈썹, 피부색이 필요했는데 이를 한번 추출해보자. 0. 준비 pip로 dlib, imutils, opencv를 설치한다. 그리고 shape_predictor_68_face_landmarks.dat 파일을 다운받는다. http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 1. 이미지 불러와서 얼굴에 68개의 점 찍기 detector = dlib.get_frontal_face_detector() predictor = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat') img = cv2.im..
keras load_model함수 버전 오류 Raspberry에서 keras.models.load_model 혹은 tensofrlos.keras.models.load_model을 하니 오류가 생겼다. 원인은 Google Colab에서 만든 model을 load_model하려니 tensorflow의 버전이 안맞는 것이었다. Colab은 tensorflow 2.3을 사용하고 라즈베리에서 pip3 install tensorflow를 하면 2.0이 설치된다. 따라서 해결방법은 다음과 같다. 1. tensorflow 2.2 설치하기 github.com/lhelontra/tensorflow-on-arm/releases Releases · lhelontra/tensorflow-on-arm TensorFlow for Arm. Contribute to lhelon..
포트포워딩과 ddns(KT) 개발한 웹페이지를 내 PC뿐만 아니라 언제 어디서나 볼 수 있도록 포트포워딩과 ddns를 설정해보자 1. 포트포워딩 포트포워딩을 사용하면 다른 사람이 내 ip:포트 로 접속하였을 때 공유기에 물려있는 PC들 중 웹서버가 있는 PC로 자동 접속하게 된다. 1) 공유기 설정페이지 접속 우리 집은 KT이므로 KT공유기 설정 페이지인 http://172.30.1.254/로 접속하였다. 따로 설정하지 않았다면 아이디 ktuser / 비밀번호 homehub 이다. 2) 서버가 있는 PC의 IP 확인 서버로 사용할 PC의 내부 IP를 확인한다. 3) 포트포워딩 설정 장치설정>트래픽관리>포트포워딩 설정에 들어가서 입력한 후 추가한다. 소스 IP주소, 소스 포트는 빈칸으로 두고 외부포트에는 접속할 포트(나는 8888~빈..
AWS에 웹서버 만들기 - 1 간단한 인공지능 프로젝트를 웹에 올려보려고 웹서버를 만들어보았다. 0.EC2생성 AWS 로그인을 한 후 AWS Management Console에 접속하여 EC2에 들어간다 1. 운영체제 선택 일단 가장 익숙한 운영체제가 Ubuntu라 우분투를 선택했다. 2. 인스턴스 유형 선택 프리티어 등급으로 쓸 수 있는게 하나라서 그냥 그 걸로 선택하고 검토 및 시작을 한다 3. 인스턴스 시작 검토 - 보안그룹 추가 인스턴스시작 검토 화면이 나오면 아래 보안그룹 편집을 선택하고 HTTP, HTTPS 등 사용할 프로토콜을 추가한다. 4. 키생성 시작하기를 누르면 키 생성 페이지에 접속된다. 새로운 키 생성을 선택하고 적당한 이름을 지은 후 다운로드 받자. 5. 인트턴스 시작을 누르면 생성이 완료되었다. 서버에 대해 ..
6-2. 자연어분석(베이즈정리) 1. 베이즈 정리 베이즈 정리란 확률에 관한 정의로 P(B|A) = P(A|B) * P(B) / P(A) 이다. 풀어 쓰자면 A가 발생한 후 B발생 확률 = B가 발생 후 A발생 확률 * B 발생확률 / A발생 확률 이라는 의미이다. 이 베이즈정리를 이용해서 A라는 사건이 B에 속하는지. 즉 지도학습을 구현할 수 있다. 나이브베이즈분류란 텍스트 내부에서 단어 출현 비율을 조사하여 이 텍스트를 어떤 카테고리로 분류할지 판단하는 것이다. 이 때 단어의 출현율은 단어의 출현횟수 / 카테고리 전체 단어 수 로 판단한다. import math, sys from konlpy.tag import Twitter class BayesianFilter: def __init__(self): self.words = set()..
6-1. 자연어분석(NoMLPy, Gensim) 1. 형태소분석: 문장을 형태소 단위로 분할하고 품사를 판별하는 작업 KoNLPy를 사용하여 문장을 형태소분석을 해보자. KoNLPy란 한국어 형태소 분석 라이브러리로 한나눔, 꼬꼬마, Komoran, MeCab, 트위터 등의 형태소 분석기 사용할 수 있다. KoNLPy를 사용하기 전에 자바, KoNLPy 등을 설치해야한다. #apt-get install g++ openjdk-8-jdk python-dev python3-dev #pip install konlpy from konlpy.tag import Twitter twitter = Twitter() malist = twitter.pos("이건 무슨 소리냨ㅋㅋㅋ?!", norm=True, stem=True) print(malist) 코드에서는 트위터 분..
문자열 문제 www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net S = input().lower() L = [] for i in range(97, 97+26): L.append(S.count(chr(i)))#a갯수, b갯수, c갯수..., z갯수 A = max(L) #각 알파벳 갯수중에 최댓값 if L.count(A) >= 2: #해당 최댓값이 중복인 경우 print("?") else: print(chr(L.index(A) + 97).upper()) www.acmicpc.net/problem/2908 290..
5. 딥러닝(Keras) Keras는 머신러닝 라이브러리 Theano와 TensorFlow를 래핑한 라이브러리이다. 1. 데이터셋 만들기 import tensorflow as tf import pandas as pd, numpy as np from tensorflow import keras #BMI 데이터를 읽기 df = pd.read_csv("colors.csv", names = ["llc","lleb","lle"....,"colors"]) #정규화 #레이블 dataset = df.values X = dataset[:,0:18].astype(float) Y_obj = dataset[:,18] #마지막 19번째 칼럼 "colors" #레이블 변환 e = LabelEncoder() e.fit(Y_obj) Y = e.transfor..