DEEP.I - Lab

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

반응형

Python/Python 16

[Python] OpenCV 웹캠 연결 문제 cv2.VideoCapture 해결 방법 #1

Concept 윈도우 기본 카메라 앱에서는 출력되지만, opencv에서 특정 웹캠 연결 문제가 발생하여 영상이 출력되지 않는 경우가 가끔 발생합니다. 다양한 이유가 있지만, 동영상 프레임을 불러오는 과정을 결정짓는 apiPreference 문제로 발생하기도 합니다. 일반적으로 opencv가 알아서 최적값을 찾아주지만 영상 출력이 되지 않는다면 한 번 시도해보길 바랍니다. VideoCaptureAPIs 열거형 상수 설명 CAP_ANY 자동 선택 CAP_V4L, CAP_V4L2 V4L/V4L2(리눅스) CAP_FIREWIRE, CAP_FIREWARE, CAP_IEEE1394 IEEE 1394 드라이버 CAP_DSHOW 다이렉트쇼(DirectShow) CAP_PVAPI PvAPI, Prosilica GigE ..

Python/Python 2021.03.29

[Python] Pyinstaller 오류 : A RecursionError (maximum recursion depth exceeded) occurred.For working around please follow these instructions 해결하기

Concept Pyinstaller는 파이썬 기반 실행 파일을 만드는 강력한 툴입니다. 윈도우나 맥 환경에 맞추어 자동으로 라이브러리와 필요 모듈을 내장하기 때문에 쉽게 배포판을 만들수 있죠. 하지만, 파이썬 자체 인터프리터의 용량과 기타 압축 한계로 인해 C 기반 프로그램보다 용량이 상당히 커진다는 단점이 있기는 합니다. 이를 위해 사용하는 오픈 라이브러리를 최소화하여 프로그래밍 하게됩니다. 프로젝트가 커지면 정말 많은 라이브러리를 Import하게 되는데, 이때 오류가 발생하곤 합니다. 파이썬을 실행파일로 만드는 과정에서 기준치 이상의 메모리 연산량을 요구하기 때문에 발생하는 오류입니다. 이를 해결하기 위해서는 오류와 함께 코드가 실행된 폴더에 생성되는 .spec 파일을 수정해야 합니다. # -*- m..

Python/Python 2021.03.24

[Python] SORT (Simple Online Real time Tracker) 구현하기 (깃허브 소스 코드)

