Indholdsfortegnelse:
- Trin 1: Evaluer opgavens kompleksitet
- Trin 2: Find den korrekte tilgang
- Trin 3: Beregn Theta Histogram
- Trin 4: Beregn Rho Histogram
- Trin 5: Find den centrale knude
- Trin 6: Vælg mellem 2 alternativer
- Trin 7: Bestem de eksterne hjørner
- Trin 8: Prøv det i praksis
Video: 3D -rekonstruktion fra et enkelt foto: 8 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Opgaven med 3D -rekonstruktion er normalt forbundet med kikkert. Alternativt kan du flytte et enkelt kamera rundt om objektet. I mellemtiden, hvis formen på objektet er kendt, kan opgaven løses fra et enkelt foto. Det vil sige, at du kun har et kamera, og det bevæger sig ikke. Lad os se, hvordan du gør det trin for trin. Vi vil bruge Rubiks kube, fordi den er godt standardiseret og har et stort sæt funktioner. Det kan betragtes som et meget simpelt objekt og samtidig en kompliceret konstruktion. Så maskinsyn skal overgå betydelige forhindringer for at fuldføre opgaven.
Trin 1: Evaluer opgavens kompleksitet
Ved første øjekast er opgaven enkel. Find den centrale knude, hvor 3 kanter af terningen kommer sammen, og tegn disse kanter. Ud fra deres koordinater er det muligt at beregne afstanden fra kameraet og rotationsvinkler. Problemet er, at disse linjer ikke findes. Fra det venstre billede ser du, at hver kant er repræsenteret af 2 parallelle linjer. Desuden viser billedet øverst til højre, at hver af dem er opdelt i 3 segmenter. Desuden, hvis vi anvender en variant af den populære Hough -transformering, der kan detektere linjesegmenter, udfører den opgaven med nogle fejl, der gør detektering af den centrale knude umulig. Hvis enderne ikke når hinanden, er der ikke et enkelt punkt. Hvis registreringen overskrider enden, vil den ligne knuden i midten af kanten, som du ser på de 2 resterende billeder.
Trin 2: Find den korrekte tilgang
Når for mange detaljer gør deterministiske algoritmer upraktiske, er det tid til at overveje en sandsynlig tilgang. Hvis vi beregner gennemsnitlige parametre for billedet, reduceres deres fejl væsentligt, og paradoksalt nok vil metoden vise sig mere pålidelig. Standard Hough -transformationen udsender ikke linjesegmenter. Kun dens hældning theta og afstanden rho fra koordinatoprindelsen. De udgør Hough -rumdelen, som er vist ovenfor. Her svarer theta til den vandrette akse. Lyspunkter markerer mulige linjer på billedet. Bemærk, at flere sådanne pletter er placeret over hinanden. Ikke underligt, på vores billede er der mange parallelle linjer. De har samme theta og forskellige rho.
Trin 3: Beregn Theta Histogram
Lad os opdage sådanne klynger. Til dette formål vil vi opsummere aflæsninger for alle prikker i Hough -rummet med den samme theta. Du ser det tilsvarende histogram på illustrationen. Et par noter om målinger. Når du arbejder med billeder i pixelkoordinater, går X -aksen som normalt, men Y peger nedad, så koordinatens oprindelse er øverste venstre hjørne, og theta skal måles fra X -aksen med uret. Når du husker på, at hele svejsning af theta på billedet er 180 grader, kan du omtrent kontrollere, at 3 store toppe repræsenterer 3 dominerende skråninger på billedet.
Trin 4: Beregn Rho Histogram
Nu hvor vi kender 3 hovedklynger af parallelle linjer, lad os adskille linjer inden for hver af dem. Vi kan gentage den samme tilgang. Lad os tage en kolonne fra Hough -rummet, der svarer til en top på theta -histogrammet. Dernæst beregner vi et andet histogram, hvor X -aksen repræsenterer rho -værdi og Y - opsummerede aflæsninger for denne rho. Det er klart, at summen vil være mindre, så dette diagram er ikke så glat. Ikke desto mindre er toppe tydeligt synlige, og antallet af dem (7) svarer nøjagtigt til antallet af parallelle linjer på kildebilledet. Desværre er ikke alle diagrammerne så perfekte, men princippet er klart.
Trin 5: Find den centrale knude
Hvis vi tager den centrale top på rho histogram for hver theta, får vi 3 linjer, som er røde på billedet. Deres skæringspunkt markerer det nødvendige punkt.
Trin 6: Vælg mellem 2 alternativer
Du ser, at hver linje går fra det centrale punkt i begge retninger. Hvordan bestemmer man den korrekte halvdel? Lad os tage theta3. Antag, at vi tager den nederste del af denne linje. Lad os beregne endnu en Hough -plads kun for den del af billedet fra 2 grønne linjer til øverste højre hjørne af billedet. Opret derefter theta histogram til det. Du ser, at den tredje top helt forsvandt, så vi har truffet det rigtige valg.
Trin 7: Bestem de eksterne hjørner
Nu kan vi bruge den første og den sidste top på rho -histogrammer for at tegne blå linjer, der skærer de røde kanter og markerer resten af hjørnerne. Opgaven er løst.
Trin 8: Prøv det i praksis
Illustrationerne til denne Instructable blev oprettet ved hjælp af Perception 1.0. Dette er gratis software, der bruger OpenCV - et kraftfuldt bibliotek til computersyn. Det kan også være knyttet til WinNB, som blev brugt i min anden Instructable og dermed give visionsevne til robotik. Du kan downloade begge programmer fra nbsite. For installation skal du bare køre den downloadede exe -fil. Senere kan du fjerne det ved hjælp af standardværktøjet i Windows. Webstedet indeholder også ressourcer om computersyn og relaterede emner. I Perception finder du den beskrevne metode til 3D -rekonstruktion såvel som mange andre. Fordelen ved dette program er, at det sender det endelige resultat sammen med mellemliggende data. Du er i stand til at undersøge, hvordan computersyn fungerer uden at være programmerer. Med hensyn til input har hver metode specielt udvalgt typiske prøver. Selvfølgelig kan du også bruge din egen. Det er muligt at indtaste billeder fra en fil eller fra computerens kamera. Kontakt mig gerne med spørgsmål eller forslag.
Anbefalede:
12x12 LEDX fra flugt fra Tarkov: 10 trin (med billeder)
12x12 LEDX From Escape From Tarkov: Engang efter russisk EFT -fællesskabspodcast, hvor en af gæsterne sagde, at dyre genstande, f.eks. LEDX, skulle indtage et større antal slots i sikre containere … Det skete ikke i 0,12,6 patch, men det skete på mit værksted
Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: 4 trin
Send automatisk e -mail med foto fra batchfil ved hjælp af gammelt skrivebord og XP: Jeg er meget heldig at have en fantastisk udsigt fra mit hjemmekontorvindue. Når jeg er væk, vil jeg se, hvad jeg mangler, og jeg er ofte væk. Jeg plejede at have mit eget websted og en hjemmevejrstation, der ville uploade via ftp alt vejret da
Opsætning fra bunden af en Raspberry Pi til logdata fra Arduino: 5 trin
Opsætning fra bunden af en Raspberry Pi til logdata fra Arduino: Denne vejledning er for dem, der ikke har erfaring med at installere en ny hardware eller software, endsige Python eller Linux. Lad os sige, at du har bestilt til Raspberry Pi (RPi) med SD kort (mindst 8 GB, jeg brugte 16 GB, type I) og strømforsyning (5V, mindst 2
Enkelt iPhone/iPod Touch -stativ fra 2 bindemiddelclips: 4 trin
Enkel iPhone/iPod Touch -stativ fra 2 bindemiddelklip: På hele cirka 5 sekunder kan du lave et flot, robust stativ til din foretrukne elektroniske gadget.Dette er en meget forenklet version af petrovs instruerbare, som jeg syntes var smart, men for fancy
Enkelt bærbart stativ fra MacBook -emballage: 5 trin
Enkelt bærbart stativ fra MacBook -emballage: Dette er et enkelt bærbart stativ lavet af emballagen på en MacBook. Enkel at lave, og sparer frigolit fra at gå til lossepladsen. Udover styro'en, der følger med MacBook, har store arkitektoniske elementer. Alt du behøver er frigolit