목록분류 전체보기 (94)
Gaegul's devlog
본 논문은 model-based reinforcement learning으로 선(stroke)만으로 이미지를 생성할 수 있다. 본 논문의 task는 주어진 이미지와 유사한 그림을 생성하기 위해 캔버스에 선을 순차적으로 그릴 수 있는 painting agent를 훈련한다. Main Contribution real-world images을 paint하기 위한 agent를 학습하기 위해 3가지 챌린지. 1. 인간처럼 그림을 그리려면 agent가 주어진 대상 이미지를 순서 있는 stroke(스트로크)로 분해할 수 있는 능력이 필요하다. 그럴려면 현재 캔버스의 status을 이해하면서, future stroke에 대해 미ㄹ리 알 수 있어야 한다. 이것이 가능하게 하려면 한가지 방법은 각 step에서 stroke ..
이번 논문 리뷰는 Image inpainting 논문 중에 Gated Convolution을 통해 마스크 부분을 제너레이팅 하는 대표적인inpainting 논문이다. Gated Convolution의 개념이 조금은 생소할 수 있지만, 본 논문의 key idea 이기에 한번 공부해보려한다. 기존 Convolution 연산의 한계 공간적으로 공유된 convolution 필터가 모든 input pixel 또는 feature을 동일한 유효한 것으로 취급하기 때문에 이미지 구멍 채우기에 자연스럽게 적합하지 않다. 마스크 부분을 채우는 경우, 각 레이어에 대한 입력은 구멍 외부의 유효한 pixel / feature과 마스크된 영역의 유효하지 않은 픽셀로 구성된다. convolution 연산은 모든 유효, 무효 및 ..
0. Abstract 본 논문은 새로운 flow-based video completion algorithm 을 설명한다. 그들의 방법은 우선 motion edge 을 extract 하고 complete한다. 그리고 샤프한 motion edge를 가지고 piecewise-smooth flow completion을 가이드하기 위해 사용한다. 현재 존재하는 방법들은 인접한 프레임들 사이의 local flow connection 사이 색상을 propagate 한다. 그러나 움직임 경계가 관통할 수 없는 장벽을 형성하기 때문에 비디오의 모든 누락된 영역에 이러한 방식으로 도달할 수 있는 것은 아니다. flow-edge guided 방법은 일시적으로 먼 프레임에 local이 아닌 flow guided을 도입하여 모..
Optical Flow (광학흐름) 이란? 영상 내 물체의 움직임 패턴을 의미하며, 이전 프레임 t 와 다음 프레임 t +1 (t') 간 픽셀이 이동한 방향과 거리이다. 아래의 그림같이 두 연속적인 이미지(프레임)에서의 모션을 추정하는 것이다. Optical Flow는 비디오에서 주로 쓰이며, 물체의 움직임을 탐지하는 것과 관련된 motion segmentation 까지 많은 분야 까지 폭넓게 적용될 수 있다. 가장 대표적인 알고리즘 2가지 1. Lucas-Kanade Lucas-Kanade 알고리즘은 영상 내 이미지 사이의 시간적, 공간적 연속성과 이웃한 픽셀들의 움직임은 함께 간다는 것을 가정하고 만들어졌다. 연속된 이미지에서 우리가 관측하고 있는 포인트 p의 변위를 알고 싶다. 이 때, 연속성을 이..
0. Abstract 본 논문은 convolution layer 대신 mlp layer를 통해서 long range denpency 와 postitional pattern을 캡쳐하는 측면에서 더 효율적이고 나은 결과를 위한 MLP 네트워크를 설계한다. 특히, 본 논문의 저자들은 FC에 local prior를 추가하는 structural re-parameterization technical을 제안한다. 구체적으로, training time 동안 RepMLP 내부의 convolutional layer를 설계하고, test(inference) time에 그것들을 FC로 합친다. 그 결과, CIFAR 데이터셋에서 심플한 MLP 모델은 CNN과 매우 비슷한 performance를 보인다. 일반적인 CNN 모델안에..
연결 리스트는 가장 대표적인 선형 알고리즘. 효율적으로 풀기 위해서 첫번째 방법은 deque를 이용하여 최적화 시킬 수 있다. 동적 배열로 구성된 리스트는 맨 앞 아이템을 가져오기에 적합한 자료형이 아니다. 왜냐하면 첫번째 값을 꺼내오면 모든 값이 한 칸씩 shifting되며, 시간 복잡도도 O(n) 가 발생한다. 파이썬의 deque는 이중 연결 리스트 구조로 양쪽 방향 모두 추출하는 데 시간 복잡도 O(1)에서 실행된다. 두번째 방법은 런너를 이용하는 것이다. 순서에 따라 2개의 런너, 빠른 런너와 느린 런너를 각각 출발 시키면, 빠른 런너가 끝에 다다를 때 느린 런너는 중간 지점에 도달하게 된다. 그럼 느린 런너는 중간까지 이동하면서 역순으로 연결 리스트 rev를 만들어 나간다. 이제 중간에 도달한 ..
Gated Convolution ? Gating y,x 와 Feature y,x 는 각각 다른 weights에 대한 convolution 연산 결과이다. O y,x 는 ReLU 나 LeakyReLu 와 같은 activation 함수와 sigmoid 함수 결과를 element-wise product(내적곱)을 한다. 다시 말하지면, 일반적인 convolution 연산을 하듯 Feature y,x 를 추출하고 해당 이미지에서 soft mask인 Gating y,x를 얻는다. 그 다음, Gating y,x에 시그모이드 함수를 취해 gating을 0(invalid) 또는 1 (valid)사이로 만든다. 다음 Feature y,x는 LeakyReLU 와 같은 original activation function 을..
이번 논문은 Video Inpainting에 관한 논문이다. Video Inpainting 논문 중에 가장 잘 알려진 논문 중에 하나라고 할 수 있다. 영상의 누락된 영역을 채우는 것을 목표로 하는 Video Inpainting 은 영상 콘텐츠의 정확한 공간적, 시간적 일관성을 보존하기 어려워 여전히 어려운 문제로 남아있다. 본 논문에서는 새로운 flow를 guide하는 inpainting 방법을 제안한다. 각 프레임의 RGB 픽셀을 직접 채우는 대신 비디오 인패인팅을 픽셀 propagation 문제로 생각하기 때문에 새롭게 설계된 Deep Flow Completion 네트워크를 사용하여 비디오 프레임 전반에 걸쳐 공간적이고 시간적으로 Deep Flow Completion 네트워크는 flow field를..
Domain Adaptation using Stochastic Neighborhood Embedding _CVPR 2019 Domain Adaptation? 도메인이 다르지만 관련이 있는 새로운 영역(distribution)에 기존 영역의 정보를 적응시키는 것. 본 논문의 목표는 source domain(pretrained)의 정보를 target domain에 적응시켜 성능을 높일 수 있는 확률을 올려 주는 것이다. 사실 source 에 adaptation 되있는 모델은 새로운 source 데이터를 가지고 결과를 도출할 때 원하는 결과를 기대하기 어렵다. 이것은 domain-shift 때문인데, 피처들이 그들의 공간에 변형을 갖게 됨으로써 classifier boundary는 redrawn된다. 다른 도..
문제. 두수의 합 [2, 7, 11, 15] 가 input으로 들어갔을 때 sum = 9가 되는 두 숫자의 인덱스를 리턴하여라. 풀이 1. 브루트 포스로 계산 모든 경우의 수를 다 확인하는 방법. 매우 비효율적. for i in range(len(nums)): for j in range(i+1, len(nums)): if nums[i] + num[j] == target: return [i,j] 풀이 2. in을 이용한 탐색 모든 조합을 비교하지 않고 정답, 즉 타겟에서 첫 번째 값을 뺀 값 target - n이 존재하는지 탐색. for i, n in enumerate(nums): complement = target - n if complement in nums[i+1]: return [nums.index..