Operácie

WhyCon: Rozdiel medzi revíziami

Zo stránky SensorWiki

Balogh (diskusia | príspevky)
dBez shrnutí editace
Balogh (diskusia | príspevky)
dBez shrnutí editace
Riadok 38: Riadok 38:


<div style='text-align: center;'>
<div style='text-align: center;'>
[[Súbor:WhyConDemo.png|500px]]<BR>
[[Súbor:WhyConDemo.png|800px]]<BR>
[[Súbor:WhyConDemo2.png|800px]]<BR>
''Jednotlivé kroky algoritmu WhyCon.''
''Jednotlivé kroky algoritmu WhyCon.''
</div>
</div>

Verzia z 18:33, 16. máj 2026

A precise, efficient and low-cost localization system

Presná a spoľahlivá lokalizácia je jedným z kľúčových problémov mobilnej robotiky. Obvykle sa tento problém rieši metódami simultánnej lokalizácie a mapovania (SLAM). Napriek tomu sa však často používajú aj externé lokalizačné systémy, či už pre riadenie v uzavretej slučke, alebo pre meranie polohy. WhyCon je rýchly a presný vizuálny softvér pre lokalizáciu viacerých robotov. Jadrom je nový a efektívny algoritmus pre rozpoznávanie čierno-bielych vzorov. Metóda je robustná a odolná voči zmenám osvetlenia, má presnosť na úrovni pixelov a jej výpočtová zložitosť nezávisí od veľkosti spracovaného obrazu. Je dostatočne rýchla a zvláda spracovať stovky snímkov za sekundu pomocou bežného počítača a lacnej kamery, pričom dosahuje až milimetrovú presnosť.

Vstup: farebný alebo čiernobiely obrázok z jednej kamery

Výstup: pozície kruhových značiek v priestore

Algoritmus:

  1. segmentácia prehľadávaním do šírky,
  2. filtrácia výsledkov (kruhovosť, sústrednosť, pomer farieb atď),
  3. presné parametre 2d vzoru,
  4. reprojekcia do 3d,
  5. transformácia do daného súradnicového systému.
  • inicializácia hľadania na poslednej pozíci v obraze,
  • spracovanie iba relevantných pixelov,
  • uložené medzivýsledky vo fronte pozícií.

Podrobný opis algoritmu je zachytený na prednáške T. Krajníka

ku ktorej sú k dispozícii aj


WhyCon detekcia je v podstate séria filtrov, kde každý krok zúži počet možných kandidátov. Celý postup je vidno na nasledovnom obrázku:

  • Krok 1 — Šedotónový + blur. Farba nás nezaujíma (marker je čiernobiely), Gaussian blur odstráni šum.
  • Krok 2 — Adaptívny prah. Každý pixel porovná so svojím okolím (51×51 px okno) a rozhodne: tmavší než priemer → biela, svetlejší → čierna. Preto to funguje aj pri nerovnomernom osvetlení — na rozdiel od globálneho prahu, ktorý by v tmavom rohu videl "všetko čierne".
  • Krok 3 — Kontúry s hierarchiou. OpenCV nájde hranice všetkých bielych oblastí (v tomto snímku 1021). Kľúčové je RETR_TREE — zachová informáciu, ktorá kontúra je vnútri ktorej (rodič → dieťa).
  • Krok 4 — Filter na cirkularitu. Z 1021 kontúr zostanú len 3 kruhové. Cirkularita = 4π × plocha / obvod². Dokonalý kruh = 1.0, stena bludiska ≈ 0.1. Filtrujeme na ≥ 0.55.
  • Krok 5 — Rodič-dieťa test. Toto je jadro WhyConu. Hľadáme kruhovú kontúru, ktorá má vnútri seba ďalšiu kruhovú kontúru — čiže prstenec s kruhovým stredom. Navyše kontrolujeme pomer plôch: pri pomere priemerov 2:1 je pomer plôch * 0.25. V tvojom snímku vyšiel 0.24 — presne sedí.
  • Krok 6 — Najlepší kandidát. Ak prešlo viacero, vyberie sa ten s najvyšším skóre (kombinácia cirkularity oboch kruhov a veľkosti).




Jednotlivé kroky algoritmu WhyCon.