Vous êtes sur la page 1sur 9

DESENVOLVIMENTO DE VEICULO AUTONOMO - INTELIGENCIA CENTRAL E POR CAMERAS ORIENTACAO Riccardo L.

Delai1 ; Alessandra Dutra Coelho2


1 Aluno

de Iniciacao Cientca da Escola de Engenharia Mau (EEM/CEUN-IMT); a 2 Professora da Escola de Engenharia Mau (EEM/CEUN-IMT). a

Resumo. Este artigo descreve o desenvolvimento da intelig ncia central de um veculo e aut nomo orientado por c meras. O sistema e respons vel pela vis o e pela navegacao do o a a a veculo, despachando comandos para uma intelig ncia perif rica para que o veculo faca um e e movimento de zigue-zague entre cones de tr nsito comuns arbitrariamente posicionados. A a solucao elaborada utiliza t cnicas de vis o computacional (com a biblioteca aberta OpenCV) e a e intelig ncia articial (principalmente Boosting). e Introducao Ver, entender e interagir com o ambiente ao redor parece um conjunto de tarefas simples, mas que levaram milh es de anos de evolucao biol gica para serem desenvolvidas e aprio o moradas. Por isso e impressionante constatar que a engenharia j cobriu parte deste terreno a em apenas algumas d cadas. Mesmo sem a mesma naturalidade dos seres humanos, sistemas e aut nomos desempenham algumas tarefas aparentemente rotineiras, mas que requerem compreo ens o e dinamismo mais sosticados do que apenas a execucao de funcoes pr -programadas. a e Esta r pida progress o da rob tica acompanha principalmente a miniaturizacao e o baa a o rateamento da microeletr nica, que praticamente seguiu a chamada Lei De Moore (Moore, o 1965),(Kanellos, 2003) desde 1965, dobrando o n mero de componentes por area de encapu sulamento de circuito integrado a cada ano. Isso gerou um innd vel leque de inovacoes e a revolucoes tecnol gicas, utilizando o c rebro eletr nico. o e o Um dos desaos mais interessantes e atuais propostos para a intelig ncia eletr nica e e o o de dirigir um carro. Guiar um veculo com seguranca n o e algo imediato nem para seres a humanos, que precisam de tempo de instrucao (auto-escolas), pr tica e adaptacao para faz -lo a e adequadamente. Dirigir exige uma mistura de conhecimentos pr vios, como leis de tr nsito, e a reconhecimento de objetos, nocoes de velocidade e dist ncia; com decis es de momento, como a o quanto estercar o volante ou denir um trajeto otimo, sem colis es, entre dois pontos quaisquer o do percurso, considerando a exist ncia de outros veculos e obst culos din micos. e a a Processar todas essas informacoes simultaneamente, com computadores, e bastante com plexo. Um sistema proposto (Kornhauser et al., 2007) no desao urbano do departamento de defesa norte-americano (DARPA) para veculos aut nomos sugere a utilizacao de um rack (es o tante) de servidores dual core (de dois n cleos por processador) montados em uma rede gigabit u de baixa lat ncia, e nem assim foi capaz de se equiparar a um motorista humano comum. e Entre as funcoes destes computadores est a de enxergar o ambiente atrav s de c meras. a e a Isso e particularmente complicado pelo volume de informacao a processar em uma dada janela de tempo. Enquanto um sensor anal gico simples (por exemplo, um encoder de uma roda o ou um aceler metro) envia um sinal de poucas vari veis (ou seja, de poucas dimens es), o a o uma imagem cont m algo entre centenas de milhares a dezenas de milh es de pontos que s o e o a atualizados a cerca de 20 e 30 vezes por segundo. Para lidar com toda essa informacao em tempo real, e necess rio utilizar programas a e algoritmos altamente ecientes, fazendo uso inteligente de mem ria e processador. Assim, o al m de bom conhecimento de programacao, e interessante partir de uma plataforma existente e e robusta, desenvolvendo aplicacoes sobre uma base s lida ao inv s de partir completamente do o e zero. Existem frameworks (bases de desenvolvimento) disponveis para a confeccao de aplicacoes para a vis o computacional. Entre eles h solucoes comerciais, como m dulos para a a o o MatlabTM da MathWorksTM e para o LabViewTM da National Instruments TM . Em contrapartida h alternativas de c digo aberto, mais interessantes do ponto de vista acad mico do projeto, a o e por possibilitarem o completo entendimento do funcionamento interno do software, que caria oculto em um programa comercial. Provavelmente a biblioteca open-source (c digo aberto) mais robusta e popular e a o OpenCV, distribuda sob a licenca BSD. A OpenCV conta com uma ampla gama de funcoes, que v o desde interface com o usu rio e com c meras, at elementos de intelig ncia articial, a a a e e

