이 특정 시프트 / 스케일 불변 템플릿 매칭에 이상적인 이미지 처리 기술은 무엇입니까?


17

내가 여기에서 처음 논의했던 문제 가 진화했으며, 좀 더 연구하고 새로운 정보를 얻음에 따라 조금 더 단순 해졌을 수도 있습니다.

결론적으로, 컴퓨터 비전 / 이미지 처리 기술을 사용하여 여기에 표시된이 패턴을 감지하고 싶습니다. 보다시피 이상적인 패턴은 4 개의 '핑'으로 구성됩니다. 객체 인식은 다음과 같아야합니다.

  • 불변 값 시프트
    • 가로로 이미지는 주기적입니다. (즉, 오른쪽으로 밀고 왼쪽으로 나오고 그 반대도 마찬가지입니다).
    • (다행스럽게도) 세로 방향으로는 주기적이지 않습니다. (즉, 상단 또는 하단으로 누르면 중지됩니다).
  • 스케일 불변 (Pings Invariant) (핑은 '두께'가 다를 수 있습니다)

계속할 수는 있지만 의미하는 바를 담은 이미지를 첨부했습니다. 아래를 참조하십시오.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

물론 그들은이 가족에서 볼 수 있듯이 다른 '규모'에있을 수도 있습니다.

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

마지막으로, 제가 실제로받을 수있는 몇 가지 '현실적인'시나리오가 있습니다. 노이즈가있을 때, 맨 아래로 갈 때 행이 '페이드'될 수 있습니다. 물론 이미지에는 많은 허위 선, 인공물이 있습니다. 등

여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

물론, 그랜드 피날레로서이 '극단적 인'시나리오의 뚜렷한 가능성이 있습니다.

여기에 이미지 설명을 입력하십시오

다시 한 번, 나는 패턴의 발생 을 가장 잘 감지 하기 위해 여기에서 어떤 컴퓨터-기계-비젼 기술을 사용해야하는지에 대한 지침을 요청하고 싶습니다. 또한 현실적인 시나리오에 대한 적절한 결과를 얻을 수 있습니다. (좋은 소식은 회전 불변성이 필요하다는 것입니다). 내가 지금까지 생각해 낼 수 있었던 아이디어만이 2D 상관 관계입니다.

실제로, 나는 컬러 이미지를 가지고 있지 않다는 것을 덧붙여 야한다. 나는 단지 숫자의 숫자를 얻을 것이다. 그래서 우리는 '회색조'에 대해 이야기하고 있다고 가정한다.

미리 감사드립니다!

추신 : 그 가치에 대해서는 아마도 오픈 C V를 사용할 것입니다.

편집 # 1 :

의견을 바탕으로 요청한 세부 정보를 여기에 추가했습니다.

데이터를 정의하는 특성의 경우 다음을 가정 할 수 있습니다.

  • 각 핑의 가로 길이는 다를 수 있지만 그 상한과 하한을 알고 있습니다. 이 범위 내에서 YES이면 외부에서 YES입니다. (예를 들어, 핑 길이는 1 초에서 3 초 사이 일 수 있습니다.)

  • 모든 핑은 YES에 대해 '표시'되어야하지만 마지막 행이 누락되어 여전히 'YES'라고 말하고 싶습니다. 그렇지 않으면 NO.

  • 각 핑의 수직 길이 ( '두께')는 다양 할 수 있지만 상한과 하한도 알고 있습니다. (그 이미지에서 보는 것과 비슷합니다). 그 범위 내에서 그렇습니다. 외부에는 없습니다.

  • 각 핑 사이의 높이는 항상 동일해야합니다. 그렇지 않은 경우 NO. (예를 들어, 모든 핑의 높이가 수직 축에서 ~ 110 인 방법을 알 수 있습니다). 따라서 110 +/- 5는 YES 일 수 있으며, 다른 것은 NO 여야합니다.

