본문 바로가기

전체 글27

[논문 리뷰] Stacked Hourglass https://arxiv.org/pdf/1603.06937.pdf Stacked Hourglass Networks for Human Pose Estimation 논문을 참고하여 작성하였다. 시작에 앞서 Human pose estimation의 2가지 방식인 top-down 방식과 bottom up 방식에 대해 정리해보자. 1. Top-down 방식 : 사람을 먼저 감지한 후 다음 각 사람의 자세를 추정한다. 2. Bottom-up 방식 : 관절 부위(key point)를 먼저 감지하여 서로 연결해 모든 사람의 자세를 추정한다. Stacked Hourglass Stacked Hourglass는 single person의 pose를 예측하는 모델이고, 모래시계를 쌓아둔 모양을 가진 네트워크이다. 이미지의 모.. 2022. 4. 2.
[논문 리뷰] Convolutional Pose Machine https://arxiv.org/pdf/1602.00134.pdf Convolutional Pose Machines 논문을 참고하여 작성하였다. 이번 논문은 Human pose estimation에 관련된 Convolutional Pose Machine이다. CNN이 Human pose estimation에 적합한 이유로는 관절 위치 예측시 이미지 맥락을 파악하여 예측하는 것이 가능하기 때문이다. 따라서 관절 간의 상관관계를 학습하여 더 좋은 예측 값을 추출 할 수 있다. CPM 모델은 Pose machine + CNN 으로, receptive fied(지역적 정보) 를 global한 영역을 확대하여 다른 부위와의 관계를 고려한 모델이다. CPM Model 먼저 CPM은 각 stage에서 multi-cl.. 2022. 4. 2.
[논문 리뷰] MobileNetV1 & MobileNetV2 https://arxiv.org/pdf/1801.04381.pdf MobileNetV2: Inverted Residuals and Linear Bottlenecks https://arxiv.org/pdf/1704.04861.pdf MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications 위 논문을 참고하여 작성하였다. MobileNetV1 MobileNetV1은 light weight deep neural network, depthwise separable convolution을 통해 모델 경량화에 집중하였다. 모델 경량화에 집중한 이유로는 저용량 메모리 환경인 핸드폰과 같은 곳에 딥러닝을 적용하기 위해서이다. 메.. 2022. 4. 2.
[자료구조] 순차적 자료구조 순차적 자료구조 (Sequential data structures) 순차적 자료구조에(Sequential data structures) 는 크게 총 3가지 있다. 1. 배열, 리스트 Index로 임의의 원소에 접근한다. 삽입 함수 append, insert 함수가 존재한다. 삭제 함수 pop( ), remove( ) 함수가 존재한다. 2. Stack, Queue, Deque 제한된 접근, 삽입 삭제만 허용한다. Stack은 LIFO (last in first out) Queue는 FIFO (first in first out) Dequeue는 (stack+queue) 3. Linked list(연결 리스트) 자신의 값 + 다음값이 주소도 저장한다. 값들이 연속적이지 않은 memory 공간에 흩어져 있고 현.. 2022. 4. 2.
[개념 정리] 신경망 모델 정의하기 Pytorch로 신경망 모델을 정의할 때 생각해야 하는 것 3가지 Model 디자인 loss와 최적화 설계 Train Cycle (forward, backward, update) 첫 번째로 Class와 변수 정의 방법을 알아보자 사용자 정의 nn 모듈 nn.Module을 상속한 Class 이용 Pytorch 모델의 기본 구조 import torch import torch.nn as nn import torch.nn.functional as F class Model_Name(nn.Module): def __init__(self): super(Model_Name, self).__init__() self.conv1 = nn.Conv2d() self.conv2 = nn.Conv2d() def forward(se.. 2022. 3. 31.