반응형

AI Research Topic 118

[Object Detection ] What does mlvl mean?

mmdetection 모듈 쓰다가 mlvl 의 의미가 궁금해서 알아보았다. class mmdet.core.anchor.MlvlPointGenerator(strides, offset=0.5) multi-level (Mlvl) 이였다.... 주로 2D Points 기반 검출기의 Multi-level(Mlvl) Feature Map 을 위한 point 를 생성할 때 사용하며, Object Detection 분야에서 Anchor Free 스타일의 헤더(Header) 에서 주로 사용된다. def get_points(self, featmap_sizes, dtype, device, flatten=False): """Get points according to feature map sizes. Args: featmap_..

[Pose Estimation] NVIDIA TLT의 BodyPoseNet

NVIDIA Transfer Learning Toolkit(이하 TLT)에서 "BodyPoseNet" 과 함께 COCO 데이터를 사용하여 2D Pose Estimation 모델을 학습하고 INT8 등으로 최적화하는 방법에 대해 다루었다. 이는 기존 오픈 소스인 OpenPose 보다 AP가 8% 정도 떨어지지만 속도면에서는 아주 월등히 우수함을 보여준다. NVIDIA TLT에서 제공하는 BodyPoseNet은 VGG와 같은 백본 네트워크를 이용하여 confidence map 및 PAF를 이용하여 픽셀 단위 예측을 수행한 후 multi stage refinement (0 ~ N stages)로 구성된 구조를 사용하는 fully connected convolution 모델이며, 18개의 키포인트들을 예측한다...

[Deep Learning] 딥러닝에서 Synthetic Dataset 을 이용하여 학습하는 연구들

학습 데이터가 부족할 때 가상 세계에서 얻어진 데이터를 이용해 볼 수 있다. 즉 언리얼 엔진을 이용하여 만들어진 GTA 게임에서 Synthetic DataSet 을 생성하여 데이터를 보완 해 볼 수 있다. (GTA 게임 안해봄...) 찾아보니 관련 연구가 여러가지 있었는데 보통 Teacher-Student 형태의 학습 방식을 사용한다. 즉 대규모 데이터인 Synthetic Dataset을 이용하여 Teacher Net 을 구성하여 Pre-training 하고, Real Dataset 을 이용하여 Student Net 을 구성함으로써 fine-tuning 하는 방식이다. Synthetic Dataset 에는 보통 자율 주행 환경 (Car, Person Segmentation, ..) 데이터가 많았으며, 안..

[Object Detection] 객체 탐지 정확도 평가 지표 mAP(mean Average Precision)

이번 포스팅에서는 객체 검출(Object Detection)의 성능을 어떻게 평가하는지에 대해서 다루고자 한다. 먼저 "정확도"라는 개념은 주로 정답(Ground Truth, 이하 GT)과 모델이 예측한 결과(Prediction) 간의 비교를 통해 이루어진다. 객체 탐지 정확도 평가 지표인 mAP(mean Average Precision) 를 다루기 전에 이미지 분류(Image Classification)에서는 어떻게 정확도 평가를 수행하는지 알아볼 필요가 있다. 이미지 분류는 GT가 이미지의 클래스이기 때문에 이미지가 딱 주어졌을 때 이 이미지가 GT의 클래스와 일치하는지 불일치하는지를 비교하게 된다. 반면 객체 검출에서는 이미지를 분류하는 문제와 달리 여러 객체들이 존재하는 이미지 내에서 객체가 어디..

[Action Recognition] ActionAI

ActionAI는 YogAI(Smart Personal Trainer)를 위한 딥러닝 학습 기반 Python Library 이다. 요가 동작을 히트맵으로 거울에 표시하였다. 맨 아래 참고자료에 링크를 넣어두었는데, 요가 동작 인식하는 방법을 굉장히 자세하게 써놓았다. 나중에 시간될 때 따라서 만들어보면 좋을 것 같다. 아래와 같이 유투브 크롤링을 이용하여 비디오 데이터를 수집하고, 이미지를 추출하였다고 한다. (정제는 수동으로 한듯) #!/usr/bin/env python import os import sys import requests from bs4 import BeautifulSoup as bs from urllib.parse import urlencode from pytube import YouT..

[Action Recognition] 싸움 탐지(Fight Detection = 2D Pose Estimation + RNN Action Recognition)

위 Github에 나와있는 프로젝트는 2차원 인간 자세 추정(OpenPose)과 RNN 기반 행동 인식 기술을 이용하여 싸움을 감지한 프로젝트이다. 이 때 SORT 알고리즘을 이용하여 Tracking ID를 생성하여 개인별로 시계열 데이터(time series data)를 얻어와서 Queue Container에 의해 32 frame 씩 처리한다. RNN에 넣을 때 Feature 로는 Angle, ΔAngle, ΔPoint 를 사용한다. 그리고 주요 키포인트들만 입력으로 사용한다. (눈코입 제외) 그리고 동작 방식은 클라우드 컴퓨팅에서 Darknet 을 사용하기 위해 Darknet Server 를 구축하고, 비디오 또는 웹캠 스트림을 서버로 보내고 서버에서 실시간으로 결과를 얻어오는 형태로 동작한다. 서버..

[Dataset] COCO(Common Objects in Context) Dataset

COCO Dataset : cocodataset.org/#home COCO - Common Objects in Context cocodataset.org COCO API : github.com/cocodataset/cocoapi cocodataset/cocoapi COCO API - Dataset @ http://cocodataset.org/ . Contribute to cocodataset/cocoapi development by creating an account on GitHub. github.com COCO API 사용 예제 : github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocoDemo.ipynb cocodataset/cocoapi COCO ..

AI Research Topic/Dataset 2021.03.16 (4)

[Pose Estimation] 자세를 분류하는 방법

아래 글은 Google 에서 나온 모바일용 ML Kit 의 한 부분인 자세 추정(Pose Estimation)을 이용하여 자세를 분류하는 방법에 관한 것이다. 자세를 분류하는 방법은 딥러닝을 이용하여 어떤 자세인지 분류하는 방법(e.g. CNN을 이용한 자세 분류)과 기계학습 알고리즘 중 하나인 SVM(Support Vector Machine)을 이용하여 자세를 분류하는 방법, 그리고 아래 Google에서 제시해 놓은 각도를 이용하여 자세를 분류하는 방법이 있다. 사실 필자가 생각하기에 가장 좋은 방법은 CNN을 이용하여 스켈레톤을 분류하거나, SVM으로 분류하는 것이 정확도 측면에서 좋다고 생각한다. 하지만 아래와 같이 간단하게 구현해 볼 수 있는 방법도 존재하기 때문에 이를 다뤄보고자 한다. 구글에서..

[Pose Estimation] 3D human pose estimation in video with temporal convolutions and semi-supervised training

이 논문은 Facebook AI Research 에서 나온 논문이며, CVPR 2019에 채택되었다. 3D Human Pose Estimation 분야를 찾아보다가 알게된 논문인데, 현존하는 SOTA 2D Pose Estimation 방법들과 잘 결합하면 비디오 환경에서 좋은 결과를 얻을 수 있을 것으로 예상된다. 관건은 정확도 높은 2D Pose Estimation 이다. 위 gif 들은 아마 2D Pose GT를 이용했기 때문에 3D Pose 가 매우 자연스러워 보인다. Paper : arxiv.org/pdf/1811.11742.pdf Github : github.com/facebookresearch/VideoPose3D facebookresearch/VideoPose3D Efficient 3D hu..

[Deep Learning] Weight Standardization (+ 2D, 3D 구현 방법)

Weight Standardization Paper : arxiv.org/abs/1903.10520 Micro-Batch Training with Batch-Channel Normalization and Weight Standardization Batch Normalization (BN) has become an out-of-box technique to improve deep network training. However, its effectiveness is limited for micro-batch training, i.e., each GPU typically has only 1-2 images for training, which is inevitable for many computer v arxi..

[Stereo Vision] 카메라 캘리브레이션의 내부 및 외부 매개변수(intrinsic, extrinsic parameters)

카메라 캘리브레이션(Camera Calibration)이란? 실 세계는 3차원으로 이루어져있지만 이를 카메라로 촬영하게 되면 2차원 이미지로 투영된다. 이 때 실제 3차원 위치 좌표는 이미지 상에서 어디에 위치하는지 기하학적으로 계산할 때 영상을 찍을 당시의 카메라 위치 및 방향에 의해 결정된다. 하지만 실제 이미지는 사용된 렌즈, 대상과의 거리 등의 내부 요인에 영향을 받기 때문에 3차원 위치 좌표는 영상에 투영된 위치를 구하거나 역으로 영상 좌표로부터 3차원 공간좌표를 복원할 때 이러한 내부 요인을 제거해야 정확한 계산이 가능해진다. 이러한 내부 요인의 파라미터 값을 구하는 과정을 카메라 캘리브레이션이라고 한다. 즉, 사진이나 비디오를 촬영하는 실제 카메라 모델을 단순화 시킨 핀홀(Pinhole) 카..

[Pose Estimation] 자세 추정 결과를 정제 하는 방법 (PoseFix : Model-agnostic General Human Pose Refinement Network)

본 포스팅은 아래 유튜브를 보다가 Pose Refinement 와 관련된 논문을 알게 되어 자세 추정 결과를 정제하는 방법에 대해 정리해본다. 논문은 참고로 서울대 문경식님의 논문이다. Moon, Gyeongsik, Ju Yong Chang, and Kyoung Mu Lee. "Posefix: Model-agnostic general human pose refinement network." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019. 나중에 적용해봐야겠따. 또한 참고로 유튜브 링크는 아래와 같으며, Human Pose Estimation 을 처음 접하는 사람들에게 도움이 될만한 좋은 자료이다. [A..

[Pose Estimation] EfficientPose : Scalable single-person pose estimation

Groos, Daniel, Heri Ramampiaro, and Espen Ihlen. "EfficientPose: Scalable single-person pose estimation." arXiv preprint arXiv:2004.12186 (2020). Paper : arxiv.org/abs/2004.12186 EfficientPose: Scalable single-person pose estimation Human pose estimation facilitates markerless movement analysis in sports, as well as in clinical applications. Still, state-of-the-art models for human pose estimati..

[Image Processing] 구조적 요소(Structuring Element) 및 팽창, 침식, 닫힘, 열림 연산

수학적 형태학이란? 수학적 형태학(Mathematical Morphology, MM)은 집합론, 격자론, 위상수학 그리고 무작위 함수에 기반한 기하학적 구조를 분석하고 처리하는 이술과 기론이다. 이는 대부분 디지털 이미지에 적용되지만, 그래프, 폴리곤 메시, 솔리드, 그리고 많은 공간 구조에도 적용할 수 있다. 크기, 모양, 블록성, 연결성 그리고 지오데식 거리 같은 위상수학적 그리고 기하학적 연속 공간 개념은 MM에 의해서 연속 공간과 이산 공간 모두에서 소개되었다. 또한 이미지를 위의 특성화에 따르도록 이미지를 변환하는 연산의 집합으로 이루어진 형태학적 디지털 화상 처리의 근본이다. 구조적 요소란? 구조적 요소란 원본 이미지에 적용되는 커널(Kernel)이라고 할 수 있는데, 수학적 형태학에서 구조적..

[Action Recognition] Challenges

인간 행동 인식 분야에서 행동을 인식하는데 어려운 요인들은 다음과 같이 정리 할 수 있다. Intra- and inter-class Variations 사람들은 동일한 행동에 대해 다르게 행동함 예를 들어 “Running” 같은 의미론적 행동에 대해 어떤 사람은 빠르게 달리거나, 어떤 사람들은 느리게 달리거나, 점프하며 달릴 수 있음 즉, 하나의 행동 범주에는 다양한 스타일의 행동들이 포함될 수 있음 또한 동일한 행동을 다양한 시점에서 캡쳐 할 수 있음 (front, side, top, …) 이러한 appearance variation 으로 인하여 행동 인식이 힘듦 그리고 “Running” 및 “Walking” 은 유사한 동작 패턴을 내포하고 있으므로 이를 기계가 구별하기가 힘듦 Cluttered Bac..

728x90
반응형