전체 글

· 알쓸신잡
예전에는 계속 페이지를 넘겨야해서 페이지 넘기는 소스코드들이 있었는데, 이번년도에 들어가보니 그냥 듣는 걸로 바뀌었다. 진행바가 드래그는 안되서 그냥 배속하는 코드를 사용했고 20분짜리 동영상 3개니까 대략 5분이면 다 끝낼 수 있다. 아래 코드를 동영상 재생후 F12를 들어가서 console에 붙여넣으면 끝! 맨 뒤에 숫자는 변경하면되는데 아마 해당 동영상 플레이어의 최대값이 다르므로 하나씩 해보면 될듯~ document.querySelector('video').playbackRate = 10;
· 알쓸신잡
리눅스 서버 등에 파일을 올릴 때 로컬에서 올리다 보면 끊기는 경우가 있었다. 그래서 직접 다운로드 받고자해서 많이 찾아봤는데 대용량 데이터 등에서 바이러스 스캔 때문에 제대로 된 파일이 다운로드되지 않아서 못써먹다가 아주 쉽게 해결책을 찾았다. 1. 구글드라이브 공유 링크 복사 자신의 구글드라이브에서 다운로드하고자 하는 파일의 공유를 누르고, 링크가 있는 모든 사용자에게 공유로 바꾼다음 링크를 복사한다. 2. id값 확인 링크를 복사하면 맨 뒤에 id값이 있다 이 id값을 복사해두자 . https://drive.google.com/file/d/1rrrrrrrl6AgFVDepiAienABBmKuBjqM6DSQ/view?usp=sharing 여기서 id = 1rrrrrrrl6AgFVDepiAienABBmK..
· 알쓸신잡
오늘은 wandb에 대해서 작성해보고자 한다. Wandb(Weight & Bias)는 딥러닝 실험 과정들을 쉽게 Tracking 하고 시각화할 수 있게 도와주는 tool이다. 아래와 같이 다양한 framework와 기능들을 제공한다. 아래는 좀 주저리 주저리 써놓은 것이고 간단한 코드 사용법은 따로 작성하여 첨부하도록 하겠다 사실 wandb 사이트에서 자세한 설명도 제공하기 때문에 내가 실용적으로 사용하는 기능들에 대해서만 소개해보도록 할 것이다. 1. wandb.init() 우선 wandb에 2개의 큰 틀이 `project`와 `run`이다. 말 그대로 특정 프로젝트별로 나눌 수 있으며, run은 해당 프로젝트 안에서 기록하는 하나하나를 의미한다. wandb를 이용하고자 한다면 아래 코드를 이용하여 프..
1. FCN FCN은 Fully Convolutional Network로, 기존 CNN 구조의 모델들은 Spatial이 작아진 feature map들을 fully connected layer을 이용하여 결과를 출력했다. 그러나 fully connected layer을 통과시킨 것을 다시 원래대로 돌릴 수 없기 때문에 다른 형태의 convolutional 구조로 만들어 픽셀 단위의 예측을 할 수 있게 만들었다. 2. convolution FCN의 backbone(encoder)은 기존 구조와 동일하게 Convolution layers를 이용하여 Feature을 추출한다. 3. Deconvolution 이렇게 추출된 feature map을 확장하여 입력 이미지와 동일한 크기의 segmentation map을..
이번에는 여러 Image segmentation 중 semantic segmentation에 대하여 조금 더 자세하게 알아볼 것이다. 1. Sliding Window 이미지를 sliding window로 옮겨가면서 각 window를 CNN에 넣어 해당 window의 중심에 그 class를 할당하자! (원래는 각 픽셀별로 하는 것이 맞지만 각 픽셀은 너무 작아 특징을 포함할 수 없기 때문에 주변을 같이 인식하고 클래스만 각 픽셀에 부여) -> 매 픽셀마다 클래스를 예측할 때 sliding window의 크기만큼의 작은 정보만을 줄 수 있기 때문에 해당 window 밖의 정보를 반영할 수 없음 -> 매 픽셀마다 window 크기를 보는데, 모든 픽셀에 대하여 수행하므로 중복 연산 과정을 수행한다. 2. Si..
1. Grad-CAM 소개 CAM은 Global average pooling layer가 없는 모델들에 한해서는 사용하기 어려웠고(사용하려면 모델 재학습 필요), 마지막 feature map에 대한 것만 시각화할 수 있다는 단점이 존재하였다. 이때 기존 네트워크 구조를 그대로 유지하면서 CAM과 유사하게 특징맵을 시각화할 수 있는 Grad-CAM이 2017년도에 등장하였다. 2. Grad-CAM 원리 우선 간단하게 CAM과의 차이를 말하자면, CAM은 Global Average Pooling layer을 거쳐 나온 벡터를 fc layer에 통과시킴에 따라 가중치를 계산하여 해당 가중치를 feature map에 곱하는 방식이었고, Grad-CAM은 동일한 원리인데 가중치를 GAP을 거치는 것이 아닌 Gra..
1. CAM 소개 오늘은 CAM: Class Activation Map이라는 기법에 대하여 알아볼 것이다. 해당 기법은 모델이 이미지의 어떤 위치를 보고 각각의 class를 예측하는지를 시각화하는 기법이라고 생각하면 간단하다. 기존 이미지 분류 모델들은 좌측 이미지처럼 각 layer을 거쳐 feature map을 뽑아서 해당 feature map을 flatten 시켜 Fully connected layer을 거쳐 각각의 클래스에 대한 확률을 얻게 된다. 그러나 이러한 flatten을 함으로써 이미지의 spatial한 정보를 잃게 된다. CAM은 `fully connected layer` 대신에 `Global Average Pooling`을 이용하여 spatial 정보를 잃지 않고 확률값을 얻게 하였다. ..
창빵맨
Let's be Developers