al m de toda a parte de processamento de imagem. A biblioteca n o est vinculada a nenhum e a a hardware especco, o que possibilita a escolha independente dos materiais a serem utiliza dos. Seu foco principal est exatamente nas aplicacoes real-time (em tempo real), o que a torna a interessante para vis o rob tica. a o Por outro lado, a vis o computacional por si s n o e suciente para desempenhar as a o a atividades necess rias para fazer funcionar um carro aut nomo. Abstrair um sentido maior a a o partir de uma massa de dados e uma tarefa tpica de intelig ncia articial, e e em grande parte e respons vel pelo que o sistema entende do mundo que v . a e Selecionando caractersticas resultantes da an lise feita pelo processamento de imagem, a a intelig ncia articial e respons vel por fazer a sntese e tentar identicar algo para o qual ela e a foi treinada (resultado ou previs o). Se essa I.A. for treinada para, dada uma massa de dados, a identicar se ela pertence a esta ou aquela categoria, a I.A. recebe o nome de classicador. Esta combinacao de intelig ncia articial e processamento de imagem e uma ferramenta e poderosa, que possibilita a sistemas aut nomos enxergar ambientes convencionais, expano dindo os horizontes da rob tica aut noma visual. Atrav s disso e possvel lev -la a campo, o o e a atuando em ambientes reais ao inv s de apenas situacoes-conceito. e Com isso em mente, este trabalho relata o desenvolvimento da intelig ncia central (vis o e a computacional e intelig ncia articial) de um veculo aut nomo simples, cujo objetivo e pere o correr pequenos trajetos sem interacao humana, guiado apenas por c meras. Ao contrario da a maioria das iniciativas para o projeto de veculos aut nomos, como (Reinholtz et al., 2007), o (Kornhauser et al., 2007) e (Montemer et al., 2007), que utilizam clusters (conjunto de computadores) de pelo menos 2 servidores em racks, parte-se de uma conguracao muito mais modesta, utilizando um computador laptop comum. Al m disso, considera-se apenas a vis o e a (c meras), de forma semelhante a um motorista humano mas diferente das outras propostas que a utilizam radares ou sensores de dist ncia a laser. a Por isso, os objetivos tamb m foram simplicados: ao inv s de tentar prever as diversas e e situacoes possveis no tr fego, a intelig ncia desenvolvida almeja apenas encontrar marcos visu a e ais na pista, contornando-os em slalom (zigue-zague). Demais obst culos s o desconsiderados, a a dadas as limitacoes de hardware eletr nico e sensorial. Mas para manter uma funcionalidade o interessante, elegeu-se cones de tr nsito comuns como marcos de pista. a Por um lado, a opcao pelos cones e interessante por serem elementos comuns em situacoes de tr nsito (estacionamentos, desvios, zonas de restricao) e portanto amplamente dis a ponveis, sem depender de alteracao do ambiente de testes ou atuacao. Al m disso, a cor laranja e destes e intencionalmente distinguvel do fundo. Por outro, sua forma e sua cor (uma ou duas, dependendo da presenca de marcadores reetores) s o os unicos par metros que o denem, o a a que diculta o trabalho da vis o computacional, pela aus ncia de pontos fortes de refer ncia, a e e ` como cantos (corners), arestas internas a silhueta do objeto e textura. Al m de localizar os cones com as c meras, a intelig ncia central tamb m e respons vel e a e e a por despachar os comandos para a movimentacao do veculo, a serem captados e executados por uma intelig ncia perif rica, microcontrolada e mais simples, que se responsabiliza por fazer a e e interface eletr nica com os circuitos da movimentacao do veculo. Para a intelig ncia central, o e no entanto, esse processo deve ser completamente transparente, de forma que a perif rica e os e circuitos possam ser substitudos sem ser necess ria alteracao na central. a Materiais e m todos e Materiais Gracas as diversas funcionalidades da OpenCV, foi possvel utiliz -la como principal ` a biblioteca de software. Optou-se por utilizar a vers o 2.2, mas preferindo as interfaces de a programacao na linguagem C quando possvel, por simplicidade e maturidade, al m da van e tagem de aproveitar todo o trabalho feito em (Delai, 2010). Mesmo que a biblioteca esteja migrando todas as suas funcoes para C++, as interfaces em C ser o mantidas para compatibili a dade reversa. Mas nem todas as estruturas da OpenCV t m interface em C. As intelig ncias articias e e disponveis s o acessveis apenas por classes C++, motivo pelo qual todo o projeto teria que a ser compilado em C++. Assim, o projeto foi desenvolvido em C++, utilizando os recursos de classes da linguagem para as funcoes criadas, mas preferindo as interfaces C de bibliotecas externas. Por facilidade de programacao e esprito de software livre, utilizou-se o Debian GNU/Linux com o compilador GCC/G++ para compilar e executar os programas criados.

