개발 및 공부 24

TIL) 22.03.25 ~ 22.03.26

03.25 선형대수 선형변환(Linear Transformation) 정의: $T(cu+dv) = cT(u)+dT(v)$일 경우 $T$는 linear transformation 행렬곱으로 나타낼 수 있다면 항상 선형변환 선형변환은 벡터를 표현하는 좌표계를 변형하는 연산 Affine transform은 bias 때문에 linear transform이 아닌데 벡터 마지막에 1을 추가해 linear하게 만들 수 있다 전사함수, 일대일대응 onto: 전사(전체로 사형)하다, 전사하는 함수를 전사함수라고 표현 공역==치역일 경우 정의역의 개수 >= 공역의 개수일 경우 가능성 0 $T:R^n -> R^m$에서 $n R^m$에서 $n Input보다 output의 차원이 낮아 dependent할 경우 한 결과값에 대해..

OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields 논문 리뷰

오늘은 BlazePose의 대조군이기도 하고 오픈소스로 유명한 OpenPose를 리뷰해볼 예정이다. BlazePose와는 정반대로 multi-person에서 real-time inference가 가능하게 만들었다는 점이 주목할만한 점. 아마 2017년에 CVPR에서 발표한 후 몇 가지 성능 개선과 OpenPose를 공개하며 2019년에 다시 논문을 낸 것으로 알고 있다. 수식 및 레퍼런스가 자세해서 읽기에는 좋았지만 양이 너무 많아 읽는데만 일주일은 걸린 것 같다.. 0. Abstract Part Affinity Fields(PAFs)라는 비모수적 표현(nonparametric representation)을 이용해 각 신체 부위를 연결시키는 bottom-up 방식을 제안 사람 수에 상관 없이 real-t..

BlazePose: On-device Real-time Body Pose Tracking 논문 리뷰

Mediapipe를 사용하면서 CPU에서도 실시간 inference가 가능할 정도로 가벼운 pose estimation 모델이 있다는 것이 신기했다. Pose estimation은 아직 다른 도메인처럼 모델 발전 역사가 체계적으로 정리돼있지 않아 일단은 SOTA, 오픈 라이브러리가 있는 모델을 우선으로 리뷰해볼 예정. 0. Abstract BlazePose는 모바일에서도 human pose estimation에 대한 real-time inference가 가능하다. Google Pixel 2 기준으로 30fps로 33개의 keypoint를 출력한다. BlazePose의 novel solution은 heatmap과 regression을 모두 이용해 lightweight pose estimation을 한다는 ..

부스트캠프 AI Tech 2기 회고

1. 부스트캠프를 마치며 5개월이라 끝나지 않을것만 같던 부스트캠프도 어느새 다 끝나버리고 2022년의 해가 밝고 말았다. 초반에 강의 듣고 과제 할 때는 그래도 앞으로 아직 많이 남았구나 싶었는데 중반부터 본격적으로 팀이 꾸려지고 대회, 프로젝트를 진행하면서 강의도 병행하다보니 눈코 뜰 새 없이 보내버린 것 같다. 2. 좋았던 점 1) 인맥 형성 부스트캠프를 통해 AI/ML 분야에 종사하는 여러 사람을 만나 인맥을 형성할 수 있었다. 멘토, 마스터님 중에는 AI 쪽을 공부 중이라면 누구나 아는 엔지니어 분들도 계셨고 현직 엔지니어 분들과 멘토링을 받으면서 공부, 개발 외적으로 궁금한 얘기도 물어보며 친해질 수 있어서 좋았다. 부캠이 끝나고도 멘토님들과 연락하거나 캠퍼들하고 지속적으로 스터디를 진행하며 ..

부스트캠프 Object Detection competition 레포트

1. Overview 사진에서 일반 쓰레기, 플라스틱, 종이, 유리 등 10 종류의 쓰레기를 Detection하는 모델을 만들어 쓰레기 분리배출에 도움이 되고자 함 🌎 Input : 쓰레기 객체가 담긴 이미지와 bbox 정보(좌표, 카테고리)가 모델의 인풋으로 사용 Bbox annotation은 COCO format으로 제공 Output : 모델은 bbox 좌표, 카테고리, score 값을 리턴 Metric: test set의 mAP50 2. Dataset dataset ├── train.json ├── test.json ├── train └── test train: 4883 images test: 4871 images class: General trash, Paper, Paper pack, Metal,..

부스트캠프 11주간 기록

시간표 이렇게 매주 전체적인 시간표가 주어지고 이제 맞춰 스케줄이 진행된다 세부적인 부분은 아침마다 출석체크, 수업 듣고, 피어세션에서 각자 공부 내용 교류하고 몰랐던 부분은 보충 그 외 마스터클래스, 오피스아워 있으면 수강 7시 이후로는 자율인데 우리팀 같은 경우는 줌으로 모여서 각자 공부하면서 모르는 부분 질문하는 식으로 스터디 했음 개별 학습 활동 수업은 키워드 위주로, 설명이 부실한건 아니나 양 자체가 방대하기 때문에 개념에 대해 궁금한 점이 있으면 추가로 찾아서 공부해야함 그래도 이해가 안 가는 부분이나 궁금한 점은 질문을 올리면 마스터, 멘토님께서 세세하게 답변해주셔서 이해하는데는 막막하지 않은 편 개념을 배우는 U-stage와 , 대회를 진행하는 P-stage로 나뉨 1주차) [U] Pyth..

Python으로 Slack에 알림 보내기

1. 새 채널 생성 2. 슬랙에 Incoming WebHooks앱 추가 ) 3. 앱을 설치할 채널 선택 4. URL 저장 5. 메세지 전송 import json import sys import random import requests import os import numpy as np import torch def send_msg(msg): url = # 웹후크 UR 입력 message = ("Train 완료!!!\n" + msg) title = (f"New Incoming Message :zap:") # 타이틀 입력 slack_data = { "username": "NotificationBot", # 보내는 사람 이름 "icon_emoji": ":satellite:", #"channel" : "#som..

MLE(최대우도법)과 MAP(최대사후법) 정리

함수표기법( ; 와 | 의 차이) | : 조건부확률 표기할 때 ; : 함수의 parameter를 나타냄 출처: http://taewan.kim/post/function_in_semicolon/ 확률변수와 확률분포의 관점에서 보았을 때: https://blog.naver.com/kyoungblee/222460452018 모수와 표본 모집단(popilation): 관측 대상이 되는 전체 집단 모수(parameter): 모평균, 모표준편차, 모분산등 모집단의 데이터 모평균: $\mu$ 모분산: $\sigma^2$ 모표준편차: $\sigma$ 표본(sample): 모집단의 부분집합 표본 통계량(sample statistic): 표본에 의존하는 통계량 표본평균: ${\displaystyle {\bar {X}}}$..