Lite-HRNet: A Lightweight High-Resolution Network, Changqian Yu, Bin Xiao, et al., 2021 을 읽고 정리, 요약한 글입니다. ⏹️ Abstract 본 논문은 human pose estimation을 위한 효율적인 high-resolution network인 LiteHRNet을 제시한다. ShuffleNet의 효율적인 shuffle block을 HRNet(high-resolution network)에 적용하여 MobileNet, ShuffleNet, Small HRNet과 같은 인기 있는 lightweight network보다 더 강력한 성능을 산출하는 것으로 시작한다. shuffle block에서 많이 사용되는 pointwise(1 × 1..
HigherHRNet: Scale-Aware Representation Learning for Bottom-Up Human Pose Estimation, Bowen Cheng, et al., 2020 논문을 읽고 정리, 요약한 글입니다. ⏹ Abstract Bottom-up human pose estimation은 스케일 변화 문제로 인해 작은 사람의 정확한 포즈를 예측하는 데 어려움이 있다. 본 논문에서는 high-resolution feature pyramid를 사용하여 scale-aware representation을 학습하는 새로운 bottom-up human pose estimation 방법인 HigherHRNet을 소개한다. 학습을 위한 multi-resolution supervision과 추..
pytorch를 사용하다 보면 모듈을 통해 나온 tensor를 사용할 일이 많은데, GPU에 올라가 있는 tensor를 이용하려면 numpy 또는 list로 변환하여야 한다. tensor를 numpy 또는 list로 변환하는 방법은 조금만 찾아보면여러 함수들이 나오긴 하지만 각 함수들을 사용하는 순서가 꽤 중요하기 때문에 자주 쓰는 방법을 기록한다. ◾ detach() pytorch는 tensor에서 이루어진 모든 연산을 기록(graph)해 놓는데 이 연산 기록에서 역전파가 이루어지게 된다. detach() 함수는 이 연산 기록에서 역전파를 중단하고 분리한 tensor를 반환한다. ◾ cpu() GPU 메모리에 올라가 있는 tensor를 CPU 메모리로 복사하는 함수이다. 이후에 numpy로 변환하기 위..
◾ squeeze 함수 squeeze 함수는 Tensor의 차원을 줄이는 함수로, 설정한 차원을 제거 해 준다. 따로 차원을 설정하지 않으면 1인 차원을 모두 제거한다. 1인 차원이 여러개 있어도 여러개 전부 다! 제거한다. import torch x = torch.rand(1,7,46,46) print(x.shape) # torch.Size([1, 7, 46, 46]) x = x.squeeze(dim=1) print(x.shape) # torch.Size([7, 46, 46]) 한가지 조심해야 할 것은 batch size가 1일 때 squeeze 함수를 사용하게 되면 batch 차원을 없애버려 validation 시 오류가 발생하게 된다. 이걸 간과하고 있어서 학습할 때 validation에서 계속 오..
Deep High-Resolution Representation Learning for Human Pose Estimation을 읽고 정리, 요약한 글입니다. ⏹️ Abstract 본 논문에서는 신뢰할 수 있는 high-resolution representation을 학습하는 데 중점을 둔 human pose estimation 문제에 관심이 있다. 대부분의 기존 방법은 high-resolution에서 low-resolution 네트워크에 의해 생성된 low resolution에서 high-resolution을 복구한다. 하지만 본 논문에서 제안 된 네트워크는 전체 프로세스를 통해 high-resolution representation을 유지한다. 본 논문은 첫 번째 단계로 high-resolution ..
Self-Supervised Video Transformer(CVPR'22-Oral), Kanchana Ranasinghe, Muzammal Naseer et al.를 읽고 요약&정리 한 글입니다. ⏹ Abstract 본 논문에서는 라벨링이 되지 않은 비디오 데이터를 사용하여 video transformers에 대한 self-supervised training을 제안한다. 주어진 비디오에서 다양한 spatial size와 frame rates로 local 및 global spatio-temporal view를 생성하고 action의 spatio-temporal variations에 불변(invariant)하기 위해 동일한 비디오를 나타내는 다른 특징을 matching시키는 것을 추구한다. 본 논문에서 제..
보통, coco dataset은 아래 링크에서 다운로드가 가능하다. coco dataset download : https://cocodataset.org/#download COCO - Common Objects in Context cocodataset.org 근데 오랜만에 다운로드 하러 들어갔더니 아무리 데이터셋을 클릭해도 다운로드가 되지 않았다. 그래서 wget 명령어를 사용해 바로 원하는 디렉토리에 다운을 받고자 했지만... 이전에 사용했던 다운로드 경로가 변경되었는지 다운로드가 정상적으로 되지 않았다. 변경된 다운로드 경로를 열심히 구글링 해서 찾아냈고 같은 삽질을 반복하지 않기 위해 포스팅으로 남겨두게 되었다. ◾ COCO Datastet wget으로 Download하기 다운로드 후 압축 파일을 ..
yolov5나 mmcv 등을 사용하면서 학습 과정을 매 에폭마다 확인할 수 있고 결과까지 예쁘고(? 편하게 볼 수 있어 wandb를 연동하여 사용하고 있다. 회원가입을 하고 init이라는 아주 간단한 것만 해주면 학습 과정 및 결과를 기록하고 저장하기 편하다. 1️⃣ 회원 가입 & wandb 설치 https://wandb.ai/home Sign In with Auth0 Sign in with Microsoft Account wandb.ai 위 사이트에서 wandb에 회원가입을 먼저 해야 한다. 구글과 깃허브 계정으로 쉽고 빠르게 회원 가입이 가능하다. 회원 가입을 한 후에 wandb를 설치 해 주어야 한다. wandb를 사용할 가상환경에 접속한 후 pip install wandb 이렇게 wandb를 설치..
2022년 마지막 독서 기록 10월부터 읽기 시작해 12월에 다 읽은 아주 두꺼운 요녀석.. 출퇴근 지하철 안에서 읽으려고 거의 매일 가방에 넣어 다닌 책인데 그래서 완독하는데 오래 걸린건가 싶다.. (출퇴근 지하철에서 책 읽기 쉽지 않구요..) 책 제목처럼 100일동안 천천히 읽어 보자 해서 출퇴근 지하철에서 읽은 것도 있다. 새로운 챕터 들어갈 때 마다 날짜를 같이 기록 했는데 뭔가 꾸준히 읽었다는 것에 스스로 너무 뿌듯했다. 내용도 읽기 쉽게, 이해하기 쉽도록 풀어져 있어서 좋았다. 다 읽었다고 해서 저 책의 지식들을 전부 내 머릿속에 넣은 건 아니기에.. 틈 날 때 마다 조금씩 다시 읽어보고 반복하려고 지금은 책상 위에 올려뒀다 :) 이렇게 2022년 마지막 독서를 2023년에 기록하는 게으른 나..
RCNN 논문을 읽고 정리하면서 논문 하나하나를 리뷰하여 따로 포스팅하는 것 보단 각 특징들을 서로 비교하며 간단하게 정리하는게 좀 더 스스로에게 도움이 될 것 같았다. 때문에 논문에 언급된 내용들 전부가 해당 글에 있는 것이 아니라 굵직한(굵직하다고 생각된) 특징들만 있는 (간단) 비교 글임을 미리 언급한다. R-CNN (regions with CNN) R-CNN은 object detection에서 딥러닝을 최초로 적용시킨 모델이다. 이미지에 있는 data와 label을 input으로 하여 카테고리와 무관하게 물체의 region을 찾는 region proposal을 진행한다. proposal된 region으로부터 고정된 크기의 feature vector를 warping하여 CNN의 input으로 사용한..