나는 그것에 대해 생각합니다-그러나 내가 추가 할 수있는 다른 것을 알려주십시오 ... (또한 여기에 표시된 모든 것은 YES, btw로 등록해야합니다).


당신이 말할 때 무엇을 의미 detect this pattern shown here합니까? 빨간색 / 노란색 선을 분리하는 데 관심이 있거나 실제로 이러한 선 사이의 관계를 계산하는 식을 원하십니까? 라인을 찾는 것만으로 일부 임계 값 또는 분할이 필요할 수 있습니다. 당신은 정말로 무엇을 원하십니까?
Dipan Mehta

@DipanMehta 혼란을 드려 죄송합니다. 내가하고 싶은 것은 이것입니다. 먼저 색상에주의를 기울이지 마십시오 (그냥 말한 것입니다), 내가 가질 것은 숫자 행렬이므로 그레이 스케일입니다. 두 번째로, 색상이 없기 때문에 반복되는 4 개의 핑이있는 '패턴'에만 관심이 있습니다. 따라서 탐지기는 위 이미지와 같이 해당 이미지 템플릿의 변형을보고 '예,이 패턴이 존재합니다'라고 말합니다. 혼란을 드려 죄송합니다. 다른 내용을 명확히 할 수 있으면 알려주세요. 감사!
Spacey

좋아, 그래서 내가 올바르게 이해한다면, 맨 위에 첫 줄이 있다는 것을 감안할 때, 당신은 또한 균형이 같은 장소에 있는지 알고 싶습니다. 그렇다면 패턴이 존재한다고 결론을 내릴 수 있습니다! 권리?
Dipan Mehta

@DipanMehta 예, 기본적으로 위에 표시된 패턴이 존재하는지, 스케일 불일치를 처리 할 수있을 정도로 견고하고, 변이 편차를 처리 할 수있을 정도로 견고합니다. 말이 돼? 감사합니다,
스페이시

1
내가 얻는 것은 작업중 인 실제 시스템의 소스 데이터에 액세스 할 수 있는지 여부입니다. 그렇다면, 제로에서 시작한 중간 스펙트로 그램 형식 대신 원본 데이터에서 직접 작동하는 더 나은 방법이있을 수 있습니다.
Jason R

답변:


6

대체로이 문제를 해결하기위한 두 가지 주요 접근 방식이 있습니다.

ㅏ. 템플릿 매칭 또는
b. 매개 변수화 된 모델과 일치합니다.

개인적으로 모델의 단순성을 고려할 때이 문제에 대한 두 번째 접근법을 선호합니다.

1 단계 : Ping Blob 식별

첫 번째 단계로 "Boxes"(기본적으로 노랑 / 파란 사각형)를 추출하십시오. 여기서 가장 간단한 방법은 이미지의 임계 값을 지정하는 것입니다. 잡음이 증가함에 따라 핑과 상당히 유사한 경향이 있다는 점을 제외하고는 배경에 큰 변화가없는 것 같습니다. 따라서 임계 값은 이미지 전체에서 전역적일 수 있으며 이미지 전체에서 작동하는 적절한 임계 값을 얻을 수 있다고 생각합니다. 그러나 임계 값은 똑똑해야 Otsu의 방법과 같은 것을 사용할 수 있습니다. 참조 이 문제를 더 참조.

블록 개선

핑 내부의 일부 픽셀이 파란색 인 핑 전경과 비슷한 스퓨리어스 포인트를 제거하는 좋은 방법 중 하나입니다. 여기서 "열기"라는 형태소 연산이 필요합니다. 다음은 HIPR 의 참조 중 하나입니다 . 이러한 유형의 작업에는 유사한 모양을 유지하고 다른 모양을 제거하는 데 도움이되는 스마트 한 모양이 필요합니다. 귀하의 경우 수평선을 선택할 수 있습니다. 이것으로 말미암아 배경과 전경 픽셀이 서로 닿지 않고 핑을 깔끔하게 분리합니다.

2 단계 : 블록 표시 / 등록

