Kontur i obszar, surowe (przestrzenne) i centralne momenty obrazu

9

Niedawno zacząłem używać momentów obrazu do przetwarzania obrazów binarnych. Czytam, że moment konturu rzędu jest obwodem, a moment obszaru zamówienia jest obszarem . Te nieprzetworzone momenty są podawane przez:0th0th

Mij=xyxiyj .

Oznacza to, że jeśli mam taki obraz (ale binarne piksele pierwszego planu pokazane na niebiesko), moment będzie odpowiadał obwodowi, ponieważ jest to obraz konturu :0th

Perimiter img

Z drugiej strony, jeśli mam taki obraz (pierwszy plan pokazany jako chwila), otrzymam obszar obiektu jako moment :0th

Obszar zdjęcia

Ponieważ chcę użyć konturów, aby uzyskać więcej właściwości, obliczam również moment nieprzetworzonego konturu wyższego rzędu ( , , ) . Chcę ich użyć, aby uzyskać najważniejsze momenty.1st2nd3rd

Formuły, których używam do uzyskania centralnych momentów, to:

μ00=M00

μ01=0

μ10=0

μ11=M11M00xcyc=M11M00(M10M00)(M01M00)

Wzory do obliczania momentów centralnych wykorzystują momenty surowe . Moje pytanie brzmi: które nieprzetworzone momenty są używane do obliczania momentów centralnych, powierzchni lub konturu ? . Sądzę, że momenty obszarowe , ponieważ moment centralny rzędu jest również równy obszarowi, który w rzeczywistości jest momentem obszarowym rzędu.0th0th

Ponadto, czy mogę obliczyć momenty centralne na podstawie momentów konturowych ?

Olivier_s_j
źródło
2
Powiązane: stackoverflow.com/questions/12882039/…
Andrey Rubshtein
1
Tak, różnica między momentami powierzchniowymi i momentami konturowymi jest tam wyjaśniona. Teraz byłoby tylko więcej informacji na temat centralnych momentów i relacji między nimi :)
Olivier_s_j
Centralne momenty konturu czy obszaru?
Andrey Rubshtein
Centralne momenty konturu muszą zostać wyjaśnione. Chciałbym wiedzieć, jak uzyskać momenty centralne na podstawie momentów konturowych. Ponieważ jeśli obliczę moment centralny na podstawie konturu, a także moment na podstawie obszaru, widzę, że nie są one takie same. Dlatego nie mogę poprawnie obliczyć orientacji lub ekscentryczności figury. ( en.wikipedia.org/wiki/Image_moment )
Olivier_s_j
Mówisz na początku: „Czytam, że moment konturu rzędu zerowego jest obwodem, a moment obszaru rzędu zerowego jest obszarem”. Czy możesz podać źródło? (Zabijałem się, by znaleźć coś bardziej konkretnego w momentach konturowych)
penelopa,

Odpowiedzi:

3

W rzeczywistości byłem zaskoczony, jak trudne było odjęcie prawidłowej definicji konturu w porównaniu do „normalnych” momentów obrazu bez konturu . Po przeczytaniu wielu materiałów, oto moje wnioski.


Po pierwsze, aby zrozumieć momenty , a zwłaszcza różnicę i wykorzystanie przestrzeni (co OP określa jako „surowe”), centralne i centralne znormalizowane momenty, znalazłem dwa bardzo dobre materiały:

  • (instrukcja) Johannes Kilian: „Prosta analiza obrazu według momentów”

    Doskonała instrukcja z prostą matematyką. Nie bój się całek - możesz odczytać je wszystkie jako podsumowania.

    Ma również krótki przegląd funkcji OpenCV używanych w tych momentach. Jest to bardzo stary materiał (2001), więc podręcznik OpenCV, do którego się odnosi, jest nieco stary, ale nadal pomaga.

    A potem jest cudowny trzeci rozdział, określający, który moment jest używany do opisania, która cecha momentu.

  • (blog przetwarzania obrazu) Utkarsh: Image Moments

    Prosty, krótki i przyjazny. Znalazłem wiele dobrych materiałów na tym blogu.

    Oświadczenie AI Shack w pewnym momencie wydawało się być offline. Oto strona główna autora AI Shack , gdzie opowiada o tym projekcie, więc nadal wydaje się, że jest on obsługiwany. Mam nadzieję, że wkrótce wróci on-line, ale jeśli nie, może być śledzony na stronie autora.


Krótko mówiąc, momenty przestrzenne dostarczają informacji o obiekcie na obrazie , tj. Związanych (zależnych) od położenia obiektu .

