Sadržaj:
- Korak 1: Procijenite složenost zadatka
- Korak 2: Pronađite odgovarajući pristup
- Korak 3: Izračunajte Theta histogram
- Korak 4: Izračunajte Rho histogram
- Korak 5: Pronađite središnji čvor
- Korak 6: Odaberite jednu od 2 alternative
- Korak 7: Odredite vanjske kutove
- Korak 8: Isprobajte u praksi
Video: 3D rekonstrukcija s jedne fotografije: 8 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Zadatak 3D rekonstrukcije obično je povezan s binokularnim vidom. Alternativno, možete pomicati jednu kameru oko objekta. U međuvremenu, ako je oblik objekta poznat, zadatak se može riješiti iz jedne fotografije. To znači da imate samo jednu kameru i da se ne miče. Pogledajmo kako to učiniti korak po korak. Koristit ćemo Rubikovu kocku jer je dobro standardizirana i ima bogat skup mogućnosti. Može se smatrati vrlo jednostavnim objektom i istovremeno kompliciranom konstrukcijom. Dakle, mašinski vid mora nadići značajne prepreke kako bi dovršio zadatak.
Korak 1: Procijenite složenost zadatka
Na prvi pogled, zadatak je jednostavan. Pronađite središnji čvor gdje se 3 ruba kocke spajaju i nacrtajte te rubove. Iz njihovih koordinata moguće je izračunati udaljenost od kamere i kutove rotacije. Problem je u tome što ove linije ne postoje. Sa lijeve slike vidite da je svaki rub predstavljen s 2 paralelne linije. Nadalje, gornja desna slika pokazuje da je svaki od njih podijeljen na 3 segmenta. Štoviše, ako primijenimo varijantu popularne Hough transformacije koja može otkriti segmente linija, ona izvršava zadatak s nekim greškama koje onemogućuju otkrivanje središnjeg čvora. Ako krajevi ne dopiru jedan do drugog, nema jedinstvene tačke. Ako otkrivanje prekorači kraj, izgledat će kao čvor na sredini ruba kao što vidite na 2 preostale slike.
Korak 2: Pronađite odgovarajući pristup
Kada previše detalja čini determinističke algoritme nesposobnima za rad, vrijeme je da razmislite o vjerojatnom pristupu. Ako izračunamo prosječne parametre slike, njihove greške će se značajno smanjiti i paradoksalno će se metoda pokazati pouzdanijom. Standardna Hough transformacija ne ispisuje segmente linije. Samo njegov nagib theta i udaljenost rho od koordinatnog ishodišta. Oni tvore prostor Hough čiji je dio prikazan gore. Ovdje teta odgovara vodoravnoj osi. Svijetle mrlje označavaju moguće linije na slici. Imajte na umu da se nekoliko takvih mjesta nalazi jedno iznad drugog. Nije ni čudo, na našoj slici postoji mnogo paralelnih linija. Imaju istu tetu i različit rho.
Korak 3: Izračunajte Theta histogram
Otkrijmo takve klastere. U tu ćemo svrhu sažeti očitanja za sve točke u prostoru Hough s istom tetom. Na ilustraciji vidite odgovarajući histogram. Nekoliko napomena o mjerenjima. Kada radite sa slikama u koordinatama piksela, X os ide kao i obično, ali Y pokazuje prema dolje, tako da je ishodište koordinate gornji lijevi kut i theta se treba mjeriti od osi X u smjeru kazaljke na satu. Imajući na umu da je cijeli zaokret tete na slici 180 stupnjeva, možete otprilike provjeriti da 3 velika vrha predstavljaju 3 dominantna nagiba na slici.
Korak 4: Izračunajte Rho histogram
Sada kada znamo 3 glavne grupe paralelnih linija, odvojimo linije unutar svake od njih. Isti pristup možemo ponoviti. Uzmimo kolonu iz prostora Hough koja odgovara jednom vrhu na theta histogramu. Zatim ćemo izračunati drugi histogram gdje X os predstavlja rho vrijednost, a Y - sažeta očitanja za ovaj rho. Očigledno, zbir će biti manji pa ovaj grafikon nije tako gladak. Ipak, vrhovi su jasno vidljivi i njihov broj (7) točno odgovara broju paralelnih linija na izvornoj slici. Nažalost, nisu svi grafikoni tako savršeni, ali princip je jasan.
Korak 5: Pronađite središnji čvor
Ako uzmemo središnji vrh na rho histogramu za svaku tetu, dobit ćemo 3 linije koje su na slici crvene. Njihovo sjecište označava potrebnu točku.
Korak 6: Odaberite jednu od 2 alternative
Vidite da svaka linija ide od središnje tačke u oba smjera. Kako odrediti ispravnu polovinu? Uzmimo theta3. Pretpostavimo da uzmemo donji dio ove linije. Izračunajmo još jedan Hough prostor samo za dio slike od 2 zelene linije do gornjeg desnog kuta slike. Zatim za njega napravite theta histogram. Vidite da je treći vrh potpuno nestao pa smo napravili pravi izbor.
Korak 7: Odredite vanjske kutove
Sada možemo koristiti prvi i posljednji vrh na rho histogramima kako bismo nacrtali plave linije koje presijecaju crvene rubove i označavaju ostale uglove. Zadatak je riješen.
Korak 8: Isprobajte u praksi
Ilustracije za ovaj Instructable nastale su pomoću Perception 1.0. Ovo je besplatni softver koji koristi OpenCV - moćnu biblioteku za računarski vid. Također se može povezati s WinNB -om koji je korišten u mom drugom Instructable -u i na taj način je omogućio viziju robotike. Oba programa možete preuzeti sa nbsite. Za instalaciju samo pokrenite preuzetu exe datoteku. Kasnije ga možete ukloniti pomoću standardnog alata u sustavu Windows. Stranica takođe sadrži izvore o računarskom vidu i srodnim temama. U Perception -u ćete pronaći opisanu metodu 3D rekonstrukcije, kao i mnoge druge. Prednost ovog programa je u tome što daje konačni rezultat zajedno s posrednim podacima. Možete istraživati kako funkcionira računarski vid, a da niste programer. Što se tiče unosa, svaka metoda ima posebno odabrane tipične uzorke. Naravno, možete koristiti i svoj. Moguće je unositi slike iz datoteke ili sa kamere računara. Slobodno me kontaktirajte sa bilo kakvim pitanjima ili prijedlozima.
Preporučuje se:
Uradi sam senzor temperature pomoću jedne diode: 3 koraka
"Uradi sam" osjetnik temperature pomoću jedne diode: Dakle, kao jedna od činjenica o PN-spojevima je to što se njihov pad napona prema naprijed mijenja ovisno o prolaznoj struji i temperaturi spoja, upotrijebit ćemo ovo za izradu jeftinog osjetnika temperature .Ova postavka se obično koristi
Pomicanje jedne LCD linije: 4 koraka (sa slikama)
Pomicanje jedne LCD linije: Biblioteka s tekućim kristalima ima dvije korisne funkcije scrollDisplayLeft () i scrollDisplayRight (). Ove funkcije pomiču cijeli zaslon. To jest, oni pomiču obje linije na LCD -u 1602 i sve četiri linije na LCD -u iz 2004. godine. Ono što nam često treba je abi
Radio sa jedne stanice: 6 koraka
One Station Radio: Dakle, mali uvod o tome zašto sam to uradio. Jedan od mojih šefova je pravi majstor i doslovno može zavariti šta god poželi. I dok radi voli da sluša svoju omiljenu radio stanicu. Da bi to učinio, koristi stari stereo sistem sa FM zapisom
Napravite najmanje jedne pojedinačno uravnotežene armaturne slušalice na svijetu: 7 koraka (sa slikama)
Napravite najmanje pojedinačne slušalice s uravnoteženom armaturom na svijetu: Ovo je projekt za izradu vjerojatno najmanjih pojedinačnih BA slušalica s audiofilskim kvalitetom zvuka. Dizajn je inspiriran Final F7200, IEM -om visoke rezolucije od 400 USD+. Iako sa komponentama dostupnim na otvorenom tržištu, majstori za kućnu radinost mogu to učiniti u
Rekonstrukcija USB zvučnika na 3,5 mm: 4 koraka
Reinženjering USB zvučnika na 3,5 mm: Prošle godine sam to učinio jer su mi trebali zvučnici za projekat koji se sastojao od NES Clone. Na kraju je uspjelo i mislio sam da bi bilo dobro napraviti Instructable jer to nije veliki zadatak koji treba preuzeti i nadograđuje se na znanje. Imajte na umu