반응형 Dev.11 [HUCV] Human Pose Estimation4 - Mask R-CNN Mask R-CNN Overall Pipeline 기존 top-down approach들과 비교하여 다른 점기존 방법들은 입력 이미지에서 사람 영역을 crop and resize한다. RoIAlign -> 입력 이미지가 아니라 feature map에서 crop and resize한다. Human detection과 pose estimation network가 공유 -> end-to-end learning and much more efficientRoIAlign Feature map에서 "crop and resize" (미분가능함)인간 영역의 feature를 bilinear interpolation을 통해서 추출함추출된 단일 사람의 feature는 pose estimation에 사용됨2D Human Pos.. 2024. 5. 3. [HUCV] Human Pose Estimation3 - 2D human pose estimation의 분류 2D Multi-Person Pose Estimation 의 두가지 접근법 (Top-down 접근법 vs. Bottom-up 접근법)1. Top-down 접근법 Human detection + single person pose estimationMake R-CNN이나 YOLO 같은 Object Detector를 Human Detector로 사용해서 사람의 바운딩 박스를 미리 얻는다.바운딩 박스 얻으면 사람의 부분을 crop해서 Single-Person 인 것처럼 만들어준다. Single-Person마다 2D Single-Person Pose Estimation를 돌려서 각 사람마다 2D Pose를 얻는다.각 사람의 2D pose를 원래 Image space로 transform 시켜서 최종적으로는 입력이미.. 2024. 4. 30. [Docker] fastapi를 도커화하는 방법 python 기반의 FastAPI를 도커화 해서 파이프라인에 올리는 작업을 해야한다. FastAPI를 도커화할 때 필요했던 것들을 모두 정리하려고 한다. 1. 도커 이미지 생성 2. 도커 컨테이너 실행 3. 포트포워딩 4. 워커수 설정 1. 도커 이미지 생성 도커 이미지를 생성하기 전에 Dockerfile 을 만들어준다. Dockerfile : 애플리케이션을 Docker 컨테이너로 빌드하기 위한 파일 # Dockerfile # server image 초기설정 : python 3.9.10 버전을 사용 FROM python:3.9.10 # 작업할 경로 (해당 경로가 없다면 새로 생성됨) WORKDIR /api # 작업할 경로에 현재 코드들을 모두 복사해둔다. COPY . . # image가 빌드되었을 때 수.. 2024. 3. 7. [학습 이슈] validation 정확도가 train 정확도보다 높은 경우 validation dataset이 부족해서...! 학습 데이터셋와 검증 데이터셋 비율을 9:1로 했더니, 학습할 때 validation 정확도가 train 정확도보다 높은 이슈가 발생했다. 데이터셋 비율을 8:2로 변경 후에 다시 학습해보니 해결됨 ! (추가) 더 찾아보니 흔히 있을 수 있는 일이라서 크게 신경 안써도 된다고 함..! 2023. 12. 8. [ 용어 ] Softmax와 Negative Log-Likelihood (NLL) pytorch로 VGG-16 모델을 구현하다가 softmax와 Negative Log-Likelihood의 용어를 알게되어서 정리해본다. 1. Softmax softmax는 보통 뉴럴 네트워크의 출력 layer에 속해있고 사용 목적으로는 multi-class classification과 같은 문제에서 최종 출력을 0과 1 사이의 확률값을 나타내기 위해 사용된다. 0~1 사이의 값으로 모두 정규화된 값으로 출력되고 출력값들의 총합은 항상 1이 되는 특징을 가지고 있다. 가장 큰 출력 값으로 부여받은 클래스가 확률이 가장 높은 것으로 사용된다. $ p_j = \frac{e^{zj}}{\sum^k_{k=1}e^{zj}} , j= 1,2,3,...,k $ $ k $ = 클래스 수 $ z_j $ = 소프트맥스 함.. 2023. 7. 21. [Github] ![rejected] master -> master (non-fast-forward) 해결 목표 push를 하려고 할때, push를 할 수 없는 경우 원인과 해결 방안을 정리하려고 한다. 1. 원인 .gitignore 파일 또는 README.md 파일로 인해서 생길 수 있는 문제. 2. 해결 방안 branch 이름 앞에 +를 붙여서 push 진행 $ git push origin +master 3. 추가 이슈 파일을 수정하기 전에 pull을 먼저 진행하고 push 하기. $ git pull origin master --allow-unrelated-histories 2023. 4. 28. [CV] Object Detection 이미지 분류 기술 종류와, 원리, 관련 모델, 성능 평가 방법, 활용분야에 대해서 정리해보려고 한다. 전체적인 흐름 위주로 정리했기 때문에, 모델 설명 부분에서도 생략된 것이 많다. 차근차근 정리할 예정이다. 01 . 이미지 분류의 종류 이미지 분류의 종류에는 크게 Classification, Object Detection, Segmentation 기술이 있다. Classification : 이미지 자체를 판단하는 기술 Object Detection : Bounding Box 안에 있는 객체가 어떤 객체인지를 판별해주는 기술 Bounding Box(B-Box)란? 이미지 내에서 객체의 위치를 사각형 형태로 예측한 결과를 의미한다. Image Segmentation : 이미지 단위가 아니라, 픽셀 단위로 .. 2023. 3. 6. [Docker] exec와 attach 명령어 차이 2023.02.07 - [Container/Docker] - [Docker] Container 조회, 중지, 시작, 재시작, 접속 이전 게시글에서 간단한 docker 명령어를 다뤄보았는데, 그 중에서 container 접속하는 명령어인 exec와 attach의 차이를 알아보고자 한다. 1. exec 명령어 외부에서 컨테이너 접속할 때 사용한다. 컨테이너에 접속을해서 새로운 명령을 할 수 있다. docker exec -it /bin/bash 2. attach 명령어 container 실행하고, 접속하는 명령어이다. docker attach 둘 다, 컨테이너가 실행되고 있지 않으면 내부로 접속할 수 없다는 특징이 있다. 2023. 2. 14. [Docker] Container 조회, 중지, 시작, 재시작, 접속 Docker Container 조회 docker ps Docker Container 현재 실행중인 리스트 확인 ps는 현재 실행중인 컨테이너만 확인 가능하지만, 중지중인 컨테이너도 함께 확인하려면 다음 코드 실행 docker ps -a Docker Container Stop (중지) docker stop Docker Container Start / Restart 컨테이너가 중지되면 다시 실행 시킬 수 있다. docker start 실행중인 컨테이너를 재부팅 시킬 수도 있다. docker restart Docker Container Attach (접속) docker attach docker exec /bin/bash Docker Container Log 확인 docker logs 2023. 2. 7. [Github] Github repository 변경하기 Origin repository pull / push git pull git add . git commit -m "edit repository" git push -u origin main Remove origin repositroy remote 기존 리포지토리 리모트를 제거해준다. git remote remove origin Add new repositroy remote 새로운 리포지토리 리모트를 추가해준다. git remote add origin https://github.com/account(계정)/repository(리포지토리) 2023. 2. 3. [CV] Detectron2 모델 환경 설정 detectron2 모델 환경 설정 1. ubuntu 환경 확인 (base) ➜ ~ lsb_release -a 2. python 버전 3.8로 detectron_env 이름을 가진 가상환경을 하나 만들어준다. (base) ➜ conda create -n detectron_env python=3.8 (base) ➜ conda activate detectron_env # 가상환경 활성화 3. detectron2 github에서 git clone을 실행하고 폴더 경로로 들어간다. (detectron_env) ➜ git clone https://github.com/facebookresearch/detectron2.git (detectron_env) ➜ cd detectron2 4. detectron_env 가상.. 2023. 1. 11. 이전 1 다음 반응형