Edge Detection with OpenCV and Deep Learning
이미지를 다루다보면 특정 영역의 윤곽선 검출이 필요한 경우가 있습니다. 예를들면 촬영한 문서 이미지를 스캔한 이미지 형태로 만들기 위해 가장 큰 사각형의 영역을 찾는다거나 특정 물체의 경계를 찾기도 하고 나아가 이미지를 분석하거나 패턴을 파악하기 위해서도 사용됩니다. 일반적으로 가장 많이 알려진 edge detection algorithms은 Sobel, Canny, Prewiit, Roberts, Fuzzy Logic 방법 등이 있습니다.
이미지 연산을 통한 윤곽선 검출은 임계값을 수동으로 적용해야 하는데 하나의 이미지에서 잘 적용되는 임계값은 다른 이미지에서 제대로 작동하지 않을 수 있습니다. 그리고 추출하려는 영역이 배경이미지와 대비가 잘 되지 않는 경우 윤곽선을 찾는건 매우 어렵고 복잡한 이미지 전처리가 필요 할 수도 있죠.
Tesseract OCR을 소개하는 글에서 이미 이런 문제를 경험하기도 했습니다.
수많은 촬영기기 (카메라/스캐너/팩스 등)와 다양한 촬영 환경 (조명/화각/배경 등) 을 고려하여 임계값을 설정하는 것은 불가능하기때문에 보편적으로 적용이 가능하도록 최대한 이미지를 보정하려고 하지만 한계가 있죠.
이제 Deep Learning Model을 이용하여 이러한 한계를 해결해보려고 합니다. 알고리즘은 HED(Holistically-Nested Edge Detection)와 RCF(Richer Convolutional Features for Edge Detection) 두 알고리즘을 각각 사용하여 테스트 하였습니다. (소개하는 알고리즘 이외에도 다양한 Edge Detector가 있습니다.)
'Tech & Development > AI' 카테고리의 다른 글
Richer Convolutional Features (RCF) for Edge Detection - 윤곽선 검출 (1) | 2022.02.09 |
---|---|
Holistically-Nested Edge Detection (HED) - 윤곽선 검출 (0) | 2022.02.09 |
[ Python ] 미디어파이프(Mediapipe) 이용한 얼굴인식 (2) | 2022.02.04 |
Python, OpenCV Haar Cascades를 이용한 얼굴 인식방법 (0) | 2022.01.28 |
dlib, Python을 이용하여 강아지 얼굴 인식하는 방법 (3) | 2022.01.24 |
댓글
이 글 공유하기
다른 글
-
Richer Convolutional Features (RCF) for Edge Detection - 윤곽선 검출
Richer Convolutional Features (RCF) for Edge Detection - 윤곽선 검출
2022.02.09 -
Holistically-Nested Edge Detection (HED) - 윤곽선 검출
Holistically-Nested Edge Detection (HED) - 윤곽선 검출
2022.02.09 -
[ Python ] 미디어파이프(Mediapipe) 이용한 얼굴인식
[ Python ] 미디어파이프(Mediapipe) 이용한 얼굴인식
2022.02.04 -
Python, OpenCV Haar Cascades를 이용한 얼굴 인식방법
Python, OpenCV Haar Cascades를 이용한 얼굴 인식방법
2022.01.28