DEEP.I - Lab

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

반응형

분류 전체보기 69

[Matlab] 객체 탐지 알고리즘 학습을 위한 이미지 데이터 라벨링 #1

현재 딥러닝 객체 인식 분야에서는 학습과 평가 실험을 위한 다양한 데이터셋이 존재합니다. 대표적으로 COCO (Common Objects in Context), KITTI Vision Benchmark Suite 등의 대규모 데이터가 있지만, 실제 시스템에 맞는 딥러닝 객체 탐지 알고리즘을 적용하기 위해서는 결국, 수집된 데이터을 통해 최적화해야합니다. 지도학습으로 정의되는 모든 머신러닝 알고리즘은 학습을 하기 위해 입력되는 데이터(Input)와 데이터를 명시하는 클래스 또는 라벨(Output)이 필요합니다. 단순히 많은 데이터뿐만 아니라 데이터를 알려주는 클래스 정보가 함께 있어야 학습을 진행할 수 있죠. 오늘은 Matlab의 Computer Vision Toolbox에 포함되어있는 Image labe..

Matlab 2020.07.14

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

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

Python/Python 2020.07.12

[Tensorflow] 텐서플로우에서 사전 학습된 VGG16 모델 불러오기

텐서플로우 설치 포스팅에 이어 사전 학습된 VGG 모델을 활용하는 방법을 살펴보겠습니다. VGG Network는 2014년 이미지넷 인식 학술대회에서 2등을 한 신경망 구조입니다. 본격적으로 층이 깊어지기 시작한 초기 모델 중 하나이며, 사용이 쉽고 연결 구조가 직관적이여서 현재까지도 다양한 학습 모델 연구에서 활용되고 있습니다. 모델은 VGG16/19로 나뉘며 본 포스팅에서는 ImageNet 데이터로 사전 학습된 VGG16 모델을 텐서플로우를 통해 활용해보도록 하겠습니다. 기본 시스템 환경은 다음과 같습니다. 윈도우에서 아나콘다 가상환경으로 구축하였으며 파이참으로 코드를 구현하였습니다. 이전 포스팅을 참고하시면 빠르게 기본 환경을 구축하실 수 있습니다. OS : Windows 10 Python : 3...

Python/Tensorflow 2020.07.10

[Matlab] 매트랩을 이용한 실시간 그래프 그리기

매트랩은 다양한 분야에서 분석하거 설계하는데 활용되고 있습니다. 직관적으로 데이터를 확인할 수 있어 데이터분석 입문으로 시작해도 좋다 생각합니다. 특히, 논문에 사용될 그래프를 도시화하는데 정말 쉽습니다!!! 저 역시, 석사 시절 주력으로 사용했습니다... 오늘은 데이터를 실시간 그래프로 업데이트하는 방법과 간단한 응용을 해보도록 하겠습니다. 1. for문을 이용한 난수 데이터 생성기 result = 0; for i = 1 : 1000 result(i) = rand(1,1);plot(result); drawnow;% pause(1) end 핵심은 drawnow입니다. for문 안에서 그래프를 업데이트 할 수 있는 함수입니다. 시간 간격을 두고 업데이틑 하고 싶다면 drawnow 대신 pause() 함수를..

Matlab 2020.07.05

[Tensorflow] 아나콘다 가상환경에서 텐서플로우 설치하기

2019년 말, 텐서플로우 2.0 버전이 배포되면서 머신러닝 분야에서 텐서플로우의 열기는 더욱 더 뜨거워졌습니다. 새로워진 텐서플로우 설치를 시작으로 CNN (Convolutional Neural Network) 기반의 이미지 분류기, Object detection 알고리즘 중 하나인 Faster R-CNN까지 시리즈로 포스팅을 이어나가도록 하겠습니다.텐서플로우 CPU 모드의 경우 설치가 간편하지만, GPU 모드로 구동하실 경우 파이썬이나 CUDA 버전에 의존성이 강하여 초기 설치환경 구축이 매우 중요합니다. 설치되는 라이브러리 또는 프로그램의 모든 버전을 확인하시고 설치해주시기 바랍니다. 1. 가상환경 생성 // 가상환경 생성conda create -n py38tensorflow python=3.8 /..

Python/Tensorflow 2020.07.05

[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

[Kotlin] 라이브러리를 이용하여 실시간 그래프 그리기

안드로이드 라이브러리를 이용한 꺽은선 그래프 그리기 프로젝트로 안드로이드 환경에서 간단한 기계학습 알고리즘을 구현하고 있습니다. 반복 학습을 하며 오차가 감소하는지 실시간으로 그래프로 활용하기 위해 MPAndroidChart 라이브러리를 활용하였습니다. 대학원 시절, 매트랩 코드로 쉽게 구현했던 그래프를 kotlin으로 표현하려니... 어렵네요.. 출처: https://github.com/PhilJay/MPAndroidChart 1. Module/Grandle 라이브러리 적용 우선, 라이브러리 사용을 위해 Module 수준의 Grandle에 코드를 추가해주어야합니다. 이후에는 꼭 상단에 뜨는 파란색 팝업의 Sync Now를 통해 라이브러리를 실제 앱에 적용시켜주세요. repositories { maven..

Kotlin 2020.06.25

[Mask R-CNN] Python과 Keras를 이용한 실시간 객체 탐지 알고리즘 구현

Window 10 환경에서 아나콘다 가상 환경을 활용하여 MASK R-CNN을 구동해보았습니다. 기존 공개된 소스를 기반으로 하되, 프로젝트에 맞게 실시간 구동이 가능하게 일부 수정 하였습니다. CPU와 GPU 환경에서 모두 가능하지만 CPU는 프레임당 5~15초 이상걸리네요. 출처: https://github.com/matterport/Mask_RCNN MASK R-CNN의 경우 페이스북 AI 연구팀에서 개발하다보니 파이토치를 기반으로 오픈소스가 공개되어 파이토치에 익숙하지 않고 플랫폼 변경이 부담스러웠는데 반가운 소식.. 개발자분들의 노고에 감사드립니다... Mask R-CNN MASK R-CNN은 기존 Faster R-CNN에 segmentation을 위한 CNN 구조를 추가하여 객체의 위치, 클래..

Python/Tensorflow 2020.06.23
반응형