DEEP.I - Lab

오프라인 공간의 지능화를 꿈꾸는 딥아이 연구실입니다.

반응형

Python/Python 16

[Python] PyTicToc 파이썬에서 경과 시간 간편하게 측정하기

프로그래밍을 하다 보면 여러 가지 이유로 알고리즘 연산 시간을 측정하게 되는 경우가 발생하게 됩니다. 파이썬에서는 보통 time이나 timeit 모듈을 통해 측정하고 있습니다. 복잡한 코딩을 요구하지는 않지만, 좀 더 쉽고 빠르게 경과시간을 측정할 수 있는 PyTicToc를 소개합니다. PyTicToc은 매트랩 기본 함수로 제공되는 tic toc 시간 측정과 매우 유사합니다. 우선 pip를 통해 설치를 해줍니다. pip install pytictoc 1. 모듈 불러오기 from pytictoc import TicToc # TicToc 클래스 생성 t = TicToc() TicToc을 import 한 다음, 클래스를 생성해주면 모든 준비가 완료됩니다. 2. 시간 연산 t.tic() # 시작 시간 # 알고리..

Python/Python 2020.11.25

[Python] 파이썬 OpenCV를 이용한 얼굴 인식

과거 얼굴인식은 첩보영화나 CSI와 같은 드라마에서 범죄자를 찾는데 활용되는 신기술로 인식되었으나, 머신러닝과 하드웨어의 발전으로 이젠 일상에서 쉽게 접할 수 있게 되었습니다. 현재 얼굴인식 기술은 크게 탐지(Detection)과 인식(Identification)으로 나뉘고 있습니다. 페이스북이나 인스타그램에 사진을 업로드할때 얼굴을 찾아주는 탐지 기술, 아이폰 보안 기술로 활용되는 Face ID는 인식 기술이 아마 대표적이고 우리에게 친숙한 얼굴 인식 응용 기술이지 않을까 싶습니다. 이번 포스팅에서는 비교적 과거 기술이지만 간단하게 CPU에서도 연산이 가능한 얼굴 탐지 알고리즘 Cascading classifiers를 OpenCV를 이용하여 구현해보록 하겠습니다. 1. Haar Cascade 분류기 불..

Python/Python 2020.11.05

[Python] configparser를 이용하여 config (설정값 ini 파일) 관리하기

프로그램을 개발하다보면 환경이나 사용자에 따른 설정값이 필요한 경우가 있습니다. 이러한 설정값을 매번 변수로 설정하고 불러오게 된다면, 불편함이 따르게되고 다양한 환경설정에 어려움이 생기게됩니다. 쉽게 예를 들면, 그림 1과 같이 게임에서 그래픽 설정이 있죠. 이번 포스팅에서는 쉽게 설정 파일을 읽고 쓰게 할 수 있는 표준 라이브러리 configparser 패키지 관리에 대해 알아보겠습니다. 1. configparser를 이용한 설정파일 만들기 import configparser # 설정파일 만들기 config = configparser.ConfigParser() # 설정파일 오브젝트 만들기 config['system'] = {} config['system']['title'] = 'Neural Netwo..

Python/Python 2020.11.01

[Python] OpenCV 실시간으로 영상의 Frame Rate (FPS) 확인하기

연속된 이미지나 비디오 파일을 다룰때 영상 처리 알고리즘이 추가되면 연산으로 인해 프레임 드롭이 발생할 수 있습니다. 예를 들어, 모든 화면을 3D 렌더링으로 표현하는 게임의 경우 연산량이 많아지는 구간이나, 높은 수준의 그래픽으로 프레임 저하가 발생하게 되죠. 실시간 영상을 입력받는 딥러닝 알고리즘의 경우, 성능도 중요하지만 REAL-TIME으로 구현이 가능하냐도 중요한 이슈가 되고 있습니다. 일반적으로 초당 6프레임 이상의 연산이 가능할때 실시간 (REAL-TIME) SYSTEM으로 정의합니다. 이번 포스팅에서는 실시간으로 측정되는 영상+알고리즘의 FPS를 확인해보도록 하겠습니다. 1. VideoCapture.py (기본 캡처 모듈 불러오기) import cv2 import timeit # 영상 정보..

Python/Python 2020.10.23

[Python] OpenCV를 이용한 영상 재생과 Frame Rate (FPS) 조절

연속된 이미지나 비디오 파일을 다룰때 재생되는 프레임의 속도를 조절해야하는 Task가 발생하게 됩니다. 특히, 실시간으로 이미지 프로세싱을 하게 될 경우, 모든 프레임에 알고리즘을 적용하게 되면 연산으로 인해 재생이 지연되는 상황이 발생하게 됩니다. 1초 동안 10개의 프레임(이미지)이 재생되는 영상이 있다고 가정해보겠습니다. 단일 프레임 연산이 1초가 걸리는 딥러닝 알고리즘을 적용하게되면, 영상은 1초이지만 10초의 시간동안 영상이 재생되게 됩니다. 물론 모든 프레임에 대해 알고리즘이 적용되면 좋겠지만 실시간이 요구되는 상황에서는 지연이 발생하게 되죠. 이러한 지연을 방지하기 위해 time 함수를 이용하여 알고리즘에 적용되는 FPS를 지정해보겠습니다. 1. VideoCapture.py (기본 캡처 모듈..

Python/Python 2020.07.12

[YOLO] Python과 OpenCV를 이용한 실시간 객체 탐지 알고리즘 구현

Window 아나콘다 가상 환경을 활용하여 YOLO Object Detection을 구동해보았습니다. 일반적으로 쓰이는 프레임워크 Darknet이 아닌OpenCV 내장 함수를 이용하였기에 복잡한 설치나 환경 설정이 필요하지 않습니다. 출처 : https://pysource.com/2019/06/27/yolo-object-detection-using-opencv-with-python/ YOLO object detection using Opencv with Python - Pysource We’re going to learn in this tutorial YOLO object detection. Yolo is a deep learning algorythm which came out on may 2016 an..

Python/Python 2020.06.26
반응형