이제 가장 깨끗한 블롭 을 얻었으므로 1,2,3,4 또는 A, B, C, D 등으로 표시 할 시간입니다. 일반적으로 간단한 알고리즘이라고합니다. 각 픽셀을 통과하고 표시된 영역과 접촉하고 전경에 있으면 해당 세그먼트에 할당하고 새 픽셀을 만듭니다. 4 개 이상의 중요한 세그먼트를 찾으면 가장 관련성이 높은 세그먼트를 선택해야합니다. 이론적 알고리즘 대신 휴리스틱을 적용하십시오.

3 단계 : 매개 변수 모델링

이제 4 개의 해당 핑 중 상위 4 개 후보를 확보하면 경계 상자를 식별 할 수 있습니다. 기본적으로 왼쪽 위와 오른쪽 아래 모서리 (또는 대부분의 왼쪽과 오른쪽 픽셀, Blob의 맨 위와 맨 아래 행) . 경계 상자를 찾으면 각 핑 상자의 중심을 미세 조정할 수 있습니다.

Ci where i{1,2,3,4}C1C1

그러므로 중심 간 거리를 계산할 수 있습니다 :

C1i[x,y]={C1[x]Ci[x],C1[y]Ci[y]}

Li where i{1,2,3,4}

기본적으로 8 개의 매개 변수 vecoter가 있습니다.

1.{C1[x],C1[y]}2..4C1i[x,y]5..8Li

4 단계 : 분류
마지막 단계에서 이제 핑 패턴이 있는지 여부에 대한 분류가 필요합니다.

이와 같은 경우, 훌륭한 베이지안 분류기 프레임 워크를 가질 수 있습니다.

두 가지 가설이 있습니다

H0 : 핑 패턴이 존재합니다.
H1 : 핑 패턴이 존재하지 않습니다

C1,i[x]

첫째로 당신의 당신이 이미지의 많은 연구 알고 그들이 이미지에 속해 있습니다. 이제 다양한 히스토그램을 플롯하거나 밀도 추정 방법을 적용 할 수 있습니다. Duda Hart의 패턴 분류를 읽으십시오.

C1,i[x]μ=20,σ=.1

C1,iH0P[C1,i[x]|H0]

이제 테스트 데이터에서

P[H0|C1,i[x]=x1]C1[x]x1H0

따라서 계산할 수 있습니다

P[H0 |C1,i[x]]=P[C1,i[x]|H0]P[H0]P[C1,i[x]]

벡터 식에이 식을 결합해야하며 모수 추정을 정확하게 수행하기 위해 많은 노력을 기울여야합니다. 그러나 나는 여기에 기본적인 접근 방식으로 당신을 떠날 것입니다.

자신의 수학을 수행하십시오. 시간이 오래 걸리지 만 여전히 직관적입니다.

P[H0|all parameters]>1/2

편집
110 +/- 5 픽셀의 특정 기준을 이미 정의 했으므로 마지막 단계가 더 간단해질 수 있습니다. 분류 기준이 고정 된 경우 이러한 확률을 모두 계산할 필요는 없습니다.


대단히 감사합니다! 나는 이것을 소화하고 당신에게 돌아와야 할 것입니다.
Spacey

3

이 문제 는 펄스 반복 간격 감지 + 추정 문제처럼 보입니다 . 시간이 지남에 따라이 답변을 개발해야하지만 해당 문제 에서 잘 작동하는 알고리즘 은 격자에서 최대 가능성입니다 .


고맙습니다. 네, 이것에 대한 당신의 생각을 기뻐할 것입니다. 그동안 귀하의 링크를 살펴 보겠습니다.
Spacey

피터, 당신이 언급 한대로 이것에 대해 생각할 시간이 있습니까? 그 문제에 대한 당신의 생각을 듣고 싶습니다.
Spacey

방금 다시 땜질을 시작했습니다 (4 월은 상각입니다). 클락슨의 논문이 문제를 공식화하는 방식이 다르다는 점을 착각 할 수 있습니다.
Peter K.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.