일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Convolution Neural Network
- 영어명언
- #영어
- c언어
- findContours
- word embedding
- 이미지 생성
- opencv SURF
- #프로젝트
- #영어 명언
- #1일1영어
- python __init__
- #실생활영어
- python list
- #opencv
- 영어
- #English
- 완전탐색
- object detection
- 딥러닝
- convexhull
- #Android
- TensorFlow
- tokenizing
- #일상영어
- keras
- python 알고리즘
- text2img
- tensorflow update
- #실생활 영어
- Today
- Total
목록분류 전체보기 (183)
When will you grow up?

이번에는 Haar Cascade를 이용하여 얼굴인식을 해보자. 최근들어 yolo, facenet, vgg-face등 다양한 딥러닝을 이용하여 많이 인식을 하고있는데 낭중에 기회가 되면 포스팅을 해야겠다. 약 10줄되는 코드로 학습된 cascade xml를 불러와서 인식을 해보자. 사용되는 python버전은 3.6, opencv 3.4.7를 이용하여 opencv다운은 여기서 할 수 있다. 학습을 위한 데이터도 충분하지 않아, 사전학습된 xml를 이용하여 검출해보자. xml은 opencv git에서 받을 수 있다. 다운 전체코드 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 # load packages import cv2 impor..

그래프(graph)는 여러 노드(node or vertex)들이 간선(edge)으로 연결된 추상 네트워크를 말한다. 즉, 그래프는 노드+간선의 집합으로 정의된다. 수식 - G=(V,E) V: vertex의 유한 집합, E: 간선 집합 그래프 방향 그래프는 방향이 있는 그래프(directed)와 방향이 없는 그래프(undirected)가 있다. 방향이 있는 그래프는 간선에 방향이 지정되어 있지 않아, 서로 인접(adjacent)해 있으며, 이웃(neighbor)이라고 한다. 부분 그래프 부분 그래프(subgraph)는 그래프 G에서 V와 E로 주성된 그래프의 일부이다. 완전 그래프 완전 그래프(complete graph)는 그래프의 모든 노드가 서로 인접한 그래프를 말한다. 차수 차수(degree)는 한 ..
객체지향설계, 파이썬 고급주제는 향 후 시간이 남을때 한번 정리하기로 하고, 이제 알고리즘 세상 속으로 들어가보자. 추상 데이터 타입(abstract data type)은 유사한 동작을 가진 자료구조의 클래스에 대한 수학적 모델을 가르키며, 각기 크래스는 다르지만, 기능적으로 동일하게 구현된 자료구조를 가질 수 있다. 먼저 알고리즘을 이해하기전 자료구조에 대해 알아보자. 자료구조는 크게 배열 기반 연속방식과 포인터 기반의 연결 방식으로 분류한다. 스택(stack) 큐(queue) 데크(deque) 우선순위 큐(priority queue) 힙(heap) 연결 리스트(linked list) 해시 테이블(hash table) 스택(stack) - 배열의 끝에서만 데이터를 접근할 수 있는 선형 자료구조형식이며,..
- 모듈 파이썬에서 모듈(module)은 def를 사용하여 정의한다. def가 실행되면, 객체와 참조가 같이 생성되는데, 반환값을 정의하지 않으면 None을 반환한다. 이처럼 반환하지 않는 함수는 프로시저(procedure)라고 부른다. - 스택과 활성화 레코드 함수가 호출될 때마다 활성화 레코드(activation record)가 생성되는데, 활성화 레코드에는 함수의 정보(반환값, 매개변수, 지역변수, 반환값, 반환 주소 등)가 기록되며 이 정보는 스택(stack)에 저장에 저장한다. - 모듈의 기본값 모듈을 생성할 때, 함수 또는 메소드에서 가변 객체를 기본값으로 사용해선 안된다. bad ex) def bad_append(number, number_list=[]): number_list.append(..
스퀀스(sequence) 자료구조는 데이터를 슬라이싱이 하거나 정렬했는데, 컬렉션(collection) 자료구조는 데이터를 서로 연관시키지(relating) 않고 모아두는 컨테이너(container)다. 속성 : 멤버십 연산자(in), 크기 함수(len(seq)), 반복성 위 세가지 속성을 지니고 있으며, 파이썬 내장 컬렉션 데이터 타입에는 Set, Dictionary가 있다. - 셋(Set) : 반복 가능하고, 가변적이며, 중복 요소가 없고, 정렬되지 않은 컬렉션 데이터 타입이다. 일반적으로 멤버십 테스트나 중복 항목 제거에 사용된다. dir(set()) 을 통해 속성을 확인할 수 있다. Set 메소드 A.add(x) - set A에 x가 없는 경우 x 추가 company = {'네이버', '카카오',..
알고리즘 문제를 풀 때 자주 사용되는 내장시퀀스데이터타입에 대해서 알아보자. python의 시퀀스(sequence) 데이터 타입은 다음과 같은 속성을 가진다. - 맴버십(membership)연산 : in 키워드 이용 - 크기(size) 메소드 : len(seq) - 슬라이싱(slicing) 속성 : seq[0:-1] - 반복성(iterability) : 반복문에 있는 데이터 순회 파이썬에는 문자열, 튜플, 리스트, 바이트 배열, 바이트 등 5개의 내장 시퀀스 타입이 있다. #list bin_list = [] print(type(bin_list)) # class 'list' #string bin_str = '' print(type(bin_str)) # class 'str' #tuple bin_tuple =..
새로운 언어를 배울때 일반적으로 'Hello World'를 출력으로 시작한다. 그 다음 숫자와 산술 연산을 이용하여 뭔가를 계산한다. 숫자는 정수(integer), 부동소수점(float), 복소수(complex)로 나타낸다. 사람에게는 10개의 손가락으로 표현하는 십진법(decimal)로 표현하는것이 자연스러운 반면에 컴퓨터는 상태의 신호(참, 거짓)를 주고받는 이진법(binary)로 표현하는것이 자연스럽다. 따라서 컴퓨터는 정보를 bit로 표현하고 8진법, 16진법 등 2의 배수 표현도 사용한다. 정수(integer) 파이썬에서는 정수를 int로 나타내며 불변(immuable)형이다. 불변형 객체는 변수와 객체 참조간 차이가 없고 컴퓨터 메모리에 의해 제한된다. -> (1024).bit_length()..

크롤링(crawling)은 웹 페이지의 내용을 가지고 오는 것을 말하며 스크래핑(scraping)이라고도 부른다. 구굴, 네이버, 다음과 같은 검색 엔진 사이트들은 검색 속도를 높이기 위해 로봇(robot) 프로그램을 만들어서 자동으로 웹 페이지를 크롤링 할 수 있게 만들었으며, 무분별한 크롤링을 막고 제어하기 위해 로봇 배제 규약을 만들고 robot.txt 에 들어가서 크롤링 허가 / 불허가 여부를 이 파일에 적어 놓자고 약속한 규약이다. 구글에서서 로봇 정보를 보고 싶다면, https://www.google.com/robots.txt 접속 후 확인할 수 있다. ex) [Robots.txt] 예 ) 홈페이지 전체가 모든 검색엔진에 허용되지 않음 User agent: * Disallow: / 예 )홈페이..
정규표현식은 'regex' 표현하기도 하며, 특정한 규칙을 가진 문자열을 집합을 표현하는 데 사용하는 형식 언어이다. 그래서 python 뿐만 아니라 모든 언어에서 정규표현식을 지원하며, 언어별로 큰 틀은 비슷하지만 조금씩 사용방법이 달라 이참에 간단하게 python을 이용하여 정리하였다. 나는 기본적으로 데이터 크롤링과정이나 json포맷을 뭔가 전처리를 하고 싶을 때 이용하는 편이고, 특히 문자열을 다룰 때 정말 유용한 거 같다. meta string explain [string1, string2, ...] [] 안에 있는 문자들이 존재하는 지 검색 .{m, n} m회 이상 n회 이하를 표현할때 사용 () ()는 grouping 이며 추출할 패턴을 지정 . \n(Escape Character)를 제외한..
딥러닝 학습중 커널이 죽는 경우가 종종 발생하는데, 그럴때 항상 처음부터 모델을 학습하기에는 너무 오랜시간이 걸리고 다시 학습시 weight들의 초기값에 따라 결과가 조금씩 달라질 수 있는데, 이럴때 사용할 수 있는 방법이 epoch마다 weight 저장과 모델을 저장하는것이다. 또한, 매번 저장하면 용량이 커질수 있으니 val_loss가 낮아질때마다 저장시킬 수 있는 callback방법도 알아보자. 일반적으로 h5와 hdf5 형식으로 많이 저장하는데, 한번 특징을 알아보자 Hierachical Data Format Version 5(.h5, .hdf5) - 대용량 데이터를 저장을 위한 파일 포맷이며 NASA에서 대용량 데이터를 저장하기 위한 도구로 개발되었고 tree 구조를 가지고 있다. ref : h..