O hardware sobre o qual estes programas rodam e um Sony VaioTM VGN-NR310E, com um Intel PentiumTM Dual Core a 1.73GHz e 1GB de mem ria RAM. Toda a comunicacao o com os dispositivos externos (c mera e intelig ncia perif rica) e feita atrav s das sadas USB a e e e do notebook. As c meras utilizadas s o webcams USB Newlink WC301. a a Os exemplos utilizados para treinar a intelig ncia articial foram 100 imagens obtidas e da internet, contendo ou n o o tipo de cone procurado e classicadas manualmente. a Desenvolvimento Na busca pelos cones, primeiramente selecionou-se o m todo de intelig ncia articial a e e ser utilizado. A escolha evidente e um classicador, que apontar se uma regi o, previamente a a segmentada e selecionada, representa ou n o um cone, dados os par metros (num ricos) da a a e an lise feita por processamento de imagem. a Tipicamente este tipo de procedimento (deteccao de objeto) e implementado por um sistema do tipo Viola-Jones (Viola and Jones, 2004). No entanto, ele requer uma grande quantidade de dados para treinar o classicador adequadamente, j que ele treina uma intelig ncia ara e ticial para encontrar os pontos de maior interesse no objeto que se deseja classicar, utilizando apenas caractersticas Haar. No trabalho original, foram utilizados 4916 exemplos positivos e 9544 exemplos negativos de rostos para treinar o classicador, todos ltrados e marcados manualmente. Al m disso, os cones n o apresentam textura ou caractersticas internas marcantes, e a apenas em sua relacao com o fundo. Quando a caracterstica mais marcante do objeto e sua silhueta, como no caso estudado, Viola-Jones sabidamente n o se comporta bem (Bradski and a Kaehler, 2008). Sem a possibilidade de utilizar o Viola-Jones, partiu-se para a busca de intelig ncias e articiais desvinculadas das caractersticas utilizadas. Considerou-se primeiramente os m todos e das Arvores Aleat rias e Boosting, cujas implementacoes na OpenCV funcionam de maneira o mais imediata (Bradski and Kaehler, 2008). O m todo das arvores aleat rias utiliza um grupo (oresta) de arvores de decis o, que e o a aprendem os dados rigorosamente. Individualmente, estas arvores t m pouca utilidade por e sofrerem de overtting (sobreajustamento) j que criam modelos interpolados ao inv s de a e ajustados. Para compensar isso, o resultado nal leva em conta o resultado de todas as arvores da oresta, que escolhem caractersticas aleat rias, dentre as fornecidas, para serem treinadas. o Boosting funciona compondo um conjunto de classicadores fracos (ou seja, que n o a precisam ser muito melhores que uma estimacao aleat ria) para gerar um classicador forte o (Freund and Schapire, 1999). A OpenCV implementa o AdaBoost (Adaptive Boosting) bin rio a (do tipo sim-n o), que n o e problema pois supre a necessidade de classicar uma regi o fora a a necida em cone ou n o-cone. Estes classicadores fracos recebem pesos para seus votos na a classicacao nal. Ao longo do algoritmo, tenta-se fazer com que os classicadores se concen trem nas caractersticas mais difceis (com maior erro nas primeiras iteracoes). Selecionadas ent o duas opcoes prim rias de intelig ncia articial, foi necess rio escoa a e a lher as caractersticas com as quais treinar esses classicadores. Inicialmente pesquisou-se sobre dois m todos de descricao existentes, SURF (Speedede Up Robust Features, Caractersticas Robustas Aceleradas) (Lowe, 2006) e SIFT (Scale Invariant Feature Transform, Transformacao de caractersticas invariantes com a escala), (Bay et al., 2004). No entanto, ambos recaem no problema da aus ncia de keypoints (pontos chave) na e estrutura dos cones de tr nsito. a Por isso, decidiu-se criar um conjunto pr prio de caractersticas que denem um cone, e o ` deixar a intelig ncia articial a incumb ncia de ltr -las e selecionar as mais importantes. Para e e a compor o modelo, utiliza-se estatsticas de cor (HSV), caractersticas do gradiente (m dulo e o orientacao) e relacoes geom tricas (momentos e relacoes entre momentos). e Todas as informacoes de cor para compor o modelo s o da base HSV (Hue Saturation a Value), que frequentemente e muito mais representativa em termos de vis o computacional do a que a base RGB (Red, Green Blue, Vermelho, Verde e Azul), padr o mais utilizado para a a transmiss o e exibicao de imagens digitais (Russ, 1998). a Percebeu-se que o canal de saturacao apresenta boa separacao entre o cone, que tem alta saturacao, e o fundo, geralmente uma via de tr nsito, que mostra baixa saturacao (como visto a na Figura 1b). Por isso, al m das estatsticas de cor HSV, as informacoes de geometria tamb m e e s o obtidas a partir de manipulacoes do canal de saturacao. Em especial, cita-se a binarizacao a autom tica pelo m todo de Otsu (Otsu, 1979), como forma de obter imagens bin rias para o a e a c lculo de momentos e relacoes geom tricas. a e

(a) Cone

(b) Canal de saturacao

(c) M scara a

Figura 1: Cores no cone Al m da imagem binarizada por Otsu, e usada tamb m outra imagem bin ria, a m scara e e a a de cor, que e resultado da passagem de um ltro de cor HSV sobre a imagem analisada. Todos os pixels dentro da faixa de cores designada para o cone (laranja) ser o 255 (branco) na m scara, a a e os demais, zero. Assim, dada uma regi o retangular (redimensionada para 50x150) extrada de uma a imagem, e extrado um vetor de caractersticas (descritores). Este vetor cont m 89 valores e num ricos que descrevem a regi o, com o objetivo de reconhecer um cone. A seguir s o expose a a tos os elementos obtidos para compor o vetor, na ordem em que s o processados, e as equacoes a para refer ncia. As equacoes de descricao por momentos (4, 5 e 6) foram obtidas em (Kilian, e 2001). Para a imagem colorida: 1-20: histograma normalizado de 10x2 dimens es dos valores de cor H (Hue) e o S (Saturacao) da regi o. a 21: limiar que melhor separa binariamente o canal de saturacao, pelo m todo de Otsu. e Para o canal de saturacao (S): 22-31: histograma normalizado de 10 dimens es da intensidade do gradiente (equacao o 1). 32-41: histograma normalizado de 10 dimens es da direcao do gradiente (equacao 2). o Para a imagem preto-e-branco separada pelo limiar de Otsu no canal de saturacao: 42-49: momentos: {mx,y |x + y 3, 0 x < 3, 0 y < 3} 50 e 51: centro de gravidade (equacao 3). 52: orientacao (equacao 4). 53: excentricidade (equacao 5). 54: afastamento (equacao 6). 55-62: valores normalizados das Freeman Chain Codes (c digos de cadeia de Freeman). o Para a m scara: a 63-70: momentos 71 e 72: centro de gravidade (equacao 3). 73: orientacao (equacao 4). 74: excentricidade (equacao 5). 75: afastamento (equacao 6). 76-83: valores normalizados das Freeman Chain Codes (c digos de cadeia de Freeman, o Figura 2). Para a imagem colorida: 84-86: coecientes de variacao para as cores dos 3 canais HSV. (equacao 7).

Figura 2: Indices da cadeia de Freeman 87-89: desvio padr o para as cores dos 3 canais HSV. a I(x, y) x I(x, y) + y
I(x,y) y I(x,y) x 2 2

(1)

arctan

(2)

m1,0 m0,1 , m0,0 m0,0 21,1 1 arctan 2 2,0 0,2 (2,0 0,2 )2 4(1,1 )2 (2,0 + 0,2 )2 2,0 0,2

(3) (4) (5) (6)

x (7) x Todas as derivadas parciais s o calculadas com um n cleo Sobel 3x3 (Scharr). n,m a u se refere a um momento central de ordem n em x em y. Todas as normalizacoes s o feitas a para gerar distribuicoes (soma dos valores dos histogramas igual a 1). As cadeias de Freeman relacionam todos os pontos de um contorno com seu vizinho, assumindo que este seja composto de linhas nas (apenas 1 pixel de espessura), dando ndices para esta relacao, conforme a Figura 2. Antes de calcular os coecientes de Freeman, s o computadas as linhas nas que geram os a contornos das imagens bin rias, que s o as regi es de fronteira entre claro e escuro. Por valor a a o normalizado desta cadeia, entende-se a proporcao do aparecimento dos ndices na criacao da cadeia. Denido o modelo, criou-se um programa que permite selecionar regi es retangulares o em imagens maiores, classicando-as manualmente como cone ou n o-cone. Assim e possvel a ligar um conjunto de caractersticas a uma resposta, que ser o utilizados para treinar o classi a cador. Para a massa de dados, foi obtida uma centena de imagens da Internet, contendo ou n o cones de tr nsito. Destas foram selecionadas 68 imagens, das quais foram manualmente a a separadas 1200 regi es, sendo 200 regi es com cones completamente visveis (como na Figura o o 1a) e as outras 1000 sem nenhum. As demais imagens foram utilizadas como validacao, e ` n o foram apresentadas a intelig ncia articial para treinamento. Destas ultimas extraiu-se 30 a e elementos positivos (cones) e 100 negativos. A quantidade de exemplos positivos e negativos foi articialmente dobrada utilizando-se os espelhos horizontais das regi es fornecidas, semelhante o ao feito em (Viola and Jones, 2004). No entanto, n o se espera que o desempenho dobre, j que a a

