전체 글

U-Net 위와 같은 모델의 architecture 때문에 U-Net이라는 이름이 붙었다고 하네요. 원래는 의료 분야에 유용할 것이라는 생각이 있었는데, 예상과 달리 computer vision과 같은 분야에서 크게 빛을 발했다고 합니다. Conv, RELU를 실행하면 channel은 증가하고 height와 width는 줄어듭니다. Max Pooling을 실행하면 channel은 그대로지만 height와 width는 줄어듭니다. Trans Conv를 실행하면(파란색 블록) channel은 줄어들지만 height와 width가 증가합니다. 최종 결과는 h x w x n(class)로 input과 동일한 차원을 갖게 됩니다. 출처: Coursera, Convolutional Neural Networks, D..
Transpose Convolutions 일반적인 Convolution은 filter를 통해 계산하면 그 차원수가 줄어듭니다. 하지만 Transpose Convolution을 적용하면 오히려 차원이 커지는 것을 볼 수 있습니다. 위 예시에서는 2 x 2 input이 3 x 3 필터를 만나 4 x 4가 되었습니다. input은 2x2, filter는 3x3, padding은 1, stride는 2인 예시를 살펴봅시다. 필터의 모든 값은 input의 각 값을 변수로 받아 제곱을 계산합니다. 계산된 제곱은 패딩을 제외한 구역에 더해집니다. 만약 여러 계산이 중첩되는 경우 계산된 값을 더하여 누적하면 됩니다. 패딩에 해당하는 값들은 계산하지 않고 무시합니다. U-Net에서는 이런 방식을 이용하여 이미지를 다시 ..
Object Detection vs. Semantic Segmentation 각 픽셀이 연결되어 있는지 그렇지 않은지를 구분하는 방식입니다. 특정 분야에서 효용성이 더 좋습니다. Motivation for U-Net 예시에서 볼 수 있는 것처럼 의료 분야에서 어떤 질병이 있는지 없는지를 판단하는데 큰 도움을 줄 수 있습니다. Per-pixel class labels label을 어떻게 설정하는지를 고민해봅시다. 위 이미지에서는 자동차인 부분은 1, 그렇지 않은 부분은 0이 될 것입니다. 만약 건물까지 구분하고 싶다면, 건물을 2로 할당할 수 있습니다. 여기에 도로까지 구분한다면 도로 부분은 3이 될 것입니다. bounding box를 예측할 때와 다르게 학습할 수 있습니다. Deep Learning fo..
Quick-union [lazy approach] 이번엔 id 배열이 인덱스별로 root 노드를 가리키고 있습니다. 여기서 인덱스와 id 배열의 값이 동일한 것은 자기 자신이 곧 노드라는 뜻입니다. 따라서 p와 q가 연결되어 있는지는 두 노드의 root 노드가 동일한지를 비교하면 됩니다. root 노드를 찾아가는 과정은 재귀적입니다. root 노드의 root가 자기 자신이 될 때까지 과정을 반복하게 됩니다. 여기서 id 배열의 값을 업데이트 할 때는 관련된 모든 값을 변경할 필요가 없습니다. 단지 child가 되는 node의 root를 변경해주면 되는 것입니다. 마찬가지로 python 코드로 구현한 결과물은 다음과 같습니다. class Quick_Union_UF(n): id = [x for x in ra..
Quick-find [eager approach] 지난 시간부터 이어지는 개념을 생각해봅시다. 주어진 7개의 union에 따라 10개의 숫자들은 위와 같은 연결 구조를 띕니다. id라는 배열에서 같은 값을 지닌 인덱스들이 동일한 connected component에 속하는 것입니다. 예를 들어 0, 5, 6은 모두 값이 0이므로 같은 곳에 속하죠. 만약 두 개의 component를 union하면 어떻게 될까요? 기존의 값들을 모두 바꿔줘야 하기 때문에 번거롭습니다. 지금 예시에서는 1과 6을 연결하는데, 0, 5, 6 모두 값을 변경해야 하죠. 그렇기 때문에 두 object를 union할 때 진즉에 관련된 모든 값을 변경하는 방식을 취할 수도 있습니다. 관련된 코드는 자바로 작성되는데, 저는 자바를 잘 ..
Dynamic Connectivity Union Find 알고리즘을 이해하기 위해서는 Dynamic Connectivity에 대한 기본 개념이 필요합니다. union : 두 object를 연결합니다. connected : 두 object가 연결되어 있는지에 대해 응답합니다. 초기 세팅에 의하면 0과 7은 연결되어 있지 않습니다. 하지만 다른 object들이 연결됨에 따라 두 object 또한 간접적으로 연결되게 되었습니다. Modeling the connections is connected to, 즉 연결되었다는 표현은 크게 세 가지를 포함할 수 있습니다. 1) Reflexive : 자기 자신에게는 항상 연결되어 있는 셈이죠. 2) Symmetric(대칭적) : p가 q에 연결되어 있다면, q도 p에 연..
chanmuzi
chanmuzi