공부/Digital Image Processing
-
Non local means 알고리즘, MATLAB 구현 코드 포함공부/Digital Image Processing 2020. 7. 16. 23:55
Non local means algorithm은 노이즈 제거에 강력한 성능을 보여주는 denoising 알고리즘이다. 일반적으로, gaussian smoothing과 같은 노이즈 제거 알고리즘을 많이 사용하는데 이러한 smoothing 방식은 local한 데이터들, 즉 해당 픽셀 주변의 정보들만을 이용한다는데에 그 한계가 있다. 그렇기 때문에 edge등이 소실되기 마련이고, 텍스쳐가 뭉개지는등의 단점이 있다. 이를 통해 노이즈가 제거되기도 하지만, 영상의 디테일 또한 소실되는 문제점이 있다. NL means 알고리즘은 다음과같은 아이디어에서 시작된다. 해당 픽셀의 gaussian kernel에 해당하는 local 영역의 픽셀값 대신, 영상내에서 해당 픽셀 주변 영역과 비슷한 패턴을 갖는 영역들을 찾아내 ..
-
HSV 색공간과 인간의 시각 인지 과정과의 관계공부/Digital Image Processing 2020. 4. 18. 18:22
인간의 시각시스템을 잘 이해하기위해서는 우선, 인간의 눈이 어떻게 시각정보를 받아들이며, 어떻게 뇌로 신호를 보내는지에 대한 이해가 필요하다. 인간의 눈은 Iris(홍채)와 Pupil(동공)을 보호하는 Cornea(각막)라는 투명한 막으로 덮여있다. 이 Cornea는 눈 속으로 시각정보가 온전히 들어오도록 빛을 모아주는 역할도 한다. Iris(홍채)는 근육조직이며 Iris의 가운데에는 빛을 눈의 뒷부분으로 통과시키는 구멍이 뚫려있는데, 이 구멍을 Pupil(동공)이라고 한다. Iris는 이 Pupil의 크기를 조절하여 통과되는 빛의 양을 조절한다. Pupil을 통과한 빛은 Lens(수정체)라는 볼록렌즈를 통하게 되는데, 이로 인해 반전된 상이 Retina(망막)에 맺히게 된다. Retina에는 약 900..
-
c++ 로 구현하는 간단한 CNN공부/Digital Image Processing 2019. 12. 12. 01:46
산학장학생 과제 관련하여 C++로 OpenCV 코드를 짤 일이 생겼다. Classifier를 사용해야 하는데 OpenCV에 잘 구현되어있는 내장함수들을 사용해 Hog/Haar feature를 이용한 SVM등으로 Classification을 수행해도 되는 문제이지만 그냥 개인적인 욕심으로 다른 딥러닝 프레임워크를 사용하지 않고 CPU환경에서 동작하는 CNN을 구현해보고 싶었다. 기본적인 구조는 MATLAB의 방식을 따랐으며 학습또한 MATLAB으로 진행하고 parameter만 불러온다. 가장 애를 먹었던 부분은 MATLAB의 마지막 풀링 layer에서 FC layer로 어떤 방식으로 flatten 하여 넘겨주는지 몰라 알아내느라 쩔쩔맸다. MATLAB은 2D matrix를 flatten하는 방향을 row-..