algumas caractersticas (cor, por exemplo) se mant m, mas isso ajuda a evitar que o algoritmo e de Intelig ncia Articial (A.I.) se vicie em um determinado angulo de vis o mais comum nos e a dados (biasing). As duas solucoes de inteligencia articial foram treinadas e testadas contra o conjunto de validacao. Os pesos de classicacao foram ajustados para obter no m ximo 10% de falso a positivos. Percebeu-se que, para os dados disponveis, Boosting se comportou melhor, conforme as ta belas 1 e 2, e por isso foi o m todo escolhido. e Previsto Positivo Negativo Real Positivo 62.2% 37.8% Negativo 5.4% 94.6% Tabela 1: Matriz de confus o para as a Arvores Aleat rias o Previsto Positivo Negativo Real Positivo 70.3% 29.7% Negativo 0% 100% Tabela 2: Matriz de confus o para o a Boosting

Com um algoritmo de intelig ncia articial capaz de classicar regi es retangulares de e o tamanho uniforme, e necess rio criar um segmentador que busque estas regi es em uma imagem a o maior, ou seja, todo o campo de vis o da c mera. a a Isso e feito buscando-se manchas claras, de tamanho razo vel, na m scara de cores, a a quando aplicada a toda a imagem. Deve-se aplicar algum grau de eros o na m scara para a a eliminar regi es muito pequenas, mas o tamanho mnimo depende do tamanho total da imagem, o resolucao e etc. Para cada uma destas manchas, considera-se seu tamanho m ximo horizontal a (w) e vertical (h). Para o classicador s o passados 3 ret ngulos, de largura w e alturas h, a a 2h e 3h, alinhados com a base da mancha. Isso se deve ao fato de muitos cones de tr nsito a apresentarem uma ou duas faixas reetoras ao longo do comprimento, o que quebra as regi es o que passam na mascara de cores buscando o laranja. Antes de terem suas caractersticas extradas, os ret ngulos s o recortados de modo que a a suas retas limites (superior, inferior, direita e esquerda) tangenciem os limites da(s) mancha(s). Por exemplo, a reta que limita o ret ngulo a direita ser posicionada sobre ponto mais a direita a a da mancha (ou conjunto de manchas). Isso e feito para tentar fazer com que os limites do ret ngulo sejam tamb m os limites do pr prio cone. a e o Localizados os ret ngulos aceitos como cones pela I.A., ltra-se esse resultado fundindo a ret ngulos que se interceptem. a Uma vez localizados os objetos de interesse e denido o sistema de navegacao (que n o foi possvel de ser feito, como descrito no t pico seguinte), a intelig ncia central despacha a o e comandos para a perif rica atrav s de uma sada serial (ou serial sobre USB). Esta comunicacao e e cont m os comandos b sicos para o deslocamento do veculo, em especial comandos para o e a motor de tracao (ex. mova-se X metros adiante, ou para tr s) e para o controle de direcao (ex. a vire X graus para a direita, ou esquerda). Apenas para efeito de protocolo, utilizou-se comandos de uma uma unica letra, seguida de um n mero e uma quebra de linha (\n). O n mero quantica o comando, e pode vir preceu u dido de sinal. Por exemplo, m-100 signica mova-se 100cm para tr s. A quebra de linha a indica o m do comando. Comandos n o sucedidos por n meros tamb m s o aceitos (ex. p a u e a para pare), mas todos devem conter a quebra de linha ao nal. Resultados e discuss o a As Figuras 3 a 6 mostram o comportamento do sistema em algumas situacoes que n o a importante notar que, embora o ndice de falsoforam usadas para treinamento da A.I.. E positivos tenha sido zero na bateria de validacao, ainda podem existir falso-positivos, como na Figura 6. Mesmo assim, os ndices de acerto descritos na tabela 2 s o bastante razo veis para a a a aplicacao. Com mais dados para o modelo, a tend ncia seria de melhora. Entre a aplicacao e real (vis o do veculo em situacoes reais) e a simulada (imagens da Internet) foi necess rio a a apenas ajustar os valores da m scara, que s o fortemente dependentes da distorcao crom tica a a a da c mera. a ` Adicionar mais exemplos a intelig ncia articial pode melhorar seu desempenho (Ng, e 2008). No entanto, o problema mais crtico ainda e o da navegacao.

Figura 3: Exemplo

Figura 4: Exemplo

Figura 5: Exemplo

Figura 6: Exemplo com erros

Sobre o segmentador, sabe-se que este falhar se o cone tiver cor semelhante ao fundo a no qual ele se situa, de modo que o ambiente tamb m faca parte da m scara. Isso n o e grande e a a problema em asfalto, mas poderia ser prejudicial no caso de algo laranja aparecer em contato com a estrutura do cone na imagem. A utilizacao de informacao de contexto poderia tamb m e melhorar a qualidade (ex. cones n o fariam sentido se n o apoiados no ch o), mas isso implia a a caria em um programa muito mais complicado. Para efeito de navegacao, utilizou-se a area aparente do cone encontrado como refer ncia e de dist ncia, mas este par metro se mostrou bastante fraco para fazer a estimativa. Idealmente, a a se utilizaria um sistema de vis o est reo para calcular esta dist ncia, mas percebeu-se que as a e a webcams comuns n o mant m nenhuma relacao de par metros (foco, centro otico, orientacao, a e a distorcao de cor e outros) entre uma c mera e outra, mesmo entre produtos do mesmo lote. Para a a c mera utilizada, mesmo para modelos com apenas 4 n meros de fabricacao de dist ncia, n o a u a a foi possvel construir um conjunto est reo, tamanha a disparidade entre seus par metros. e a Das Figuras 7 e 8 pode-se notar, visualmente, que os par metros das c meras utilizadas a a s o bastante diferentes entre si. A imagem foi captada com as duas c meras alinhadas sobre a a um eixo horizontal comum. Percebe-se que foco, orientacao e at cor s o diferentes entre as e a c meras, o que diculta a conguracao de vis o est reo. a a e Por causa disso, n o foi possvel implementar um sistema de navegacao eciente. a Considerou-se t cnicas como chase/evade (perseguicao e desvio) utilizando funcoes potencie ` ais (de Carvalho Junior, 2007), mas devido as diculdades de se obter uma boa estimativa da dist ncia ao objeto e a restricoes mec nicas no veculo, n o se chegou a uma solucao adea a a quada em uma situacao real. No entanto, em simulacoes feitas com um software desenvol vido, que permite posicionar cones arbitrariamente e testar a ideia da navegacao, com todas as dist ncias conhecidas, a perseguicao e desvio se mostrou simples de implementar e adequada a para o veculo. Assim, uma proposta interessante seria a utilizacao de sensores de dist ncia, como um a sonar, mas interagindo com as c meras, com o objeto sendo localizado por vis o e a dist ncia a a a medida pelo outro sensor. Alternativamente, pode-se seguir a mesma linha deste projeto, mas utilizando c meras adequadas para a vis o est reo, com relacao de par metros garantida. a a e a

