Kamera je jedino osjetilo koje ne daje broj nego polje brojeva. Iz njega tek treba izvući odgovor — a prije toga izračunati hoće li ono što se traži uopće biti vidljivo.
Svako drugo osjetilo daje jednu vrijednost: udaljenost, kut, ubrzanje. Kamera daje polje — nekoliko stotina tisuća do nekoliko milijuna brojeva, i to nekoliko desetaka puta u sekundi. U tome je i njezina snaga i njezina teškoća.
Put od prizora do polja ima četiri koraka. Objektiv sabire svjetlo i projicira sliku na osjetnik. Osjetnik je mreža sićušnih elemenata, od kojih svaki tijekom osvjetljenja skuplja naboj razmjeran količini svjetla koja je na njega pala. Pretvornik taj naboj pretvara u broj, obično između 0 i 255. Obrada tu sirovu mrežu složi u sliku — ispravi boje, izoštri, sažme.
Rezultat je matrica: kod crno-bijele slike jedan broj po slikovnome elementu, kod slike u boji tri — za crvenu, zelenu i plavu. Slika od 1280 × 720 elemenata u boji zauzima gotovo tri milijuna brojeva po snimci.
Ovo je najvažnija rečenica cijele jedinice. Kamera ne vidi paletu, čovjeka ni vrata — ona daje polje brojeva koji opisuju svjetlinu. Da bi iz njega izašla riječ „paleta“, netko mora napisati postupak koji te brojeve pretvara u odluku. Sav je računalni vid u tome koraku, i zato je težak: prizor koji čovjek prepozna u desetinki sekunde za računalo je tablica brojeva bez ikakva značenja.
Prije nego što se kupi ijedna kamera, radi se jedan račun: koliko je velik dio prizora koji pada na jedan slikovni element. Iz njega izlazi odgovor na pitanje hoće li se ono što se traži uopće vidjeti.
Kamera ima vidno polje — kut unutar kojega vidi. Na zadanoj udaljenosti taj se kut pretvara u širinu prizora:
Š = 2 · d · tg ( φ / 2 )
Gdje je φ vodoravno vidno polje, a d udaljenost. Isti izraz kao za snop ultrazvučnoga osjetila — jer je i ovo stožac.
p = Š / n
Gdje je n broj slikovnih elemenata u retku. Rezultat govori koliki komad stvarnosti pokriva jedan element slike — i time koliko sitno kamera uopće može razlikovati.
Za pouzdano prepoznavanje nekoga detalja pravilo je da preko njega mora pasti najmanje tri do pet slikovnih elemenata. Jedan ili dva nisu dovoljni: šum, kompresija i pomak kamere progutaju takav detalj.
Povuci klizače i gledaj što se još razlikuje.
Račun otkriva dvije stvari koje se u katalozima ne vide. Prva: šire vidno polje znači lošiju razlučivost. Ista kamera sa 120 stupnjeva vidi dvostruko širi prizor nego sa 60, ali svaki slikovni element pokriva dvostruko veći komad stvarnosti. Za nadzor okoline šire je bolje, za prepoznavanje uže.
Druga: broj slikovnih elemenata pomaže manje nego što se očekuje. Prelazak s 1280 × 720 na 3840 × 2160 utrostručuje razlučivost, ali i količinu podataka udevetorostručuje. Kod vozila koje mora odlučivati dvadeset puta u sekundi to je često nedopustivo.
Obrada slike ide od jednostavnoga prema složenomu, i u robotici se rijetko ide dalje nego što zadatak traži. Svaki korak smanjuje količinu podataka i povećava značenje.
Odaberi postupak.
U mobilnoj robotici najčešće se stane na trećemu ili četvrtome koraku. Praćenje crte na podu, prepoznavanje obojene oznake ili čitanje kvadratne oznake na polici ne trebaju ništa složenije, a rade pouzdano i na jeftinome računalu. Prepoznavanje predmeta učenjem dolazi tek kad se doista mora razlikovati što je pred robotom, a ne samo da nešto jest.
Najkorisnija primjena vida u mobilnoj robotici nije prepoznavanje predmeta nego čitanje oznaka koje je čovjek namjerno postavio. Kvadratna oznaka s crno-bijelim uzorkom, nalik pojednostavnjenoj QR-oznaci, kameri daje odjednom tri stvari.
Zato se oznake koriste posvuda gdje je prostor pod nadzorom: u skladištima, na proizvodnim linijama, u zatvorenim ispitnim prostorima. Nedostatak im je što traže zahvat u prostor — netko ih mora postaviti, izmjeriti i održavati čistima i neoštećenima.
Koliko daleko se oznaka može čitati, izlazi iz istoga računa iz drugoga odjeljka. Za pouzdano čitanje uzorka unutar oznake treba oko deset slikovnih elemenata po polju uzorka, a uzorak ima šest do osam polja po stranici — dakle oko šezdeset do osamdeset elemenata preko cijele oznake.
Oznaka stranice 15 cm, kamera 1280 × 720 s vidnim poljem od 60 stupnjeva. Na udaljenosti od 3 m širina prizora je 3,46 m, pa je piksel velik 2,7 mm. Oznaka od 15 cm zauzima oko 55 slikovnih elemenata — taman na granici pouzdanoga čitanja. Na 2 m zauzima 83 elementa i čita se sigurno; na 5 m samo 33 i čitanje postaje nepouzdano. Ako se traži čitanje s pet metara, oznaka mora biti veća ili kamera uža.
U mobilnoj robotici vid najčešće radi dva posla, i oba se rješavaju postupcima s početka popisa iz trećega odjeljka — bez učenja, bez velike računalne snage i posve pouzdano.
Praćenje crte. Na podu je nacrtana ili zalijepljena crta. Kamera gleda pod ispred vozila, slika se pretvori u sivu, postavi prag i u jednome se retku slike traži gdje crta leži. Razlika između sredine crte i sredine slike je odstupanje, iz kojega regulator računa koliko zakrenuti. Cijeli postupak stane u nekoliko desetaka redaka programa.
e = ( xcrte − n / 2 ) · p
Gdje je xcrte položaj sredine crte u slikovnim elementima, n broj elemenata u retku, a p veličina piksela na udaljenosti na kojoj kamera gleda pod. Rezultat je odstupanje u milimetrima — podatak koji regulator iz jedinice 6.3 izravno koristi.
Iz toga izraza vidi se i zašto se kamera za praćenje crte postavlja što bliže podu i što okomitije: manja udaljenost znači manji piksel, a manji piksel finije odstupanje. Kamera koja gleda daleko naprijed daje robotu više vremena za reakciju, ali grublju mjeru.
Praćenje boje. Traži se predmet poznate boje — crvena kutija, zeleni znak, žuta traka. Slika se ne pretvara u sivu nego se svaki element uspoređuje s traženim rasponom boje. Rezultat je maska iz koje se računa gdje je predmet i koliko je velik, pa iz veličine i njegova udaljenost.
Boja se pritom ne opisuje trima vrijednostima crvene, zelene i plave nego zasebno tonom, zasićenošću i svjetlinom. Razlog je praktičan: kad se svjetlo promijeni, ton crvene ostaje crven, a sve tri vrijednosti crvene, zelene i plave se pomaknu. Postupak koji radi s tonom podnosi promjenu osvjetljenja mnogo bolje.
U doba kad se o vidu govori gotovo isključivo kroz učenje modela, vrijedi zapamtiti da vozilo koje prati crtu i traži obojenu oznaku radi dvadeset puta u sekundi na računalu od trideset eura, bez ijednoga primjera za učenje i bez mreže. Kad zadatak dopušta da se prostor uredi — nacrta crta, zalijepi oznaka — to je gotovo uvijek bolje rješenje od prepoznavanja neuređenoga prizora.
Kamera je pasivno osjetilo: prima svjetlo koje već postoji i nema nikakva nadzora nad njim. Odatle dolaze gotovo svi njezini problemi.
| Uvjet | Što se dogodi | Kako se ublažava |
|---|---|---|
| Premalo svjetla | slika je tamna i šumna; produljeno osvjetljenje zamuti sve što se giba | vlastita rasvjeta na vozilu, veći objektiv, osjetnik s većim elementima |
| Previše svjetla i odsjaji | dijelovi slike su bijeli bez ikakva sadržaja; sjaj poda briše crtu koja se prati | mat plohe, polarizacijski filtar, kamera postavljena pod kutom |
| Promjena osvjetljenja | prag postavljen ujutro popodne više ne razdvaja ništa | prag koji se računa iz same slike, a ne zadaje brojem |
| Gibanje | slika se zamuti, a između snimanja i odluke prođe vrijeme u kojemu je robot odmakao | kraće osvjetljenje, viši broj snimaka u sekundi, računanje s kašnjenjem |
| Sličnost prizora | dva hodnika izgledaju jednako, pa robot iz slike ne može razlikovati gdje je | oznake u prostoru ili spajanje s drugim osjetilima |
Zato se u pogonima kamera rijetko koristi kao jedino osjetilo za sigurnost. Za zaustavljanje pred čovjekom koristi se laserski skener ili dodirna letvica — nešto što ne ovisi o tome je li upaljeno svjetlo. Kamera radi ono što drugi ne mogu: govori što je pred robotom, ne samo da nešto jest.
Kamera daje polje brojeva, ne predmete. Iz vidnoga polja i udaljenosti računa se širina prizora, iz nje i broja slikovnih elemenata veličina piksela, a iz nje najmanji detalj koji se pouzdano razlikuje — uz pravilo od tri do pet elemenata po detalju. Šire vidno polje uvijek znači lošiju razlučivost. Obrada ide od pretvorbe u sivu sliku preko praga i rubova do prepoznavanja, a u robotici se najčešće stane rano. Najkorisnija primjena su oznake u prostoru, koje daju identitet, udaljenost i zakret odjednom. Vid zakaže na svjetlu koje se mijenja, pa se za sigurnost ne oslanja sam.
Time je percepcija zaokružena. Sljedeći modul uzima sve te brojeve i iz njih odgovara na prvo od triju pitanja mobilnoga robota: gdje sam?
Odgovor se zaključava nakon prvoga klika, uz objašnjenje zašto je točan.