본문 바로가기

Computer Science/AL, ML 58

[Convolution] 2D Convolution, 1D Convolution 2D Convolution 정의 $G = H * F$ $G[i, j] = \sum^{\infty} _{u=- \infty} \sum ^{\infty} _{v = - \infty} H[i-u, j-v] F[u, v]$ * H : source img * F : filter 방법 모든 차원에 대해 filter를 flip(상하좌우 반전) 한다. cross-correlation을 적용한다. 1D Convolution 정의 $f(t) * g(t) = \int ^{\infty} _{-\infty} f(\tau) g(t - \tau) d \tau$ 2022. 6. 6.
[Convolution] Padding Padding 문제 Convolution 연산을 수행할 때 경계(edge)에 있는 픽셀에 대해서는 연산을 수행하지 못한다. 연산에 같이 적용할 수 있는 이웃하는 픽셀들이 존재하지 않기 때문이다. Padding Padding은 source image를 가상의 픽셀들로 둘러싸서 edge의 픽셀들에 대해서 연산을 수행하는 기법이다. 가상의 값들과 함께 edge의 픽셀들에 대해 convolution을 취하고 padding 했던 픽셀들을 버린다. 다양한 값들로 padding 할 수 있는데 주로 0으로 padding을 한다. 2022. 4. 21.
[Convolution] 여러가지 Convolution 여러가지 Convolution 다양한 filter를 사용해서 여러 결과물을 만들어낼 수 있다. Vertical Edge Horizontal Edge Sharpening 2022. 4. 21.
[Convolution] Denoising Denosing 노이즈를 줄이는 작업이다. Multi-frame Solution 노출 등이 다른 같은 사진 여러 장이 있을 때는 그 사진들에서 각 픽셀들의 평균값을 이용하면 된다. Single Image Solution 사진 한장만 있을 때는 convolution을 이용해서 쉽게 구현이 가능하다. 각 픽셀들을 근처 픽셀들의 평균을 취한 것으로 대체하면 된다. Single Image Solution using Convolution Symmetric box filter를 사용한 convolution을 한다. Symmetric box filter 일 때는 상하좌우로 반전시킨 것이 원본과 동일하므로 convolution의 결과와 cross-correlation의 결과가 동일하다. Filter 사용하는 filte.. 2022. 4. 21.
[Convolution] Convolution & Cross-Correlation 수학적 정의 Convolution Convolution의 수학적인 정의는 다음과 같다. $G = H * F$ $G[i, j] = \Sigma ^{\infty} _{u=- \infty}\Sigma ^{\infty} _{v=- \infty} H[i-u, j-v] F[u, v]$ Cross-correlation Cross-correlation의 수학적인 정의는 다음과 같다. $T = H \bigotimes K$ $T[i, j] = \Sigma ^{\infty} _{u=- \infty}\Sigma ^{\infty} _{v=- \infty} H[i+u, j+v] K[u, v]$ $K = flip(flop(F))$ $k_i = f_{N-i+1}$ 즉, cross-correlation은 인접요소들의 weighted .. 2022. 4. 21.