Figura 7: Vis o da c mera da direita a a Conclus es o

Figura 8: Vis o da c mera da esa a querda

Os resultados alcancados ainda est o distantes das capacidades dos veculos apresen a tados em (Kornhauser et al., 2007), (Reinholtz et al., 2007) e (Montemer et al., 2007). No entanto, estes apresentam uma proposta mista (sensores e vis o), enquanto este trabalho exp e a o uma abordagem exclusivamente atrav s da vis o. e a Atrav s das t cnicas citadas, foi possvel encontrar os cones com uma boa precis o e e a (como mostrado na Tabela 2). No entanto, n o foi possvel chegar a um sistema de navegacao a funcional. Tanto os trabalhos citados quanto este pr prio indicam que a proposta de criar um piloto o articial para um veculo ainda e uma ideia bastante ousada. No entanto, as recentes investidas tanto de empresas do segmento de tecnologia e automotivo, al m de acad micos e militares e e apontam para um crescimento da area. Com isso, n o seria surpreendente esperar o aparecia mento de solucoes comerciais, completa ou parcialmente aut nomas, nas pr ximas d cadas. o o e Refer ncias Bibliogr cas e a Bay, H.; Ess, A.; Tuytelaars, T., e Gool, L. V. (2004). Distinctive Image Features from ScaleInvariant Keypoints. International Journal of Computer Vision. Bradski, G. e Kaehler, A. (2008). Learning OpenCV. OReilly Media, 1 edition. Carvalho Junior, H. H. de (2007). M todos Inteligentes de Navegacao e Desvio de Obst culos. e a Universidade Federal de Itajub , Programa de P s-Graduacao em Engenharia El trica. a o e Delai, R. L. (2010). Vis o Computacional com a OPENCV Material Apostilado e Veculo a Seguidor Aut nomo. 2o Semin rio Mau de Iniciacao Cientca. o a a Freund, Y. e Schapire, R. E. (1999). A Short Introduction to Boosting. Journal of Japanese Society for Articial Intelligence, 14(5). Kanellos, M. (2003). Moores Law to roll on for another decade. http://news.cnet.com/2100-1001-984051.html (acesso em 11/11). CNET News,