Te centralne momenty są dostosowane do translacyjnej niezmienniczości , przesuwając pochodzenie „układzie współrzędnych” stosowanego w obliczeniach do środka ciężkości (środek ciężkości) z danego przedmiotu.

Wreszcie, centralne znormalizowane momenty są skalowane według obszaru obiektu, a zatem są niezmienną skalą oprócz niezmienności translacyjnej.


Teraz część pytania: co z momentami konturowymi?

Wnioski z tej części są w większości oparte na

I najważniejsze cytaty z tych źródeł:

Chwile konturu są definiowane w ten sam sposób, ale obliczane przy użyciu formuły Greena.

(Podręcznik referencyjny OpenCV)

W geometrii płaskiej, a w szczególności w pomiarach powierzchni, twierdzenie Greena można wykorzystać do wyznaczenia powierzchni i środka masy figur płaskich wyłącznie poprzez całkowanie na obwodzie .

(wiki dla Greena)

Ponadto cvContourMomentsjest teraz tylko aliasem dla cvMoments.

(Książka Bradskiego Kaehlera)

Na tej podstawie wywnioskowałbym, że momenty konturu nie odnoszą się do specjalnych miar konturów obiektu, ale do konkretnego sposobu obliczania momentów obrazu , wykorzystując jedynie informacje o konturach (zamiast informacji o pikselach dla całego obrazu).

Różnica, w podstawowym przypadku, polegałaby na sposobie obliczania obu.

  • Domyślam się, że bezpośrednia implementacja działałaby poprzez sumowanie piksel po pikselu, bezpośrednio implementując formułę. Obiekt powinien zostać wypełniony.
  • Domyślam się, że momenty konturu byłyby takie, że kontury obrazu są najpierw określane (patrz instrukcja OpenCV), a następnie twierdzenie Greena jest stosowane do danych konturu.

To sprawiłoby, że pomiary byłyby nieco inne dla rzeczywistych obrazów, ponieważ metody różniłyby się: czułością na: szum, skalowanie, dyskretyzację (siatka pikseli zamiast ciągłego obrazu). Ponadto prędkość : obliczanie za pomocą konturów jest szybsze niż w przypadku bezpośredniego podejścia. Spekulowałbym, że dają idealnie równe wyniki dla (idealizowanego) ciągłego czarno-białego obrazu bez szumów.

Tak więc, aby odpowiedzieć na twoje pytania: chwile powinny być takie same (różniące się hałasem itp.). Możesz użyć momentów przestrzennych (surowych) obliczonych obiema metodami, aby określić momenty centralne (które nadal będą opisywać to samo).

Dalszym wsparciem dla tych twierdzeń jest istnienie tego artykułu (czytam tylko streszczenie, ale powinno być bardzo istotne, a nawet streszczenie ma charakter informacyjny) z 1994 roku:


Uwaga na temat uzyskania miary obwodu : Myślę, że aby uzyskać „obwód”, który w rzeczywistości jest tylko obszarem konturu, obliczyłem moment obraz konturów obiektów, ale kontury traktowałem jak naprawdę cienki przedmiot, zamiast „konturów obiektu” .0th

Wszystkie dalsze pomiary byłyby oczywiście inne, gdybyś wykorzystał ten moment dalej.

Penelopa
źródło
niektóre linki są zepsute
nkint
@nkint Naprawiłem pierwszy uszkodzony link ... nazwisko autora i manuskrypt wystarczyły, aby znaleźć go jako pierwszy hit w Google, dlatego umieściłem je w pierwszej kolejności. Będę wdzięczny każdemu, kto edytuje poprawne informacje, jeśli zauważy, że link jest ponownie uszkodzony i jeśli można to naprawić za pomocą prostej wyszukiwarki Google. Drugi link, AI Shack, wydaje się być tymczasowo offline ... Dodałem link do strony głównej autorów i małe zastrzeżenie opisujące sytuację. Mam nadzieję, że to pomoże.
penelopa
0

Bez względu na momenty konturowe lub obszarowe, momenty centralne oznaczają momenty obliczane w wyśrodkowanej ramce odniesienia, tj. Ramce wyśrodkowanej na środku twojego zjawiska.

W twoim przypadku oznacza to, że musisz obliczyć momenty pierwszego rzędu (kontur lub obszar), a następnie obliczyć kolejne momenty za pomocą jako pochodzenie. To proste tłumaczenie (odejmowanie współrzędnych).(μ0,1,μ1,0)μ=(μ01,μ10)

Również związane z tym pytaniem o słownictwo.

sansuiso
źródło