no image
[Pose Estimation] 신뢰전파(Belief propagation) 알고리즘
OpenPose 를 프로젝트에 적용하려고 "Convolutional Pose Machines" 이라는 논문을 읽던 중 belief map 이라는 개념이 나왔다. 여기서 칭하는 belief의 뜻이란 아래와 같이 쓰여져 있었다. "We use the term belief in a slightly loose sense, however the belief maps described are closely related to beliefs produced in message passing inference in graphical models. The overall architecture can be viewed as an unrolled mean-field message passing inference algori..
2017.08.02
[Pose Estimation] openpose Library
OpenPose 라이브러리의 정식 최종 버전이 발표되었다. 이 라이브러리는 사람의 행위를 인식하고 스켈레톤 모델을 정확히 구해낼 수 있는 라이브러리 이다. C++ 기반으로 쓰여져 있으며, Caffe 기반의 라이브러리이지만, 간단한 수정이나, 약간의 expend를 원할 경우 Tensorflow 를 사용하거나 Windows 환경에서 실행 해 볼 수 있다. 정확히는 C++와 Caffe 기반의 Real-time multi-person keypoint detection and multi-threading 라이브러리 라고 할 수 있다. 저자는 Gines Hidalgo, Zhe Cao, Tomas Simon, Shih-En Wei, Hanbyul Joo and Yaser Sheikh 이다. 간혹 HAR 관련 논문을 ..
2017.07.28
[Pose Estimation] OpenPose Library - Basic Overview
참고자료 : CMU-Perceptual-Computing-Lab / openpose의 Github HCI(Human-Computer Interaction) 분야와 내가 관심있는 HAR(Human Activity Recognition)에서 요즘 핫한 CMU에서 개발한 Openpose Library의 시스템 구성도이다. Module Diagram 메인 모듈은 세가지로 구성되어있으며, 이를 사용하거나 약간씩 변경하려고 하는 경우 두 가지 메인 컴포넌트로 설명 할 수 있다. 그리고 아래 링크에 모든 모듈의 클래스 다이어그램이 포함되어 있다. openpose/doc/UML/ 그리고 메인 모듈은 다음과 같다. 1. The basic module : core 2. The multi-threading module : ..
2017.07.28
[Action Recognition] Activity Classification Approaches
참고자료 1 : Bux, Allah, Plamen Angelov, and Zulfiqar Habib. "Vision based human activity recognition: a review." Advances in Computational Intelligence Systems. Springer International Publishing, 2017. 341-371. 참고자료 2 : http://blog.naver.com/purity713/220900741260 Generative model vs Discriminative model 데이터 x와 그 데이터들의 Class y가 input으로 주어졌을 때, Generative model은 먼저 p(x|y), p(y)를 m... blog.naver.com ..
2017.07.21
no image
[Deep Learning] 7. 2층 신경망 구현하기
출처 : 밑바닥 부터 시작하는 딥러닝 (한빛미디어) 신경망 학습이 이루어지는 순서는 다음과 같다. 전제 신경망에는 적응 가능한 가중치와 편향이 있고, 이 가중치와 편향을 훈련 데이터에 적응하도록 조정하는 과정을 "학습" 이라고 한다. 신경망 학습은 아래와 같이 4단계로 수행하게 된다. 1단계 미니배치 훈련 데이터 중 일부를 무작위로 가져온 뒤 미니배치의 손실 함수 값을 줄이는 과정을 거친다. 2단계 기울기 산출 미니배치의 손실 함수 값을 줄이기 위해 각 가중치 매개변수의 기울기를 구한다. 기울기는 손실함수의 값을 가장 작게 하는 방향을 제시하게 된다. 3단계 매개변수 갱신 가중치 매개변수를 기울기 방향으로 아주 조금 갱신한다. 4단계 반복 1~3 단계를 반복한다. 이는 6절에서 다루었던 경사 하강법을 이..
2017.07.17
no image
[Deep Learning] 6. 경사하강법 (Gradient Method)
참고자료 1 : 밑바닥부터 시작하는 딥러닝 (한빛미디어) 1. 경사법(경사하강법, Gradient Method) 기계학습 문제 대부분은 학습단게에서 최적의 매개변수를 찾아낸다. 신경망 역시 최적의 매개변수(가중치와 편향)를 학습 시에 찾아야 한다. 여기에서 최적이란 손실 함수가 최솟값이 될 때의 매개변수 값이다. 매개변수 공간이 광대하여 어디가 최솟값이 되는 곳인지를 알아내기가 쉽지 않다. 이런 상황에서 기울기를 잘 이용해 함수의 최솟값을 찾으려는 것이 경사법이다. 여기서 주의할점은 각 지점에서 함수의 값을 낮추는 방안을 제시하는 지표가 기울기라는 것이다. 그러나 기울기가 가리키는 곳에 정말 함수의 최솟값이 있는지, 즉 그쪽이 정말로 나아갈 방향인지는 보장할 수 없다. 함수가 극솟값, 최솟값, 또 안장점..
2017.07.14
[Action Recognition] Human Action Recognition 의 현재
출처 : Terry Taewoong Um 님의 게시물 [Motion에서도 large dataset의 도래가 멀지 않았다!] 딥러닝의 가장 큰 공신은 뭐니뭐니해도 large dataset이다. (그 다음은 뉴럴넷, 그 다음은 GPU). 딥러닝이 지금 사진에서 시작해 음성, 자연어, 비디오로 넘어오고 있는 것도 모두 그들이 웹 또는 모바일에 large dataset을 보유하고 있기 때문이고, 따라서 최신의 딥러닝을 적용하기 참 좋았었다. 그런데 모션에 있어서는 왜 딥러닝을 많이 적용하지 못했을까? 그것은 large dataset의 부재 때문이었다. 그냥 모션이 담긴 비디오를 쓰면 안되냐고요? 현재 비디오에 있어서의 딥러닝은 '어디에 어떤 오브젝트가 있다' 정도를 아는 것이 최고 기술이지, 그들의 관절이 어떻..
2017.07.05
[Pose Estimation] Convolutional Pose Machines
출처 : https://github.com/shihenw/convolutional-pose-machines-release Convolutional Pose Machines Shih-En Wei, Varun Ramakrishna, Takeo Kanade, Yaser Sheikh, "Convolutional Pose Machines", CVPR 2016. This project is licensed under the terms of the GPL v2 license. By using the software, you are agreeing to the terms of the license agreement. Contact: Shih-En Wei (weisteady@gmail.com) Recent Updates..
2017.07.05
[Pose Estimation] OpenPose
출처 : https://github.com/CMU-Perceptual-Computing-Lab/openpose OpenPose Latest News Apr 2017: Body released! May 2017: Windows version released! Jun 2017: Face released! Check all the release notes. Interested in an internship on CMU as OpenPose programmer? See this link for details. Introduction OpenPose is a library for real-time multi-person keypoint detection and multi-threading written in C+..
2017.07.05
[Object Segmentation] Image segmentation using deconvolution layer in Tensorflow
출처 : Image Segmentation using deconvolution layer in Tensorflow cv-tricks.com/image-segmentation/transpose-convolution-in-tensorflow/ Image Segmentation using deconvolution layer in Tensorflow - CV-Tricks.com This post is about how to write a deconvolutional/upsampling layer in tensorflow. cv-tricks.com Why is deconvolutional layer so important? Image segmentation is just one of the many use cas..
2017.07.05
[Deep Learning] 5. 마코프 의사결정 과정 (Markov decision process, MDP)
출처 1 : http://rfriend.tistory.com/184출처 2 : http://secom.hanbat.ac.kr/or/chapter1/right04.html출처 3 : https://brunch.co.kr/@kakao-it/73 먼저 마코프 의사결정 과정을 살펴보기에 앞서, 이 개념이 왜 딥러닝에서 필요한지 알 필요가 있다. 예를 들어 자율주행 자동차에 들어갈 알고리즘을 만든다고 치자. 이 때 가장 중요한 문제 중 하나는 확률계(Stochastic System)에서 순차적 의사결정(Sequential Decision) 문제를 푸는 것이다. 자동차를 제어할 때 빗길이라던지 비포장 도로 등의 원인으로 인해 우리가 원치 않는대로 움직일 수 있다. 이 때 예상과 일치하지 않는 상황을 확률계라 한다...
2017.07.05
no image
[Deep Learning] 4. 신경망 학습 (손실함수, 미니배치)
이전 Deep Learning 포스팅 [Deep Learning] 1. 단층 퍼셉트론과 다층 퍼셉트론 [Deep Learning] 2. 신경망 (Sigmoid, ReLU) [Deep Learning] 3. 출력층 (항등함수, 소프트맥스함수) 저번 포스팅에서는 출력층의 항등함수를 이용하여 회귀, 소프트맥스함수를 이용하여 분류하는 문제를 다루었다. 이번 포스팅에서는 신경망 학습 이라는 주제를 다룰 것이다. 학습이란 훈련 데이터로부터 가중치 매개변수의 최적값을 자동으로 획득하는 것을 뜻한다. 이러한 신경망이 학습할 수 있도록 해주는 지표인 손실함수를 소개한다. 손실함수의 결과값을 가장 작게 만드는 가중치 매개변수를 찾는 것이 학습의 목표이다. 이번 장에서는 손실 함수의 값을 가급적 작게 만드는 기법으로 함수의..
2017.06.12