원시적 탐지
개념: 원시 검출은 컴퓨터 비전 및 패턴 인식 분야에서 이미지의 기본 모양이나 특정 로컬 패턴을 감지하고 식별하는 프로세스를 의미합니다. 프리미티브는 선분, 원, 직사각형 등과 같은 단순한 기하학적 모양이거나 모서리, 텍스처 등과 같은 보다 복잡한 로컬 이미지 구조일 수 있습니다.
1. 가장자리 감지
가장자리는 이미지의 픽셀 회색 값이 급격히 변하는 불연속적인 결과입니다. 가장자리는 해당 픽셀 인근에 있는 이미지 함수의 그라데이션 속성과 관련된 개별 픽셀에 할당된 속성입니다.
가장자리 크기: 그라데이션의 크기입니다.
가장자리 방향: 그라데이션 방향이 -90도 회전되었습니다.
(가장자리 감지는 일반적인 기본 감지의 기초이자 경계 기반 이미지 분할의 첫 번째 단계입니다.)
가장자리 감지 알고리즘: Sobel, Laplacian 및 Canney 연산자.
2. 코너(Conner) 검출
개념: 코너 검출은 컴퓨터 비전 분야의 핵심 작업으로, 이미지에서 코너 점의 위치를 검출하는 것을 목표로 합니다. 모퉁이 점은 이미지의 특별한 픽셀 위치이며 주변 영역은 다양한 방향으로 큰 그라데이션 변화를 갖습니다. 모서리 점은 일반적으로 객체 가장자리의 교차점 또는 전환점을 나타내며 다양한 보기 각도 및 배율에서 안정성을 유지하는 속성을 갖습니다.
모서리 감지의 주요 목표는 이미지에서 다음과 같은 특성을 갖는 픽셀 위치를 찾는 것입니다 .
1. 회색 그라데이션 변경: 모서리에 있는 픽셀 주변 영역에는 서로 다른 방향으로 뚜렷한 회색 그라데이션 변경이 있습니다. 즉, 서로 다른 방향에서 회색조 변경을 겪는 가장자리는 이 지점에서 수렴됩니다.
2. 격리: 모서리 점은 일반적으로 이미지에서 상대적으로 격리된 특징점으로, 주변 영역의 픽셀과 뚜렷한 회색조 차이가 있습니다.
일반적인 모서리 감지 알고리즘 에는 다음이 포함됩니다.
1. 해리스 모서리 감지 알고리즘: 픽셀 주변 이웃의 회색 그라데이션 및 공분산 행렬을 계산하여 모서리 점의 응답 값을 평가합니다. 응답값이 높은 픽셀은 코너 포인트로 간주됩니다.
2. Shi-Tomasi 코너 감지 알고리즘: 향상된 버전의 Harris 알고리즘을 기반으로 최소 고유값을 코너 응답성 측정값으로 사용하여 코너 점을 더 잘 선택할 수 있습니다.
3.FAST 코너 감지 알고리즘: 픽셀 주변의 원형 이웃에 대한 효율적인 픽셀 비교를 통해 코너 포인트를 결정하는 빠른 코너 감지 알고리즘입니다.
4. SIFT(Scale Invariant Feature Transform) 알고리즘: 스케일 공간을 기반으로 한 특징 탐지 및 설명 알고리즘으로, 스케일 및 회전 변화에 따른 코너 포인트를 탐지할 수 있습니다.
3. Hough Transform
개념: Hough Transform은 이미지 처리 및 컴퓨터 비전에 일반적으로 사용되는 기술로, 이미지에서 기하학적 모양, 특히 직선과 원을 감지하는 데 사용됩니다.
일반적인 Hough 변환 감지 애플리케이션:
1. 직선 감지: Hough 변환을 사용하여 이미지에서 직선을 감지할 수 있습니다. 이미지에서 가능한 모든 직선을 찾아 해당 직선의 매개변수 표현(보통 극형)을 제공합니다. 이는 이미지의 가장자리 감지 및 선 분할에 유용합니다.
2. 원 감지: Hough 변환을 사용하여 이미지에서 원을 감지할 수도 있습니다. 선 감지와 유사하게 이미지에서 가능한 모든 원을 찾아 파라메트릭 표현을 제공할 수 있습니다. 이는 컴퓨터 비전의 대상 인식 및 추적과 같은 원형 개체의 감지 및 추적에 유용합니다.
3. 곡선 감지: 직선과 원 외에도 Hough 변환을 사용하여 다른 모양의 곡선을 감지할 수도 있습니다. 예를 들어, 감지하려는 곡선의 수학 방정식 형태를 알고 있는 경우 Hough 변환을 사용하여 해당 방정식에 맞는 이미지의 곡선을 찾을 수 있습니다.
! ! !
다음 예에서는 모서리 점 감지에 SUSAN 연산자를 사용하고 직선 감지에 Hough Transform을 사용합니다.
전시하다matlab代码
1. SUSAN 운전자 코너 감지
clear;
clc;
% 读取图像
Image=imread('susan.tif');
% 转化为灰度图像
%Image=rgb2gray(Image);
% 显示图像
%imshow(Image);
% 获取图像高宽(行烈)
[ImageHeight,ImageWidth]=size(Image);
% 这一步没太大必要
%Image=double(Image);
% 判断灰度相近的阈值
threshold=45;
% 当前像素和窗体内像素差别在t以下的个数,即相似的个数
usan=[];
% 计算以像素为中心的窗体内包含的
% 包含37个像素的圆窗口,面积为12*pi=37,因此是以sqrt(12)为半径的原
% 没有在外围扩展图像,最终图像会缩小
for i=4:ImageHeight-3
for j=4:ImageWidth-3
%从原图中截取7*7的区域再在其中挑选圆窗
tmp=Image(i-3:i+3,j-3:j+3);
%c表示灰度值相近的程度,越大越相近
c=0;
for p=1:7
for q=1:7
%在7*7的区域中选取圆窗包含的像素
if (p-4)^2+(q-4)^2<=12
%usan(k)=usan(k)+exp(-(((img(i,j)-tmp(p,q))/t)^6));
%判断灰度是否相近,t是自己设置的
if abs(Image(i,j)-tmp(p,q))<threshold
c=c+1;
end
end
end
end
usan=[usan c];
end
end
%相当于进一步调整阈值,在threshold的基础上进一步减少角点个数
g=2*max(usan)/3;
for i=1:length(usan)
if usan(i)<g
usan(i)=g-usan(i);
else
usan(i)=0;
end
end
% 由于usan是一维的,所以要重新变换为二维,对应图像位置
imgn=reshape(usan,[ImageWidth-6,ImageHeight-6])';
%figure;
%imshow(imgn)
%非极大抑制
[m n]=size(imgn);
re=zeros(m,n);
for i=2:m-1
for j=2:n-1
if imgn(i,j)>max([max(imgn(i-1,j-1:j+1)) imgn(i,j-1) imgn(i,j+1) max(imgn(i+1,j-1:j+1))]);
re(i,j)=1;
else
re(i,j)=0;
end
end
end
figure;
imshow(Image)
hold on;
[x,y]=find(re==1);
plot(y,x,'*')
실행 결과 표시:
회색조 이미지:
가장자리 감지:
모서리 감지:
2. Hough 변환 직선 검출
전시하다matlab代码
clear;
close all;
img = imread('hough.jpg');
figure(1),
subplot(1,2,1);
imshow(img);
title('原始图像');
img=rgb2gray(img); % 灰度图像
subplot(1,2,2);
imshow(img);
title('灰度图像');
thresh=[0.01,0.10]; %敏感度阈值
sigma=3;%定义高斯参数
f = edge(double(img),'canny',thresh,sigma); %边缘检测
figure(2),
imshow(f);
title('canny 边缘检测');
% 检测函数;
[H, theta, rho]= hough(f,'Theta', 20:0.1:75); %0-1
% H->累计数组 , thetaH:对应的θ,实际上H的大小就是Rho×Theta
% Rho:H对应的ρ
peak=houghpeaks(H,5); %峰值提取
hold on %保留当前的图和特定的坐标轴属性,以便后续的绘图命令添加到现有的图表。
%得到线段信息
lines=houghlines(f,theta,rho,peak);
figure(3);
imshow(f,[]);
title('霍夫变换检测结果');
hold on ;
for k=1:length(lines)
xy=[lines(k).point1;lines(k).point2];
plot(xy(:,1),xy(:,2),'LineWidth',4,'Color',[1,0,0]);
end
실행 결과 표시:
요약하다:
SUSAN(Smallest Univalue Segment Assimilating Nucleus) 연산자는 영상 처리에 흔히 사용되는 모서리 검출 알고리즘인 반면, Hough 변환은 직선 검출에 사용되는 기술입니다. 아래에서 각각의 특징을 소개하겠습니다.
코너 감지를 위한 SUSAN 연산자의 특징:
- 이미지의 기울기 정보에 의존하지 않음: SUSAN 연산자는 픽셀 주변의 회색 값 통계 정보를 기반으로 하며 이미지의 기울기를 계산할 필요가 없습니다. 이로 인해 소음에 더욱 견고해졌습니다.
- 이는 조명 변화에 대한 확실한 견고성을 가지고 있습니다. SUSAN 연산자는 픽셀 주변 픽셀과 중앙 픽셀 사이의 회색조 차이를 비교하여 꼭지점을 결정합니다. 따라서 이미지에 특정 조명 변화가 있는 경우에도 효과적인 코너 감지가 수행될 수 있습니다.
- 스케일 불변성: SUSAN 연산자는 다양한 스케일의 이미지에서 꼭지점을 감지할 수 있습니다. 조정 가능한 반경 매개변수를 사용하여 이웃의 크기를 제어하여 다양한 스케일에서 코너 감지를 달성합니다.
직선 검출을 위한 허프 변환의 특징:
- 견고성: Hough 변환은 이미지 노이즈 및 로컬 간섭에 대해 어느 정도 견고성을 갖습니다. 허프 변환은 매개변수 공간에 누적되어 직선을 감지하므로 이미지에서 고립된 점과 간섭하는 선분을 무시할 수 있습니다.
- 여러 직선 감지의 경우: Hough 변환은 하나의 직선이 아닌 이미지에 존재하는 여러 직선을 감지할 수 있습니다. 매개변수 공간에서의 축적 프로세스는 다양한 직선 매개변수 조합을 감지할 수 있습니다.
- 로컬 모양 변경에 대한 민감도: Hough 변환은 직선을 감지할 때 로컬 모양 변경에 더 민감합니다. 따라서 직선이 어느 정도 중단되거나 불연속성이 있는 경우에도 Hough 변환을 사용하면 해당 직선 세그먼트를 검출할 수 있습니다.
SUSAN 연산자와 Hough 변환은 모두 이미지 처리 분야의 고전적인 방법이며 각각 고유한 특성과 적용 범위를 가지고 있습니다. 실제 응용 분야에서는 특정 시나리오 및 요구 사항에 따라 모서리 감지 및 직선 감지에 적합한 알고리즘을 선택할 수 있습니다.