Computer Vision💖
[Seg] 간단히 알아보는 Segmentation, Segmentation map
오늘은 간단히 Sementic Segmentation에 대해 포스팅해보려고 한다! 아래에 해당되는 독자분들이라면 본 게시글이 도움이 될 수 있겠다. 😉🤖 그럼 차근차근 시작해보자. 예상 독자 1. 컴퓨터 비전의 Segmentation에 대한 이해가 처음이신분 # Segmentation 이란? 우선 컴퓨터비전에서 Segmentation이란 image의 픽셀별로 모든 레이블을 예측하는 분야이다. 보통 classification이나 detection의 경우에는 픽셀 단위로 무언가를 예측하지는 않는다. (최종 예측을 위해 픽셀 단위의 정보를 이용할 뿐이다!) 하지만 Segmentation은 이들과 다르게 조금 더 픽셀 단위의 세밀한 예측을 진행한다. 아래 사진을 보자. 위 사진에서 오른쪽을 보면, 픽셀별로 라벨..
[CV] ResNet-18로 특정 Image의 feature 추출하기 (PyTorch)
오늘은 리부탈에서 사용했던 간단한 feature extraction 과정을 포스팅해보려고 한다. 리부탈 끝난 기념으로 여유롭게 포스팅을 하구있다 🥳🔥 우선 오늘 포스팅할 내용은 특정 Image 하나가 들어왔을 때, 이 image를 잘 나타내는 feature를 추출하는 pytorch 방법이다. 나의 경우에는 segmentation map의 feature가 필요했고, 단순 convolution layer를 쌓는 것보다 pretrain된 PyTorch 내장 모듈을 사용하는 것이 좋을 것 같다는 생각에 ResNet을 이용하게 됐다. 우선 간단히 ResNet-18부터 짚고 넘어가고, 어떻게 특정 image의 feature를 추출하는지 그 code를 소개해보려고 한다. # ResNet-18 우선 이 글을 읽는 독자..
[CV] Test-Time Domain Adaptation의 의미와 간단 정리
리뷰를 하다가 Test-Time Domain Adaptation (TTDA) 관련 paper를 보게됐다. 단순 DA 분야는 익숙한 분야이지만, Test-Time Domain Adaptation은 익숙치 않은 용어라 간단히 정리하고 넘어가려고 한다. # Domain Adaptation 우선 Domain Adaptation이란 서로 다른 distribution을 가진 두 도메인에 robust한 모델을 만드는 것을 목적으로 하는 분야이다. 여기서 주로 두 두메인은 source domain과 target domain으로 나뉘며, 서로 다른 데이터셋 분포를 가진다고 가정한다. 만약 source domain에서 학습된 모델을 target domain에 적용하려면 두 도메인은 분포가 다르기 때문에 당연히 문제가 발생..
[CV] Adversarial Learning(적대적 학습)이란? + 응용
오늘은 PointAugment paper를 읽다가 main 원리로 나온 Adversarial learning에 대해 포스팅해보려고 한다. 주로 적대적 학습이라고 하는데, 그냥 내가 이해한 내용을 간단히 정리해보려고 한다. (미팅준비로 인해... 자세한 포스팅은... 미뤄두겠다.) # Idea 우선 적대적 학습에서, 적대적(adversarial)이란 '서로 대립관계에 있는' 이라는 뜻이다. 흔히 들어봤을 GAN의 속 의미가 Generative adversarial networks 인데, 여기 들어가는 adversarial과 비슷한 의미라고 이해할 수 있다. GAN은 흔히 두개의 네트워크가 경쟁하며 학습하는 모델이라고 잘 알려져 있는데, Discriminator를 잘 속이기 위한 데이터를 Generator가..
[MTL] GradNorm : Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks 논문 리뷰
오늘은 Multitask Learning(MTL) 분야의 논문인 GradNorm(2018, ICML)에 대해 리뷰해보려고합니다. 다소 오래 전에 발표되었지만 아직까지 MTL 분야에서 밴치마크 성능으로 자주 등장하는 논문입니다. 제가 이해한 바를 정리한 것이니 잘못된 점은 댓글 부탁드립니다! :D 1. Introduction # MTL과 Task Balancing 우리가 흔히 알고있는 딥러닝의 학습 체계는 Single-task learning(STL)이라고 할 수 있습니다. Multi-task learning의 방식은 딥러닝의 등장 전부터 존재했지만, 딥러닝이 등장하며 Single-task learning 학습체계는 Computer Vision 분야에서 인간을 능가하는 퍼포먼스를 보여주고 있습니다. 하지만..
[DG] Deep CORAL(CORelation ALignment, 2016) 논문리뷰
오늘은 Domain Generalization의 대표 알고리즘인 Deep CORAL에 대해 간단히 리뷰해보도록 하겠습니다. 역시 잘못되거나 궁금한 부분은 댓글 부탁드립니다👀 Introduction 우리가 아는 대부분의 머신러닝 알고리즘들은 보통 IID (Independent & Identically distributed) 한 상황을 가정합니다. 하지만 아시다시피 이러한 IID 상황은 현실에서는 잘 보기 어렵습니다. 정말 이상적인 통계적인 상황을 가정한 것이기 때문이죠. 즉, 우리는 머신러닝 프로세스에서 보통 Domain shift를 겪습니다. 흔히 train data와 test data의 distribution이 달라 발생하는 기계학습의 한계인 것이죠. 따라서 Deep CORAL은 이러한 domain s..
[Colorization] Let there be Color! (Colnet) 논문 리뷰
오늘은 Colorization의 대표 Network인 Let there be color! 에 대해 리뷰해보려고 합니다. 역시 잘못된 부분은 댓글로 알려주시면 감사하겠습니다! 👀 개인적으로 재밌게 읽었던 논문입니다 ㅎㅎ 우선 Colorization이란, 간단히 말하면 흑백 사진을 칼라 사진으로 딥러닝을 통해 바꾸는 방법론을 뜻합니다. 아래 예시와 같이 말이죠. 이러한 Colorization에 대한 연구는 꽤 오래전부터 이루어져왔는데요, 크게 User가 개입해 힌트를 주는경우와 reference image를 참고하는 경우, 그리고 흑백 이미지만 넣으면 자동으로 색을 입혀주는 총 3가지의 방법론으로 나뉩니다. 특히 요즘은 transfomer의 발전과 더불어 흑백사진만 넣으면 user의 개입 없이 automat..
[XAI] Generating Visual Explanations(2016) - 이미지 분류에 대한 설명을 생성하는 알고리즘
오늘은 Generating Visual Explanations(2016) 이라는 XAI 분야의 논문을 리뷰하겠습니다. 원본은 이 곳에서 찾아보실 수 있습니다. 흔히 딥러닝을 '블랙박스'라고 칭하곤 합니다. 그 이유는 머신러닝과는 달리 어떤 feature를 통해 특정 class로 분류했는지, 또는 어떤 feature가 중요한 분류 기준으로 작용했는지 알기 어렵기 때문인데요. 물론 CNN 필터들을 출력해볼 수도 있고, 여러가지를 통해 진단할 수 있는 방법이 많습니다. 하지만 가시적인 특징으로는 확실히 설명력이 필요할 경우가 많죠. 따라서 이 논문의 가장 큰 contribution은 이미지 분류에 대한 explanations를 출력한다는 것입니다. 본 논문은 특정 class를 왜 그 class로 분류했는지, ..