목록전체 글 (164)
개발 공부
0. 순서 - 1. 얼굴 인식을 위한 데이터베이스 생성 - 2. 얼굴 촬영 및 저장 - 3. Recognizer 훈련시키기 1. 얼굴 인식을 위한 데이터베이스 생성 먼저 SQLite 3를 이용하여 얼굴 이미지에 상응하는 이름을 저장할 DB를 생성해야한다. 작업 디렉토리에 createDB.py라는 파일을 만들고 아래 코드를 저장한다. import sqlite3 conn = sqlite3.connect('database.db') c = conn.cursor() sql = """ DROP TABLE IF EXISTS users; CREATE TABLE users ( id integer unique primary key autoincrement, name text ); """ c.executescript(sql..
1. 파이썬 가상환경(virtualenv) 설치하기 1-1. 가상환경이 필요한 이유 파이썬 프로그램에 사용되는 패키지와 모듈에는 표준(라이브러리)이 없다. 패키지는 여러 버젼이 존재하고, 이 때문에 각각의 어플리케이션에 각기 다른 버젼의 패키지가 사용되는 경우가 생긴다. 이는 충돌로 이어지는데 이러한 문제를 해결하기 위해 가상환경(virtual envrionment)을 구현하여 사용하게 된다. 자세한 사항은 여기서 확인. 1-2. 가상환경 설치파이썬 폴더(주로 user 아래 ~에 있음) pip 파일이 있는 폴더에서 아래 코드를 실행한다. pip install virtualenv* 설치 안하고도 실행 가능?$ python3 -m venv myvenv1-3. 가상환경 실행virtualenv의 설치가 끝났다면..
비밀 통신 시작A와 B가 비밀통신한다고 가정1. A는 RSA 공개키를 B에게 줌2. B는 AES키를 생성해 A의 공개키로 암호화 시켜 A에게 보냄3. A는 받은 암호화된 메시지를 A의 개인키로 풀어 AES키를 획득4. 그 이후 통신은 AES키로 암호화 시켜 전달한다.이 과정속에서 해커가 메시지를 가로채서 해독하기는 어렵겠지만, B가 해커라면, 비밀통신하는 의미가 없어진다.B가 그 B가 맞는지 입증할 수 있어야 한다. 일반적인 B입증 방법1. 제 3의 인증기관(CA)이 필요하다. 인증서 비용이 매년 발생하게 된다.(물론 무료도 있다.) B는 사전에 B의 공개키+서버 주소등을 CA에 주고, CA는 B가 준 정보를 CA의 개인키로 암호화시킨 인증서로 만들어 B에게 준다.2. A는 CA의 공개키를 갖고 있어야 ..
OPENCV 라이브러리 활용 얼굴인식 프로그램 만들기 OPENCV 설치하기 개발환경 정하기 1. OpenCV란? OpenCV(Open Source Computer Vision Library)는 컴퓨터 비젼(Computer vision)과 머신러닝에 최적화된 2500개 이상의 알고리즘으로 이루어진 오픈소스 소프트웨어 라이브러리이다. 2. 사용 범위 이는 아래와 같은 기술을 구현하는데 사용된다.- 얼굴 식별- 물체 식별- 동영상에서 사람의 행동을 구별- 카메라의 움직임 추적- 움직이는 물체 추적- 물체의 3d 모델링- 스테레오 카메라에서 3d 포인트 클라우드 생성- 이미지 스티칭(여러 이미지에서 중복되는 부분을 찾아서 붙이기)으로 고해상도 파노라마 이미지 만들기- DB에서 유사한 이미지 찾아내기- 플래시를 ..