Concept 컴퓨터 비전 분야에서 응용되는 대표적인 딥러닝 기술은 객체 탐지(Object Detection)입니다. 객체 탐지는 Faster-RCNN, SDD, YOLO 등이 제안되면서 최근 객체 탐지 기술은 꽤 높은 수준으로 상향 평준화되어있습니다. 탐지 기술은 발전하고 있지만, 단순히 객체를 탐지하는 수준으로는 실제 상업적인 비즈니스 단계에서 활용성이 높지 않습니다. Application을 위해 객체를 추적(Tracking) 하고, 인식(Identification) 하고, 객체의 행동(Action Recognition)을 판단하는 기술들이 더해지고 있습니다. 다양한 응용 기술 중에서 탐지된 객체를 추적하고 아이디를 부여하는 Tracking 기술을 다뤄보려 합니다. 이번 포스팅은 다중 객체 탐지 (M..

Python/Python 2021.02.26

[Python] MOT(Multi-Object Tracking) 평가를 위한 데이터 다운로드

Concept 컴퓨터 비전 기반 딥러닝 기술의 성장과 함께 객체 추적(Tracking) 알고리즘이 발전하고 있습니다. 특히, 객체 탐지 성능이 좋아지며 최근에는 단일 객체가 아닌, 다중 객체 추적 (MOT : Multi - Object Tracking) 이 주요 과제로 자리하고 있습니다. 최근 MOT의 트렌드는 CNN 기반 특징맵, 예측 필터, 그래프 모델 등을 융합하는 방식으로 성능을 향상시키고 있으며, 이와 관련된 다양한 평가 데이터가 공개되어있습니다. 현재 작성중은 논문을 정리하면서, 알고리즘과 데이터를 포스팅으로 남기려 합니다. 이번 포스팅은 MOT 성능평가로 활용되는 대표적인 데이터 MOT Challenge Dataset을 다운받는 기본적인 방법입니다. MOT Dataset motchalleng..

Python/Python 2021.02.23

[Python] 파이썬에서 매트랩 MAT 파일 읽기 (scipy)

Concept 사실 저는 학+석사 시절, 매트랩을 품에 안고 살았기때문에 한글보다 매트랩 문법 읽는게 편했습니다.? 그러다보니 아직까지도 데이터를 확인하고 분석하는데 매트랩을 자주 이용하는 편입니다. 데이터를 전처리하거나 시각화 과정에서 파이썬과 매트랩 이동이 많은데 고맙게도 python의 scipy 라이브러리에서 매트랩 데이터 저장 형식 파일을 읽기를 지원하고 있습니다. SourceCode Scipy 설치 pip install scipy mat 파일 읽기 from scipy import io # 데이터 파일 불러오기 mat_file = io.loadmat('mnist_train.mat') # 특정 변수 읽기 input_x = mat_file['x'] target_y = mat_file['y'] mat ..

Python/Python 2021.02.06

[Python] Windows에서 파이썬 아나콘다 가상 환경 만들기

Concept 프로그래밍을 구현하다 보면 다양한 라이브러리, 함수, 패키지를 다운로드하게 됩니다. 이 과정이 쌓이고 쌓이다 보면 충돌이 발생하거나 특정 프로그램 구현에 필요한 패키지가 무엇인지 구분하기 어렵게 되죠. 저는 이런 문제를 방지하기 위해 모든 프로젝트마다 하나의 가상 환경을 구현하여 진행합니다. 이렇게 되면 코드가 엉키거나 의존성 문제가 발생했을때 단지 그 가상 환경만을 제거해주면 되기 때문에 편리해집니다. 이번 포스팅에서는 간단하게 아나콘다 설치부터 특정 파이썬 버전으로 가상 환경을 생성하는 방법을 다뤄보겠습니다. 1. 아나콘다 패키지 다운로드 링크를 통해 아나콘다를 설치합니다. 운용되는 환경에 맞춰 파일을 다운로드 해주세요. www.anaconda.com/products/individual..

Python/Python 2021.01.13

[Python] 파이썬 OpenCV를 이용한 성별 및 나이 예측하기

Concept 지난 포스팅에 이어, 얼굴 인식 후 적용할 수 있는 성별 및 나이 예측 알고리즘입니다. 모두 파이썬 기반 OpenCV를 통해 구현하였으며 지난 포스팅을 참고하시면 기본적인 얼굴 탐지 알고리즘을 구현할 수 있습니다. deep-eye.tistory.com/18 [Python] 파이썬 OpenCV를 이용한 얼굴 인식 과거 얼굴인식은 첩보영화나 CSI와 같은 드라마에서 범죄자를 찾는데 활용되는 신기술로 인식되었으나, 머신러닝과 하드웨어의 발전으로 이젠 일상에서 쉽게 접할 수 있게 되었습니다. 현재 얼 deep-eye.tistory.com Algorithm 비교적 단순한 구조를 가지는 CNN 기반 신경망 모델입니다. 얼굴 탐지를 통해 예측된 얼굴의 위치 (경계 상자)를 기준으로 이미지를 추출한 뒤,..

Python/Python 2021.01.06

[Python] 파이썬을 이용한 DBSCAN 군집화 알고리즘 구현

Concept DBSCAN (Density-based Spatial Clustering of Applications with Noise)은 비선형 클러스터의 군집이나 다양한 크기를 갖는 공간 데이터를 보다 효과적으로 군집하기 위해 이웃한 개체와의 밀도를 계산하여 군집하는 기법입니다. K-Means와 같이 군집 이전에 클러스터의 개수가 필요하지 않고 잡음에 대한 강인성이 높기 때문에 현재까지도 다양한 분야에서 활용되고 있습니다. 이번 포스팅에서는 파이썬을 이용해서 DBSCAN 알고리즘을 구현해보도록 하겠습니다. Algorithm 사실 DBSCAN은 컴퓨팅 알고리즘으로 제안된 기법이기 때문에 특별한 수식이 존재하지 않습니다. 2가지 파라미터만 기억하면 됩니다. 이웃과의 거리를 나타내는 최소 이웃 반경 $\e..

Python/Python 2020.12.08

[YOLO] 객체 탐지 알고리즘 학습을 위한 이미지 데이터 라벨링 #3 YOLO 라벨링 프로그램

이미지나 영상에서 객체를 지능적으로 찾기 위해 제안된 객체 탐지 알고리즘은 RCNN 계열과 더불어 SDD와 YOLO 등 다양한 기법으로 파생되고 있습니다. 하지만 아직까지 실제 현업 application 단계에서의 실용성과 효율성 문제, 구현 난이도로 인해 YOLO가 압도적으로 활용되고 있는 것 같습니다. 이번 포스팅에서는 YOLO 학습을 위한 데이터 라벨링 프로그램 하나를 소개하려 합니다. github.com/developer0hye/Yolo_Label developer0hye/Yolo_Label GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2 https://github.com/Ale..

Python/Python 2020.12.02

[Python] 파이썬을 이용한 다층신경망 (Multi-Layer Perceptron: MLP) 구현하기 (XOR 문제)

1986년 역전파 알고리즘 (Backpropagation)의 개념이 도입되면서 Machine Learning이 다시 주목받게 되었습니다. 기존 단층 신경망으로는 해결할 수 없었던 비선형 문제 해결이 가능한 다층 신경망은 현재 응용되고 있는 CNN(Convolutional Neural Networks)의 기반이 되고 있습니다. 이번 포스팅에서는 파이썬을 이용해서 다층 신경망을 구현해 보록 하겠습니다. 매트랩을 이용한 다층신경망 구현 포스팅과 동일한 메커니즘으로 설계했습니다. 매트랩 코드는 이전 포스팅을 참고해 주시길 바랍니다. deep-eye.tistory.com/16 [Matlab] 매트랩을 이용한 다층신경망 (Multi-Layer Perceptron: MLP) 구현하기 (XOR 문제) 1986년 역전파..

Python/Python 2020.11.28
반응형