Você está na página 1de 6

VISO COMPUTACIONAL COM A OPENCV MATERIAL APOSTILADO E VECULO SEGUIDOR AUTNOMO Riccardo Luigi Delai1; Alessandra Dutra Coelho2

Aluno de Iniciao Cientfica da Escola de Engenharia Mau EEM!CE"#$IM%&; 2 'rofessora da Escola de Engenharia Mau EEM!CE"#$IM%&(

Introduo )iso Co*+utacional, ou )iso Ro-.tica, / u* te*a 0ue est e* franca ascenso( Ela / +onto cha1e +ara o desen1ol1i*ento de di1ersas outras tecnologias, es+ecial*ente na rea da ro-.tica *.1el( 2uas a+lica3es so in4*eras5 todas as decis3es to*adas -aseadas no 0ue +ode en6ergar fa7e* +arte do esco+o da )iso Co*+utacional( A se*elhana co* o *odo de +erce+o hu*ana do a*-iente a torna u*a ferra*enta e6tre*a*ente +oderosa( Este / u* sentido 0ue 8 / -astante do*inado +ela raa hu*ana, +ois +ode*os facil*ente distinguir dois o-8etos distintos a+enas ao olhar +ara eles, e classific$los e* categorias, co*o carro, casa, +essoa( #o entanto, esta tarefa si*+les / -astante dis+endiosa co*+utacional*ente, o 0ue e6+lica +or0ue so*ente agora o ca*+o da )iso est e* ta*anha e6+anso( 9s *oti1os so o -aratea*ento do +oder de +rocessa*ento e da fotografia digital, al/* da *iniaturi7ao de a*-os( Isso tornou +oss1el a+lica3es real-time, nas 0uais as i*agens so +rocessadas e* te*+o se*elhante ao do c/re-ro hu*ano, o 0ue seria i*+oss1el co* os co*+utadores e sensores de de7 anos atrs, tanto +or 0uest3es de custo 0uanto de 1elocidade e ta*anho( Atual*ente / +oss1el se +ro8etar siste*as si*+les de 1iso 0ue +ossa* ser e*-arcados e* ro-:s aut:no*os de +e0ueno +orte, e* escala redu7ida do cor+o hu*ano cit r rti!o d co"#$tio %u" noid$&( Entre as a+lica3es 8 e6istentes da )iso Co*+utacional esto5 c;*eras inteligentes 0ue -usca* rostos ao tirar fotos&, controle de 0ualidade industrial +or ins+eo 1isual, siste*as de entreteni*ento se* controle, realidade au*entada, +rot.ti+os de 1eculos se* *otorista, 1oo no tri+ulado aut:no*o, inter+retao auto*tica de e6a*es */dicos e anlise de tecidos -iol.gicos( A 9+enC) / u* con8unto de ferra*entas de +rogra*ao +ara desen1ol1i*ento de a+lica3es co* )iso( Ela englo-a ta*-/* outro conceito i*+ortante, es+ecial*ente no *eio acad<*ico, o soft=are li1re( A -i-lioteca / co*+leta*ente open-source, e / distri-uda gratuita*ente, a-erta a cola-ora3es de 0ual0uer indi1duo ou e*+resa 1oluntrios( A gratuidade da 9+enC), o -ai6o custo do +oder de *0uina e a crescente 0ualidade das c;*eras torna +oss1el o desen1ol1i*ento de siste*as sofisticados de )iso, co* -ai6o in1esti*ento e custo de o+erao( A utili7ao de c;*eras +ode inclusi1e su-stituir outros sensores e siste*as *ais caros, co*+le6os e *enos gen/ricos( Isso e1idencia no s. o cresci*ento da rea da )iso Ro-.tica, *as ta*-/* a tend<ncia de a+ro6i*ao dos co*+utadores > for*a co*o os hu*anos entende* o a*-iente ao seu redor( 9 siste*a desen1ol1ido +ara o 1eculo / u*a +ro1a de conceito do estudo reali7ado( Ele foi ada+tado a +artir de *ateriais de fcil acesso e a*+la co*erciali7ao, tornando u* si*+les carrinho de controle re*oto e* u* siste*a se*i aut:no*o, 0ue tenta encontrar e seguir u*a for*a +r/$deter*inada( M t$ri i& $ M'todo& Material escrito 'ara o desen1ol1i*ento e teste do *aterial escrito, fora* necessrios a A'I da -i-lioteca, u* co*+utador co* co*+ilador C?? e a 9+enC) instalada( Mais

+articular*ente, foi utili7ado o Linu6 co*o siste*a o+eracional, +or *oti1os de co*odidade na +rogra*ao e seguindo a ideologia de software li1re da 9+enC), *as fora* feitos ta*-/* testes co* @indo=s +ara 0ue o *aterial fosse o *ais uni1ersal +oss1el( %a*-/* foi necessria u*a webcam digital "2A, +ara a 0ual no h grande necessidade de es+ecificao( Ideal*ente, a resoluo de1e ser de no *ni*o BCD6CED, e o frame-rate de no *ni*o 2D f+s( F con1eniente se ter u* editor de i*agens instalado, +ara 0ue se +ossa criar e editar i*agens +ara cada +rocedi*ento e6+eri*ental( Antes de +artir +ara a redao, foi +reciso detalhar o +rocedi*ento de instalao do co*+ilador e da 9+enC) no a*-iente @indo=s +ara criar u*a instalao +adro +ara ser1ir de -ase +ara os e6e*+los( cit r n (i()io!r *i ( 9 *aterial escrito no / u*a traduo do conte4do dos li1ros( E* *uitas situa3es, os li1ros 1oltados > +rogra*ao cita* a+enas 0ue deter*inado +rocedi*ento / *ais de*orado do 0ue outro, en0uanto os li1ros *ais te.ricos ignora* os as+ectos de i*+le*entao e a-orda* a+enas os conceitos algort*icos e *ate*ticos, no le1ando *uito e* conta o custo co*+utacional( 'ara u* curso de engenharia, no 0ual os leitores t<* tanto conheci*ento *ate*tico 0uanto de i*+le*entao co*+utacional, / necessrio oferecer u* +anora*a geral, 0ue de*onstre os *oti1os tanto te.ricos 0uanto +rticos de cada +rocedi*ento( 'ortanto, de1e ser -uscado u* e0uil-rio tanto entre teoria e +rtica 0uanto +ara a a-rang<ncia do *aterial, +ara 0ue se8a +oss1el o desen1ol1i*ento de +ro8etos di1ersos, *as *antendo$o co*+acto e o-8eti1o( Dentro de cada ca+tulo, cada rotina +ro+osta de1e ser testada cuidadosa*ente( 'or ser u*a -i-lioteca -astante din;*ica, co* atuali7a3es fre0uentes, *uitas das solu3es +ro+ostas na literatura 8 esto o-soletas ou fora* alteradas( Assi*, a consulta e* f.runs es+eciali7ados, docu*entao atuali7ada, changelogs e at/ testes +ara 1erificao de1e* ser feitos co* fre0u<ncia( A *elhor for*a de se +assar u* conheci*ento na rea de +rocessa*ento de i*age* / utili7ar as +r.+rias i*agens co*o e6e*+lo, *ostrando o 0ue os o+eradores fa7e* so-re elas( F nesta eta+a 0ue o editor de i*agens se torna interessante, +ara gerar i*agens 0ue se ade0ue* aos e6e*+los do *aterial( #os casos de *orfologia +or e6e*+lo, / con1eniente se tra-alhar co* i*agens -astante si*+les, +ara 0ue se +erce-a i*ediata*ente o efeito causado +elos algorit*os, en0uanto nos +rocessos co* histogra*as e deteco de -ordas / *ais interessante a de*onstrao e* u*a i*age* *ais sofisticada, co*o u*a fotografia real, +ara 0ue o efeito geral so-re toda a su+erfcie se8a *ais notado do 0ue o +articular e* +ontos es+ecficos( %ra-alhar direta*ente co* c;*era e 1deos co*o e6e*+los no / u*a -oa +rtica( F *uito difcil se ter u* fundo co*+leta*ente unifor*e durante todos os 0uadros, e u*a c;*era co*+leta*ente li1re de rudos( Assi*, alguns dos +rocessos no funciona* to -e* 0uando a+licados direta*ente so-re u*a i*age* 1inda de u*a c;*era( A utili7ao da c;*era 1aria confor*e a a+licao, ca-endo ao i*+le*entador definir 0ue filtros de1e* ser a+licados antes de +artir +ara o +rocessa*ento( Goi dada +refer<ncia a +rocedi*entos no do*nio es+ecial da i*age*, ao in1/s do do*nio da fre0u<ncia co*o a+resentado grande +arte da literatura te.rica( As transfor*adas de Gourier GG%& direta e in1ersa so relati1a*ente lentas frente ao do*nio es+ecial, co*o as i*agens se a+resenta* e so ar*a7enadas, +odendo co*+ro*eter a 1elocidade total dos +rocessos( )eculo aut:no*o 'ara +ro1ar os conceitos estudados so-re )iso Co*+utacional e de*onstrar u*a +oss1el a+licao na rea de ro-.tica *.1el, foi desen1ol1ido u* siste*a 0ue identifica u* s*-olo +r/$definido e* u*a i*age*, 1inda de u*a c;*era, e co*anda u* +e0ueno 1eculo +ara segui$lo( 9 1eculo / u* carrinho de controle re*oto, cu8o controle foi ada+tado +ara 0ue fosse

+oss1el control$lo +or u* siste*a e6terno, no caso u*a +latafor*a Arduino( Co*o no controle original os *o1i*entos de acelerar, r/, direita e es0uerda era* controlados +or -ot3es si*+les, o *icrocontrolador si*ula u*a cha1e 1ariando suas sadas entre input estado de alta i*+ed;ncia, cha1e a-erta& e output n1el -ai6o, 0ue corres+onde > cha1e fechada no controle( Isto dis+ensa co*+onentes e6tra na ada+tao do controle( 9 Arduino / ligado a u* co*+utador 1ia "2A, 0ue en1ia dados atra1/s de e*ulao serial +ara 0ue esse altere o estado no controle( 2o en1iados co*andos de a+enas u*a letra, re+resentando situa3es dese8adas no controle, e +or conse0u<ncia no carrinho( 9 co*+utador to*a as decis3es de 0ue *o1i*ento reali7ar -aseado nas i*agens 1indas da c;*era de u* celular, +osicionado na +arte su+erior do carrinho, 0ue en1ia seus 0uadros 1ia Aluetooth( 'ara esta 4lti*a eta+a co*unicao c;*era$co*+utador& foi necessrio o uso de u* software +ro+rietrio +ago( Isso acontece +or0ue o celular no +er*ite 0ue +rogra*as se* certificao de e*+resas de segurana tenha* acesso a dados considerados sens1eis, co*o a c;*era( Acessos a esta o-riga* o usurio a a+ertar u* -oto a cada 0uadro o-tido, confir*ando deste, o 0ue in1ia-ili7aria o +ro8eto( Co* a i*age* da c;*era, o co*+utador inicia o +rocesso de -usca do s*-olo, co* -ase e* u*a refer<ncia digital deste( 9 +rocesso, re+etido +ara cada fra*e o-tido, segue os seguintes +assos5 1. 9-ter a i*age* da c;*era( 2. 2ua1i7ar smooth& a i*age* 1inda da c;*era, +ara di*inuir o rudo es+4rio( 9 *ecanis*o de sua1i7ao escolhido foi o blur gaussiano( 3. Con1erter a i*age* colorida +ara +reto$e$-ranco escala de cin7a&( 4. A+licar thresholds crescentes, gerando i*agens -inrias +reto e -ranco, a+enas&( 2o a+licados 1alores crescentes +ara 0ue o s*-olo -uscado +ossa ser 1isto e* 1rias condi3es de lu*inosidade a*-iente( 'ara cada i*age* gerada neste ite*5 5. A+licar rotina de deteco de contornos e* toda a i*age*( A i*age* -inria torna$se u*a se0u<ncia de +ontos 0ue re+resenta* as fronteiras entre regi3es +retas e -rancas( 6. 2i*+lificar os contornos, utili7ando o algorit*o de Douglas$'eucHer de a+ro6i*ao de +olgonos( 2elecionar contornos 0uadrados +ela relao de as+ecto, n4*ero de 1/rtices e ta*anho *ni*o( Isso cria u*a lista de regi3es candidatas a conter o s*-olo, -uscando +elo 0uadrado e6terno( 7. 9-ter todas as regi3es 0uadradas candidatas no1a*ente na for*a de i*age*( 8. 'rocurar o 0uadrante co* *aior 0uantidade de pixels -rancos +ara cada regio do ite* anterior( 9. Rotacionar as i*agens do ite* I +ara 0ue siga* a orientao da refer<ncia, -aseado no 0uadrante *ais -ranco identificado no ite* E e no ;ngulo for*ado entre a linha inferior do contorno e o ei6o hori7ontal da i*age*( 10. Calcular os *o*entos da i*age* -inria, resultado do ite* anterior( 9s *o*entos utili7ados so tais 0ue a orde* e* J so*ada co* a orde* e* K se8a *enor ou igual a L, co* J e K +ositi1os( 11. "*a nota / co*+osta co* o 0uadrado da diferena entre os *o*entos de cada orde* da refer<ncia e da i*age* candidata( A isso / so*ado de7 1e7es a diferena entre a 0uantidade de figuras +resentes na refer<ncia e no candidato, sendo u*a figura 0ual0uer +oro +reta en1ol1ida +or -ranco ou -ranca en1ol1ida +or +reto( 12. A regio candidata co* *enor nota, 0ue este8a aci*a de u* li*iar esta-elecido e6+eri*ental*ente / considerada co*o u* match 1lido( 9 li*iar +ode ser alterado durante a e6ecuo do +rogra*a, +ara *udar a toler;ncia deste( 9 controle / dado na for*a de u*a -arra desli7ante( 13. 2e hou1er algu* match, o +onto central centro do 0uadrado& / considerado +ara a1aliar sua +osio( 2e este esti1er nos +ri*eiros LDM da i*age*, na +arte es0uerda, o carrinho / co*andado +ara 1irar > es0uerda( 2e esti1er nos IDM *ais > direita, / en1iado u* co*ando +ara 0ue o carrinho 1ire > es0uerda( 'ara deter*inar a dist;ncia

do carrinho > figura, / utili7ada a rea do 0uadrado e6terno( 2e esta for *enor 0ue NM da i*age*, o carrinho de1e a1anar( 2e for *aior 0ue 12M, ele de1e andar de r/ e se afastar( %odos estes +ar;*etros +ode* ser alterados e* te*+o de e6ecuo( 14. Co* o carrinho re+osicionado, 1oltar ao +asso 1(

Figura 1 - Esquema do funcionamento do sistema do ve cu!o

Gigura 2 $ 'rocesso de -usca da refer<ncia no +rogra*a

R$&u)t do& $ Di&cu&&o )eculo aut:no*o 9 siste*a de identificao do s*-olo funcionou -e* 0uando testado e* i*agens estticas, *es*o co* rudo e co* a adio de s*-olos se*elhantes ao +rocurado, se*+re identificando correta*ente a refer<ncia co* a nota *ais -ai6a( Co* a c;*era ada+tada no carrinho, o siste*a ta*-/* se co*+ortou -e*( 9s *aiores +ro-le*as so co* a *o1i*entao do carrinho, 0ue no te* grande ;ngulo de cur1a ne* controle de intensidade de acelerao ou r/( 'or causa disso, o carrinho tende a a1anar na direo do s*-olo assi* 0ue o encontra ao longe, *as ao +erce-er 0ue est +erto e acionar o freio, a in/rcia dele o *o1i*enta al/* do +onto de +arada es+erado, dei6ando$o +r.6i*o de*ais( Ouando est *uito +r.6i*o, a r/ / acionada +ara tentar *anter a dist;ncia ideal, *as o *es*o acontece, e o carrinho fica e* u* ciclo de frente e r/ se* encontrar a dist;ncia ideal +re1ista( 'ara *ini*i7ar este +ro-le*a, seria ideal 0ue o carrinho ti1esse controle de 1elocidade, +ara 0ue acelerasse +ro+orcional*ente > dist;ncia 0ue se encontra da refer<ncia( 'ara di*inuir o custo de +rocessa*ento, o +rogra*a +oderia no +rocurar +elo s*-olo a cada frame rece-ido, *as tentar segui$lo u*a 1e7 encontrado( Isso +oderia ser feito co* algu* algorit*o de flu6o .+tico, co*o o de Lucas$Panade( Conc)u&+$& 9 *aterial escrito desen1ol1ido ser1ir co*o -ase +ara a introduo de u* la-orat.rio +ara difundir os conheci*entos de )iso, tanto na grade curricular co*o +ara au6iliar o la-orat.rio de ro-:s aut:no*os( 9 1eculo ada+tado / o incio de u* +ro8eto *aior de desen1ol1i*ento de u* carro aut:no*o( Ele ser re+rodu7ido e* escala *aior e* u* *ini1eculo el/trico, +ara o 0ual ta*-/* ser au*entado o grau de auto*ao( Ele ser ca+a7 de dirigir$se so7inho +or dist;ncias *aiores, e1itando o-stculos e seguindo +ercursos +re1ia*ente definidos, co* a introduo de o-stculos din;*icos( R$*$r,nci & -i()io!r.*ic & Autores da 9+enC) 2D1D& OpenCV Reference Manual v2.1( Autores da 9+enC) 2D1D& OpenCV source code v2.1( AradsHi, Q(; Paehler, A( 2DDE& earning opencv( 1a edio( 9RReillS Media( Qon7ale7, R( C(; @oods, R( E( 2DDD& !rocessamento de imagens digitais( 2a edio( Edgard AlTcher( Qo*es, M( M( 2D1D& "presenta#$es do curso ecm%&1 - vis'o computacional ( Escola de Engenharia Mau( Russ, U( C( 1VVE& (he image processing handboo)( Na edio( CRC 'ress( Russel, 2(; #or1ig, '( 1VVN& "rtificial intelligence - a modern approach( 'rentice Wall( %udor, '( 1VVN& Mpeg-2 video compression( Electronics X Co**unication Engineering Uournal( DER'A#I2, P( Q( 2DDC& (he harris corner detector.
www.cse.yorku.ca/~kosta/CompVis_Notes/harris_detector.pdf.

Você também pode gostar