Algoritem za izločanje laserske črte pri zaznavanju ovir s strukturirano svetlobo * Simon KLANČNIK, Aleš MEDVEŠEK, Peter LEPEJ, Karl BENKIČ Izvleček: V članku bomo predstavili sistem za zaznavanje ovir s strukturirano svetlobo. Sistem smo razvili za povečanje varnosti uporabnika govorno vodenega invalidskega vozička. Ob poznanih parametrih namestitve kamere in izvora laserske svetlobe ter o položaju projicirane laserske črte na sliki, do katere pridemo s primerno digitalno obdelavo slik, lahko ugotavljamo prisotnost ovire in določamo njen položaj. Testiranja so pokazala, da je delovanje sistema zelo učinkovito. Ključne besede: računalniški vid, zaznavanje ovir, laserska triangulacija, kamera, laser, ■ 1 Uvod Na študijski smeri mehatronika že nekaj let razvijamo avtonomni, glasovno vodeni invalidski voziček VOlC [1]. Voziček je namenjen predvsem ljudem, ki so močno gibalno ovirani in zato ne morejo uporabljati klasičnega invalidskega vozička. Razpoznava govora poteka preko usmerjene nevronske mreže, ki pa v nekaterih okoliščinah ni popolnoma zanesljiva. Zato je bil na voziček za prepoznavanje ovir in izogibanje oviram dodan varnostni sistem (VS), zgrajen na podlagi ultrazvočnih senzorjev. Rezultati testiranj tega VS so pokazali, da tudi VS samo z Simon Klančnik, univ. dipl. inž, Aleš Medvešek, Univerza v Mariboru, Fakulteta za strojništvo; Peter Lepej, Karl Benkič, univ. dipl. inž., Univerza v Mariboru, Fakulteta za elektrotehniko, računalništvo in informatiko * Za vzpodbude, mentorstvo in koristne nasvete se zahvaljujemo doc. dr. Petru Planinšiču. ultrazvočnimi senzorji v določenih položajih ni zanesljiv. Tako smo se odločili za dopolnitev ultrazvočnih senzorjev s sistemom, ki zaznava ovire s strukturirano lasersko svetlobo. Zaznavanje ovir na podlagi strojnega vida je najpogosteje izvedeno z de-tekcijo robov. Sami robovi na zajeti sliki pa ne povedo ničesar o globini, razen če uporabimo najmanj dve kameri oz. stereovid, kar deluje zelo podobno človeškemu dojemanju tretje dimenzije. V tem članku bomo predstavili delo, ki je nadaljevanje članka: »Zaznavanje ovir s pomočjo strukturirane svetlobe« [2]. V omenjenem članku so opisani strojna in programska oprema, princip zaznavanja ovir s strukturirano svetlobo z znanimi geometrijskimi lastnostmi, obdelava slike s pragovno metodo in zgoščevanjem, detekcija robov ovire z mehko logiko, razdelan je bil primer zaznavanja laserske pike. Tukaj predstavljeno delo temelji predvsem na razširitvi sistema na zaznavanje ovir s projicirano lasersko črto. V ta namen smo za našo uporabo razvili dva algoritma obdelave slike, ki sta sposobna zanesljivo določiti položaj laserske črte na sliki in ju bomo v tem delu tudi podrobneje predstavili. Do učinkovitega in zanesljivega algoritma smo prišli z opazovanjem obnašanja laserske svetlobe v različnih okoljih in razmerah. Z eksperimenti smo ugotovili, da za naš problem barvni prostor HSL [4] ni bistveno učinkovitejši in smo ostali pri barvnem modelu RGB [3, 5]. Članek je organiziran v naslednjem vrstnem redu. V drugem poglavju bomo predstavili princip zaznavanja ovir z aktivno lasersko triangulacijo. Algoritem obdelave zajete slike bomo podrobneje predstavili v tretjem poglavju in sicer bomo predstavili dva različna načina obdelave slike (metodo glajenja in algoritem sledenja laserski črti), ki smo ju razvili in sta se oba izkazala kot učinkovita. Od metode glajenja pričakujemo nekoliko večjo učinkovitost prepoznave laserske svetlobe, od algoritma sledenja pa pričakujemo hitrejšo obdelavo. Rezultate in ugotovitve bomo predstavili v četrtem poglavju, končali pa bomo s kratkim zaključkom. ■ 2 Princip zaznavanja ovir z aktivno lasersko triangulacijo Ovire zaznavamo s kamero in izvorom laserske svetlobe, ki v našem primeru projicira lasersko črto. Laserski izvor je nameščen nad kamero in projicira prečno črto na tla pred voziček. Ko se pred vozičkom pojavi ovira, se na sliki, ki jo zajamemo s kamero, spremeni pozicija laserske črte. Na sliki 1 je predstavljen laboratorijski prototip sistema, ki ga sestavlja stojalo z nameščeno kamero in izvorom laserske črte ter osebni računalnik, na katerega je priključena kamera. L = L, - Z o k 1 (1 kjer je Z razdalja od mesta odboja od ovire do mesta, kjer je bila pri ka-libraciji projicirana laserska črta. Za pravokotni trikotnik AABC na sliki 1 lahko zapišemo: sin(a -ß) = ^^ ^ d = d cos(90 -ß) = -d ■ cos(90 -ß). z = d ■ (3) Če združimo enačbi (2) in (3), dobimo izraz za izračun razdalje Z: z = sin(a - ß) ' (2) u '■ cos(90 -ß) sin(a -ß) u '■ sin ß sin(a -ß) ' (4) Za drugi pravokotni trikotnik AABD pa zapišemo: Objektiv kamere modeliramo kot tanko zbiralno lečo, pri kateri dobimo pri preslikavi čez njo realno, pomanjšano in obrnjeno sliko (slika 3). Enačbo tanke leče zapišemo kot: ^ 1 = 1 ^ b " 7 ' (5) kjer je a' oddaljenost ''predmeta'' u' od leče, b je razdalja od leče do slike ''predmeta'' u, f pa je goriščna razdalja kamere. V naši aplikaciji je razdalja a' okoli 2 m, kar je veliko več od goriščne razdalje kamere in zato lahko v enačbi (5) člen 1/a zanemarimo in tako privzamemo, da je b~f. Povečavo kot: kamere lahko zapišemo Slika 1. Laboratorijski prototip sistema Sistem je najprej potrebno kalibrirati. Začetni (referenčni) položaj črte na sliki, ki jo zajame kamera, dobimo tako, da lasersko črto projiciramo na razdaljo Lk pred voziček, ko pred njim ni ovire (slika 2). V trenutku, ko se pred vozičkom pojavi ovira, se pozicija laserske črte na zajeti sliki spremeni za vrednost u glede na referenčni položaj. Celotno lasersko črto na sliki smo razdelili na pet enako velikih območij, v vsakem od teh območij pa iščemo točko, katere pozicija u se najbolj spremeni glede na referenčno lego črte. Tako pridobimo informacijo o najbližji potencialni oviri v posameznem območju in v kateri smeri je glede na smer vožnje vozička. Oviro zaznamo, ko je sprememba u enaka vsaj enemu slikovnemu elementu slike (pikslu), njeno oddaljenost Lo pa izračunamo po enačbi: Slika 2. Prikaz geometrijskih odvisnosti laserske triangulacije u Če v enačbi (4) upoštevamo enačbo (7), dobimo: a' . ^ u---sin ß f Z = —i-- sln(a - ß) (12) Slika 3. Optična preslikava preko tanke leče (6) P=u=b . L. u' a' a' Ker nas zanima razmerje med velikostjo dejanskega ''objekta'' in velikostjo na sliki, iz enačbe (6) izrazimo u' in dobimo: u = u • a' f (7) pri tem smo približek zamenjali z enačajem. Prav tako lahko iz enačbe (4) izrazimo u': u = Z • sln(a-ß) sin ß (8) kjer je a = sin a (9) Izraz (9) vstavimo v enačbo (8) in dobljeni izraz za u' izenačimo z izrazom (7), pa dobimo: , = (a - a ')sln a • sln(a -ß) = u — sin ß a' = u • L ■ (10) Sedaj lahko iz desne enačbe (10) izrazimo dolžino a': a' = ■ Nato vstavimo izraz (11) v enačbo (12) in dobimo: z = u • a • sin a • sin ß sin ß • u + sin a • sin(a - ß) • f (13) V enačbi (13) lahko še upoštevamo, da je a = Lk/sin in to zapišemo kot: Z =_u • sin ß • Lk_ sin ß • u + sin a • sin(a - ß) • f (14) V naši aplikaciji nas zanima razdalja od sistema do ovire (Lo). Če v enačbi (1) upoštevamo enačbo (14), dobimo končni izraz za izračun oddaljenosti ovire: Kot vidimo iz geometrije na sliki 1, lahko razdaljo Z zapišemo tudi kot: Z = - L^ = a • sin a - a '• sin a = = (a - a')sina, Lo= Lk - u • sin ß • Lk sin ß • u + sin a • sin(a - ß) • f (15) V izrazu (15) so vsi parametri poznani, premik na sliki u pa izmerimo s kamero oziroma računalnikom. ■ 3 Obdelava slike Kot smo že povedali, potrebujemo za ugotavljanje prisotnosti ovire in določanje njenega položaja informacijo o spremembi položaja (u) laserske črte na sliki, zajeti s kamero. Na zajeti sliki so poleg projicirane črte navadno še drugi objekti. S primerno obdelavo slike izločimo lasersko črto iz ozadja in določimo njen položaj na sliki, kar pa ni vedno enostavno, saj se v realnem okolju lahko srečamo z različnimi motnjami, ki vplivajo na uspešnost izločanja laserske črte. Največje težave predstavlja neenakomerna osvetljenost področja, na katerem ugotavljamo ovire, in različne barve podlag, iz katerih je potrebno izločiti položaj laserske črte. Za lažje razumevanje v nadaljevanju opisanih algoritmov bomo najprej podali nekaj osnov. Slika je v digitalni obliki predstavljena kot matrika, v kateri je vsak njen element (piksel) predstavljen s tremi byti. Vsak byte predstavlja eno od barvnih komponent RGB (rdeča, zelena in modra) barv, ki lahko zavzemajo vrednosti od 0 do 255, kar pomeni odtenke posamezne barve [3]. Na sliki 4 je prikazan postopek delovanja sistema. V časovnih intervalih zajamemo novo sliko in jo obdelamo z algoritmom obdelave slike tako, da iz nje pridobimo potrebne informacije. 3.1 Izločanje laserske črte z metodo glajenja To metodo smo razvili za izločanje laserske črte s predpostavko, da la- Zajem slike Obdelava slike Območja ovir sin a • sin(a -ß) • a • f sin ß • u + sin a • sin(a - ß) • f (11) ■ ^ dbb Slika 4. Potek obdelave slike serska črta na sliki zavzema prečno lego na smer vožnje, zato nam zadostuje filter 1D [6], ki izloči laser v vsakem stolpcu. Dobra lastnost metode je zmanjševanje vpliva neenakomerne osvetljenosti in neobčutljivost na širok spekter barv, ki jih lahko ima laserska črta pri različnih svetlobnih razmerah in barvah podlage. Za zmanjševanje vpliva neenakomerne osvetljenosti smo razvili lasten postopek, pri katerem barvne komponente R, G in B (barvni model RGB [3]) pretvorimo v novo vrednost, ki smo jo označili s C in izračunali po enačbi (16). Do enačbe smo prišli z opazovanjem vrednosti komponent RGB, značilnih za lasersko črto na različnih slikah. C (X, .y) = R{ x, y) - G (X, y) + B( X, y) 2 (16) S preslikavo poudarimo rdečo komponento in istočasno zmanjšamo vpliv naslednjih dejavnikov: nee- nakomerne osvetljenosti, hrapavosti, ukrivljenosti površine, vpliva drugih izvorov svetlobe. Ti dejavniki otežujejo zaznavanje laserja (primer prikazuje slika 9). Na sliki 5 je graf odtenkov barvnih komponent R, G in B za 264. stolpec slike 9, ki smo ga za prikaz označili z belo navpično črto. Vidimo lahko osciliranje vsake komponente posebej, kar predstavlja problem pri postavljanju fiksnih pravil za izločanje laserske svetlobe. Opazimo lahko, da se posamezne komponente pri prehodu iz manj osvetljenega področja v bolj osvetljeno povečajo za približno enako vrednost. Če te barvne komponente 264. stolpca transformiramo z enačbo (16), dobimo graf, ki je prikazan na sliki 6. Iz njega že na prvi pogled opazimo izrazito odstopanje, ki pripada laserski svetlobi. Pojavijo pa se nekatere dodatne težave, saj C lahko zavzema vrednosti med 255 in -255. Na mestih, osvetljenih z laserjem, so vrednosti običajno med -20 in 220, zato ne moremo določiti enotnega konstantnega praga, po katerem bi zanesljivo izločili lasersko svetlobo. Na izrazito rdečih podlagah, kjer ima komponenta R že zaradi podlage visoko vrednost, pod vplivom laserja ne more bistveno narasti, zato pa se lahko povečata barvni komponenti G in/ali B, kar pa zaradi minusa v enačbi (16) privede do obrnitve grafa na sliki 6. Pred voziček projiciramo lasersko črto, zato smo se pri snovanju algoritma po metodi glajenja osredotočili predvsem na izločanje laserske svetlobe v vsakem stolpcu posebej (obravnavali bi lahko tudi dva sosednja stolpca ali več sosednjih stolpcev). Iz slike 6 je razvidno, da laser povzroča nastanek ozkega pulza, ki se lahko pojavi na precej širokem intervalu. Zato uvedemo zglajeni potek vrednosti C, ki mora ignorirati nenadna odstopanja. Glajenje oz. dušenje signala C smo izvedli Slika 5. Barvni prikaz komponente za 264. stolpec slike 8 Slika 6. Preslikava komponent RGB v graf C odpravi večino težav zaradi neenakomerne osvetljenosti Ventil 13 /2007/ 4 po enačbi rekurzivnega sita (enačba (17)). X = konst. (17) V enačbi (17) predstavlja dušeni signal, ki sledi C od vrha slike proti dnu, y je navpična koordinata piksla, x določa stolpec na sliki, konstanti k^ in k2 pa določata stopnjo glajenja in ju določimo glede na širno laserske črte. Vsota obeh konstant je enaka 1. Na vrhu slike postavimo 7^ na začetno vrednost C(0). Da pridemo do želenega intervala, moramo glajenje opraviti tudi v smeri od dna proti vrhu, to storimo z enačbo (18). T,(y) = k,-T,(y + l) + k,-Cix,yy, X = konst. (18) 72 na dnu slike postavimo na vrednost C(H), kjer je H višina slike. la so postavljene na nič. Upoštevati je potrebno tudi, da na dobro osvetljenih slikah ne moremo pričakovati tako velikih odstopanj kot pri slabše osvetljenih. Zato smo vpeljali adaptivni prag glede na komponento R za vsak piksel posebej po enačbi (19). prag{x, y) = -k- R{x, y) + n , (19) kjer sta konstanti k in n izbrani eksperimentalno. V našem primeru Slika 7. Signal C z dodanim intervalom 7., 72 Slika 8. Odstopanja C zunaj intervala (7„ 7,) prikazana absolutno in prag, določen na podlagi rdeče barve Slika 9. S kamero zajeta slika, na kateri so vrhovi hrapave podlage skoraj beli, doline temnomodre, bela navpičnica pa označuje 264. stolpec Tako dobljeno glajenje je izhod člena prvega reda v diskretni obliki. Signala 7^ in 72 določata interval, znotraj katerega se načeloma nahaja C. Dovolj velika odstopanja signala C zunaj trendov pa pomenijo, da je na tem območju laserska črta, kar lahko vidimo na sliki 7, kjer je signal C moder, 71 oranžen, 72 pa označen z vijoličasto barvo. Iz vrednosti C, 71 in 72 izrišemo graf (slika 8), na katerem so le absolutna odstopanja C zunaj intervala, ki ga določata 71 in 72. Vrednosti C znotraj interva- smo jima priredili vrednosti k = 0,16 in n = 50. Za večjo zanesljivost izločanja laserske črte poleg praga sproti zapisujemo tudi velikost odstopanja preko praga in, če se presežki pojavijo na več mestih, upoštevamo kot posledico laserja samo piksel, pri katerem je presežek največji. Tako upoštevamo samo eno lasersko črto in izločimo tudi morebitne odboje. Gornji grafi prikazujejo delovanje algoritma in se nanašajo na 264. stolpec slike 9. Rezultat, ki ga dobimo, ko sliko 9 obdelamo z metodo trendov, je prikazan na sliki 10. Slika 10. Črna barva označuje izločeno lasersko črto, bela pa ozadje (okvir slike je dodan zaradi preglednosti) 3.2 Izločanje laserske črte z algoritmom sledenja Lasersko črto smo prepoznali s pragom (threshold), ki je pogojeval nadaljevano obdelavo pikslov. Prag je seštevek vseh maksimalnih vrednosti R, G ali B posameznih pikslov v oknu: MaxB = M -n (20) V enačbi (20) predstavlja n število pikslov v oknu, M maksimalno vrednost odtenkov posamezne barve, ki je 255, MaxB je maksimalna možna vrednost barve: rdeče, zelene ali modre. Tako lahko prepoznavamo rdeče barve v idealnem okolju, ki pa zaradi motenj iz okolice v realnosti ni mogoča. Zato to dobljeno vrednost prilagodimo tako, da jo ustrezno zmanjšamo s faktorjem, ki smo ga določili s poskušanjem. Algoritem prepoznavanja poteka s ''potovanjem korelacijskega filtra'' v obliki okna oziroma maske (matrika uteži pikslov), ki potuje po osi y navzgor (slika 12). Ko je pogoj praga izpolnjen, okno zazna črto in podatek se zapiše v obliki položaja zaznanega piksla (x,y). Tu Y poda višino črte, ki je enaka referenčni vrednosti y, če ni ovire, X pa poda začetek črte. Nadaljnjo obdelavo smo poimenovali sledenje črti. Algoritem najprej prepozna začetek črte, nato sledi črti tako, da se fil-trirno okno prestavi v naslednji stolpec in nekaj korakov po vrstici nazaj ter ponovno preveri, ali je pogoj praga izpolnjen. Če je pogoj izpolnjen, se koordinate shranijo, filter pa skoči v naslednji stolpec, če pa pogoj ni izpolnjen, nadaljuje pot navzgor, dokler ne zazna črte ali doseže vrha. Ta posto- pek prikazuje slika 12. Zaradi možnih odstopanj (različna osvetlitev okolice, različna barvna podlaga, manjši nakloni črte) je učinek filtra slabši in črta ni zaznana na dejanski višini. Zato pri manjših vrednostih y od začetne oziroma referenčne vrednosti (npr.: y = ±10) predpostavimo, da ta del še spada v osnovno črto, sicer pa gre za lom črte oziroma oviro. Manjša odstopanja rešimo s preprostim izračunom povprečne vrednosti pikslov teh odstopanj. Piksle, ki imajo večje odstopanje, zapišemo v novo matriko, ki predstavlja oviro. To nadaljujemo čez celotno širino slike. Tako smo določili lome črte, imamo torej več matrik in za vsako vrednost y. Sedaj moramo določiti, od kod do kod traja lom črte Slika 11. Diagram poteka izločanja laserske črte z algoritmom sledenja za določen y, to naredimo z iskanjem največjega in najmanjšega števila x, ki vstopa v okno. Za zanesljivejšo prepoznavo črte smo izvedli naslednje: Slika 12. Potek prepoznavanja sledenja laserske črte Za prepoznavo črte smo vzeli matriko pikslov (masko) v obliki horizontalno podaljšanega pravokotnika (npr.: 5 x zajemamo, velika (močna sončna svetloba ^), je izločanje laserske črte težko (slika 13). Slika 13. Z algoritmom glajenja izločena laserska črta, projicirana v okolico, osvetljeno s sončno svetlobo. Na levi strani je prikazana originalna slika, na desni pa izločena laserska črta. 2, 10 x 3 ...), saj se s tem približamo obliki črte in povečamo verjetnost zaznave prave črte. Pomagamo si lahko tudi z določitvijo maksimalne širine črte. Postopka se lotimo tako, da najprej testiramo laser pri različnih kotih projiciranja črte, rezultat tega testa bo maksimalna širina, ki je mogoča. Z zaznavo pikslov z oknom lahko dejansko določimo naklon črte, ki je določen z dolžino matrike glede na maksimalno možno debelino črte. Z algoritmom sledenja dejansko sledimo črti in s tem obdelamo le približno 35 % slike. Tako pridobimo na procesorskem času, ki je bistven pri obdelavi v realnem času. ■ 4 Rezultati Programsko opremo aplikacije smo razvili v okolju operacijskega sistema Windows XP in razvojnega okolja. NET in sicer v programskem jeziku C#. Slike, ki jih obdelujemo, imajo resolucijo 720 x 567 pikslov. Algoritme smo testirali na osebnem računalniku AMD Athlon 2400+, s 512 MB delovnega spomina. Izvedli smo ločena testiranja algoritmov ''glajenja'' in ''sledenja''. Z algoritmom ''glajenja'' smo lahko vsakih 80 ms obdelali novo sliko, z algoritmom ''sledenja'' pa 50 ms. Za uporabo v realnem času potrebujemo čim krajši čas obdelave, zato je v tem pogledu slednji algoritem boljši. Algoritma smo testirali v različnih realnih okoljih in razmerah. Ko je osvetljenost okolice, katere sliko Prav tako je lasersko črto na sliki težko zaznati pri določenih barvah podlage, na katero se projicira laserska črta. Testiranja algoritma glajenja so pokazala, da je algoritem sposoben učinkovito izločiti lasersko črto na sliki tudi v omenjenih primerih. Algoritem postane nezanesljiv, ko je osvetljenost prostora tako velika, da laserske črte ''skoraj'' več ne vidimo s prostim očesom. Rezultati, ki smo jih dobili s testiranji algoritma sledenja, so pokazali, da je algoritem učinkovit v okoljih, kjer ni močne sončne svetlobe (v laboratoriju). Prav tako je algoritem nezanesljiv pri določenih barvah podlage, na katero se projicira laserska črta. Testiranja sistema za zaznavanje ovir so pokazala, da lahko z njim uspešno zaznamo oviro in določimo njeno oddaljenost. Ena od prednosti sistema je, da lahko z njim zaznamo tudi luknje v podlagi (stopnice, jama ^). Glede na rezultate lahko rečemo, da s sistemom zaznamo vsako oviro v smeri gibanja vozička, razen ovir iz stekla, na katerih se laserska svetloba ne odbije. Dopolnitev obstoječega VS (z ultrazvočnimi senzorji) na invalidskem vozičku bo tako omogočila zanesljivo zaznavanje ovir v vseh okoliščinah. ■ 5 Zaključek V članku sta predstavljena dva algoritma digitalne obdelave slike. Prednost izločanja črte po metodi ''glajenja'' je, da metoda zelo učinkovito loči lasersko črto od ozadja, vendar porabi preveč procesorskega časa za uporabo v naši aplikaciji. Algoritem ''sledenja'' črti je časovno ugoden, vendar manj zanesljiv. V prihodnosti bomo opisana algoritma združili, s čimer bomo poiskali kompromis med hitrostjo in zanesljivostjo. Z algoritmom ''sledenja'' ni potrebno obdelovati celotne slike, ampak je dovolj, če obdelamo samo del, v katerem pričakujemo lasersko črto. V tej združitvi vidimo precejšen napredek naših raziskav, na katerih bomo gradili naš algoritem v prihodnosti. Vse skupaj bomo implementirali na zmogljivem digitalnem signalnem procesorju (DSP), kar bo omogočalo dovolj hitro obdelavo slike in uporabo pri vodenju vozička. Iz mnogih primerov v literaturi je znano, da optični filter bistveno izboljša zanesljivost in natančnost detekcije laserske črte. Predstavljeni algoritem digitalne obdelave slike smo razvili tako, da je sposoben v različnih okoljih, brez uporabe omenjenega optičnega filtra, zanesljivo izločiti lasersko črto na sliki. S tem smo povečali ekonomsko upravičenost projekta, saj smo se izognili stroškom za nakup kvalitetnega optičnega filtra. Viri [1] AlešTetičkovič, Simon Klančnik, ''Razpoznava govora z usmerjeno nevronsko mrežo'', Zbornik konference ERK' 05, Portorož, 26.-28. sept., 2005. [2] Simon Klančnik, ''Zaznavanje ovir s pomočjo strukturirane svetlobe'', Zbornik konference ERK' 06, Portorož, 25.-27. sept., 2006. [3] RGB barvni model (http:// en.wikipedia.org/wiki/RGB_ color_model). [4] Izvedba parametricnega nelinearnega filtra za iskanje kožnih znacnic v digitalni sliki z FPSLIC tehnologijo (http:// hercules.uni-mb.si/default. asp?prikaz=clanki). [5] Evaluation of RGB and HSV models in Human Faces Detection (http://www.cescg.org/ CESCG-2004/web/Sedlacek-Marian/) [6] Žarko Čučej, Dušan Gleich in Peter Planinšič; Signali: Povzetki teorije z zbirko rešenih nalog, UM-FERI, 2005. [7] Gonzalez, R. C.; Woods, R. E. (1993). Digital Image Processing, Addison-Wesley, Boston. [8] Iglesias, T.; Salmon, A.; Scholtz, J.; Hedegore, R. (2006). Camera Computer Interface, Horn- [9] berg, A. (Editor), Handbook of Machine Vision, Wiley-VCH, Weinheim, 427-508. Figueroa, J. F.;Everett, H. R. (2003). ''Distance Measuring and Proximity Sensors'', Bishof R. H. (Editor), The Mechatronic Handbook, CRC Press. [10] Tehnical University of Crete, Computer vision (www.intelli-gence.tuc.gr). Laser line elimination algorithm for obstacle detection using structured light Abstract: In this article we present the use of an obstacle-detection system that functions with the help of structured light. We have developed this system to increase the safety of a speech-controlled wheelchair. The given position of the set-up camera and laser, and the information regarding the position of a projected laser line, which is acquired with the proposed calculation-efficient methods of image processing, makes it possible for us to determine the presence and position of an obstacle on the course. The test results showed the efficiency of the proposed solution to obstacle detection. Keywords: computer vision, obstacle detection, laser triangulation, camera, laser,