Kilian, J. (2001). Simple Image Analysis By Moments. http://public.craneld.ac.uk/c5354/teaching/dip/opencv/ SimpleImageAnalysisbyMoments.pdf (acesso em 11/11). Kornhauser, A. L.; Atreya, A.; Cattle, B.; Momen, S.; Collins, B.; Downey, A.; Franken, G.; Glass, J.; Glass, Z.; Herbach, J.; Saxe, A.; Ashwash, I.; Baldassano, C.; Hu, W.; Javed, U.; Mayer, J.; Benjamin, D.; Gorman, L., e Yu, D. (2007). DARPA Urban Challenge Princeton University Technical Paper. DARPA Urban Challange 2007. Ku, C.-H. e Tsai, W.-H. (2001). Obstacle Avoidance in Person Following for Vision-Based Autonomous Land Vehicle Guidance Using Vehicle Location Estimation and Quadratic Pattern Classier. IEEE Transactions on Industrial Electronics, 10(1).

Lowe, D. G. (2006). Speeded-Up Robust Features (SURF). European Conference on Computer Vision. Montemer, M.; Becker, J.; Bhat, S.; Dahlkamp, H.; Dolgov, D.; Ettinger, S.; Haehnel, D.; Hilden, T.; Hoffmann, G.; Huhnke, B.; Johnston, D.; Klumpp, S.; Langer, D.; Levandowski, A.; Levinson, J.; Marcil, J., e Orenstein, D. (2007). Junior: The Stanford Entry in the Urban Challenge. DARPA Urban Challange 2007. Moore, G. E. (1965). Cramming more components onto integrated circuits. Electronics Magazine, 38(8). Ng, A. (2008). Advice for applying Machine Learning. Stanford University, http://cs229.stanford.edu/materials/ML-advice.pdf, acesso em 11/11. Otsu, N. (1979). A Threshold Selection Method from Gray-Level Histograms. IEEE Transactions on Systems, Man, and Cybernetics, 9(1). Reinholtz, C.; Alberi, T.; Anderson, D.; Bacha, A.; Bauman, C.; Cacciola, S.; Currier, P.; Dalton, A.; Farmer, J.; Faruque, R.; Fleming, M.; Frash, S.; Gothing, G.; Hurdus, J.; Kimmel, S.; Sharkey, C.; Taylor, A.; Terwelp, C.; Covern, D. V.; Webster, M., e Wicks, A. (2007). DARPA Urban Challenge Technical Paper. DARPA Urban Challange 2007. Russ, J. C. (1998). The image processing handbook. Viola, P. e Jones, M. (2004). Rapid Object Detection Using a Boosted Cascade of Simple Features. Computer Vision and Pattern Recognition.

Vous aimerez peut-être aussi