Escolar Documentos
Profissional Documentos
Cultura Documentos
Artigo - Carro Autônomo
Artigo - Carro Autônomo
LAZARO Marcos A¹
BARBOZA Thaislane F²
RAFALSKI Jadson P³
CAMPOS Rafael M4
Aluno do 10º período do curso de Graduação de Engenharia Elétrica com Habilitação em Telecomunicações da Faculdade Novo Milênio, Vila-
Velha, ES, Brasil. Técnico em Automação Industrial pela CEDETEC, Cariacica, ES, Brasil.
2
Aluna do 10º período do curso de Graduação de Engenharia Elétrica com habilitação em Telecomunicações da Faculdade Novo Milênio, Vila-
Velha, ES, Brasil.
3
Bacharel em Sistemas de Informação pela Faculdade Salesiana; Pós Graduação em Computação pela Universidade Federal do Espírito Santo;
Professor da Faculdade Novo Milênio.
4
Cientista da Computação pela Faculdade Vitoriana de Ensino Superior; Especialista em Engenharia de Controle e Instrumentação pela UCL;
Professor da Faculdade Novo Milênio. E-mail: rmofati@gmail.com.
RESUMO
Introdução. A visão computacional como aumento da tecnologia no meio veicular promove uma facilidade na direção e
detecção de objetos e faixas, proporcionando ao motorista melhor desempenho, segurança e confiabilidade ao dirigir. O
avanço dessa tecnologia vem atraindo diversos estudos na área de robótica devido à visão computacional nos atribuir funções
em tempo real através de imagens, com uso de softwares e desenvolvimento de algoritmos. Objetivo. Desenvolver um sistema
avançado de assistência ao condutor veicular utilizando visão computacional. Método. Foram analisadas imagens de vídeo
extraídas da internet para utilização de ambientes simulados, que serão simuladas através do software Matlab. Não
considerando a detecção de placas de sinalização de trânsito e de limites de velocidade das vias. O uso das imagens
proporcionou a detecção de faixas, realizando através do Matlab o processamento das imagens e executando os algoritmos
que foram desenvolvidos para detecção do posicionamento do veículo e das faixas contínuas e tracejadas nas vias.
Resultado. Através de adaptações, foi possível identificar, medir distâncias e detectar mudanças de faixas através do
algoritmo. Durante as simulações, foram notados erros de detecção devido à presença de faixas de pedestres ou carros de
terceiros no percurso, obstruído assim a visibilidade das faixas de rolagem da pista. Conclusão. O algoritmo proporcionou uma
função para um automóvel que trabalhe de maneira autônoma. Utilizando imagens de vídeo e aplicando técnicas de
processamento de imagens, foi possível identificar as faixas de rolagem da pista. O sistema de visão computacional trabalhado
foi satisfatório, gerando resultados com alguns erros que podem ser aprimorados através de novas propostas.
Palavras-chave: visão computacional; controle autônomo; faixas de trânsito.
Área de Interesse: Veículos autônomos.
INTRODUÇÃO1
O avanço da tecnologia com uso da robótica tem atraído nesses últimos anos um
público diferenciado. Assim como empresas, pesquisadores de grandes
universidades, investidores e consumidores em geral, que buscam por tecnologias e
ferramentas de eficácia, eficiência e segurança em robôs e máquinas que trabalhem
de maneira autônoma ou com pouca intervenção humana, o investimento para
diversos setores se tornou de grande interesse para tais.[1]
Segundo Couto[1], a robótica é uma ciência parcialmente atual, que têm acelerado
seu crescimento e conhecimento.
O sistema embarcado e de robótica, com propósitos específicos, pode ser
considerado como um sistema computacional, funcionando em modo autônomo.
Uma das exigências de sistemas embarcados é de que tenham execução em tempo
real, principalmente ao envolver veículos considerados inteligentes devido às
funções autônomas ou semiautônomas. [2]
Um robô móvel precisa ter um sistema que o permita se locomover em função do
entorno da aplicação. Apesar de diversos robôs terem finalidade industrial, os
veículos autônomos têm conquistado grande espaço nas pesquisas científicas. Sua
autonomia é determinada pela sua capacidade em perceber o ambiente a se
locomover mediante sensores sonares, câmeras de vídeo, GPS e outras formas.[3]
A história dos carros autônomos iniciou-se em 1977 no Japão, onde foi construído
um carro em que seguia as marcas brancas na pista, podendo alcançar até 30 Km/h.
Logo, na década de 90, diversas universidades americanas desenvolveram
pesquisas nessa área em que envolve veículos autônomos.[4]
São desenvolvidas pesquisas em laboratórios, como por exemplo, no Laboratório de
Sistemas de Computação e Robótica (CORO), nas áreas de robótica, visão
computacional, processamento de imagens digitais, sistemas integrados de
hardware e software, instrumentação e controle por computadores.[5]
Os estudos de veículos autônomos são realizados desde 1970, mostrando a
possibilidade de uma tecnologia para o mercado que pode funcionar como uma
segurança no trânsito poupando vidas, poupando também o ambiente com a
redução da emissão de carbono para atmosfera e também trazendo maior
conformidade aos usuários dos veículos autônomos.[6]
Com o crescimento da tecnologia de carros autônomos, hoje tem sido já fabricados
carros de luxo que são parcialmente autônomos. Exemplo de função autônoma é o
assistente de estacionamento e a frenagem automática, que estão na faixa de valor
de R$100 mil no Brasil.[7]
No mercado já foram vendidos carros que dirigem autonomamente em alguns
trechos em velocidade baixa e possuindo sistema de navegação com leitura de
sinalização. Possuindo sensores a laser e câmeras para monitoramento em tempo
real, o sistema funciona quando as faixas na pista se encontram visíveis.[8]
Segundo Fussy[8] a Volvo teve expectativas de vendas de 400 unidades em apenas
2015. Em julho de 2015 11 unidades foram entregues para clientes que compraram
pela internet.
Fussy e Oliveira[7] afirmam que marcas como a Honda, Toyota, BMW e Nissan têm
expectativas de carros autônomos para serem lançados nas lojas até 2020.
Contanto, esses veículos autônomos devem ter relevância nas grandes cidades por
volta de 2026, sendo o total vendido em média de 4% no mundo e podendo ter um
avanço de 75% até 2035.
No cenário de um aumento significativo de veículos no trânsito, surge a necessidade
de sistemas como o de visão computacional para auxílio dos condutores dos
veículos. Devido ao aumento dos problemas de difíceis soluções, o investimento em
engenharia para segurança, rapidez e eficiência no trânsito tem aumentado.[9]
A segurança para motoristas e também para pedestres se torna mais eficaz com uso
de veículos que possuem sistema embarcado e/ou autônomo. O método de
segmentação de imagens coletadas pela câmera monocular e de imagens como
fundo verdade, com a implementação de algoritmos usando o Software Matlab, é um
estudo que traz uma possibilidade econômica do sistema embarcado para definir a
área navegável exibindo eficácia ao detectar ruas.[10]
Através da automatização e com a utilização de técnicas que envolvem visão
computacional, é possível detectar e avaliar a posição métrica de objetos em cena
ou até de pessoas, possibilitando assim a geração automática de eventos em
diferentes cenários, informando também a trajetória e a velocidade.[11]
Segundo Stivanello et al[11], após imagens serem capturadas e passarem pelas
técnicas de segmentação, com agrupamento dos pontos presentes os objetos são
isolados podendo ser observados. Envolvendo programação, os algoritmos podem
ser executados para que seja possível testes verificando a eficiência no sistema de
monitoramento de ambientes inteligentes com uso de visão computacional.
O sistema desenvolvido através do uso de visão computacional é capaz de gerar
informações de localização com qualidade de modo que se mantenha um veículo
autônomo com a velocidade constante em trechos lineares da via de teste e outra
determinada velocidade constante, porém mais baixa do que quando seguindo em
linearidade, para vias com trechos que possuam mais curvaturas. Podendo usar
novas abordagens de controle de velocidade junto com uso de visão computacional
para melhoria nesse tipo de estudo que envolva veículos autônomos.[12]
Através da visão é possível capturar cor, formas, sombra e profundidade de objetos.
O uso desse sentido em máquinas para automação industrial visa que a realização
de funções ocorra naturalmente.[13]
A concepção é de que o caminho percorrido pelo veículo seja detectado, tendo
controle nas mudanças de faixas em tempo real. O controle do veículo a partir de
resultados obtidos nas imagens de vídeo extraídas da internet, coletadas através de
uma câmera, possibilitará que o veículo funcione de maneira melhor,
proporcionando ao motorista maior confiabilidade ao dirigir contando que o sistema
autônomo vai detectar as vias trafegadas podendo reagir a situações em que o
algoritmo detecte algum tipo de perigo.
O principal objetivo deste estudo é desenvolver um sistema avançado de assistência
ao condutor veicular utilizando visão computacional.
MATERIAIS E MÉTODOS
As imagens usadas foram capturadas por uma terceira pessoa, que disponibilizou as
imagens via endereço eletrônico. Não sendo dispensável nesse processo, a
calibração da câmera. A calibração é premissa necessária no processamento de
imagens, para extração de informações métricas do ambiente. Assim como a
distância focal, o ponto principal, o tamanho da imagem e dentre outros fatores que
foram importantes na configuração de parâmetros internos do algoritmo.[17]
Foram utilizadas informações métricas 2D, ao invés de 3D ou puramente implícita.
Sendo a proposta entre a calibração fotogramétrica e a auto calibração (self-
calibration).
O modelo da câmera pinhole é baseado no princípio da colinearidade, em que cada
ponto no espaço do objeto é projetado por uma linha direta através do centro de
projeção no plano da imagem.[18]
O algoritmo de Calibração assumiu o modelo matemático de câmera pinhole.
Zhang[17] desenvolveu uma equação que relaciona um ponto 3D a sua projeção de
imagem 2D como:
fx 0 0
( s fy 0) (2)
cx cy 1
Equação 2. Matriz de parâmetro intrínseca da câmera
fx = F*Sx, expresso em pixels;
fy = F*Sy, expresso em pixels;
[cx, cy] = centro ótico ou o ponto principal, em pixel;
F = distância focal do sistema 3D (espaço objeto), geralmente
expressa em milímetros;
[Sx, Sy] = números de pixels no sistema 3D (espaço objeto)
na direção x e y respectivamente.
Processo de calibração
Transformação projetiva
Logo,
(h1 h2 h3) = λ ∗ K [r1 r2 t] (9)
Equação 9. Homografia entre plano e imagem
h1 = elemento da matriz H;
h2 = elemento da matriz H;
h3 = elemento da matriz H;
λ = escala arbitrária;
K = matriz de parâmetro intrínseca da câmera;
r1 = elemento da matriz de rotação Rx, Ry ou Rz;
r2 = elemento da matriz de rotação Rx, Ry ouRz;
t = coordenada de translação.
A partir dos dados da matriz homográfica, foi possível gerar uma visão 2D de cima
da rodovia para melhor segmentação das faixas de rolagem.
Esse método de segmentação e detecção de faixas envolve um maior custo
computacional, porém se tem mais vantagem em sua percepção de espessura e
outras faixas paralelas na via. À medida que a distância aumenta a imagem fica
mais embaçada devido à perda de resolução e limitação da câmera.
Esse método é também conhecido como IPM (Inverse Perspective Mapping),
consiste na modificação do ângulo de visão sob o qual uma cena é adquirida para
remover o efeito de perspectiva. Essa transformação, na prática, define os ângulos
de rotação e inclinação para os valores normais no plano n. Logo, têm-se o eixo
focal Zv da ‘’câmera virtual’’ Cv oposto ao plano n.Zv=-1, como demonstrado na
figura 5.[24]
Transformação IPM
Método de segmentação
p(Zxy|Xi) P(Xi)
P(Xi|Zxy) = (10)
P(Zxy)
V1 = (x y 1 0 0 0 − xx ′ − yx ′ − x′) (13)
Equação 13. Restrições de correspondências
V1 = restrição de parâmetros;
X e y = elementos da matriz fundamental e outliers.
V2 = (0 0 0 x y 1 − xy ′ − yy ′ − y′) (14)
Equação 14. Restrições de correspondências
V2 = restrição de parâmetros;
X e y = elementos da matriz fundamental e outliers.
γ = 1 − (1 − (1 − ϵ)p )m (15)
Equação 15. Probabilidadeγ
ϵ = fração de dados contaminados (outliers);
p = quantidade de características em cada amostra;
m = número de amostras.
C = ∑i p (e2i ) (16)
Equação 16. Função de custo
e= erro de número de correspondências iniciais;
𝑝 = erro robusto.
Onde,
p(e2 ) = {
0 e2 < T 2 (17)
constante e2 ≥ T 2
Equação 17. Elemento da função de custo
T=Filtro ou estimativa para os inliers.
C2 = ∑i p2 (e2i ) (18)
Equação 18. Função de custo minimizada
C2 = valor da função minimizada;
𝑝2 = erro robusto;
e = erro de número de correspondências iniciais.
Onde,
2 2 2
p2 (e2 ) = { e2 e2 < T 2 (19)
T e ≥T
Equação 19. Elemento da função de custo
𝑝2 = erro robusto;
e = erro de número de correspondências iniciais;
T = filtro ou estimativa para os inliers.
Os outliers ainda recebem uma penalidade fixa, porém os índices são mais
pontuados na amostra. O T 2 = 1,96σ é definido para que os inliers gaussianos sejam
rejeitos erroneamente apenas 5% do tempo.
Esse novo método é chamado como MSAC (M-estimator sample consensus). Um
aperfeiçoamento no método RANSAC, sem carga computacional adicional, o MSAC
é utilizado para a proposta deste artigo.
Torr e Zisserman[30] descrevemβ como um parâmetro de mistura -L usando a
Maximização de Expectativa (ME), inserindo um conjunto de indicadores: ni , i =
1 … n, onde ni = 1 se a primeira correspondência for um inliers e ni = 0 se a primeira
correspondência for um outliers.
O método segue etapas tratando o ni como um dado ausente, segue os processos
de: (1) Ser feita uma suposição para β; (2) Estimar uma expectativa de ni da
suposição atual de β; (3) Realizar uma nova estimativa de β da expectativa atual de
ni , assim retornando para etapa 2.
1
A estimativa inicial da etapa 1 e de β = para a etapa 2, é indicada pelo valor
2
esperado deni por zi . Logo, temos Pr(ni = 1|β) = zi , onde β pode ser estimado como:
Pi
Pr(ni = 1|β) = (20)
Pi + P0
1
p0 = (1 − β) = (23)
v
1
β= ∑i zi (24)
n
Figura 10: Pontos calculados pelo software de localização das faixas. Fonte:
Adaptado de Cunha[20].
𝐷𝑒𝑠𝑣𝑖𝑜 = 0,005
Equação 26. Desvio padrão
x = valor de cada amostra;
𝑛 = número de amostras.
RESULTADOS E DISCUSSÃO
O algoritmo proposto passou por testes com uso de dados reais, através de imagens
retiradas da internet. Desconsiderando distorções laterais da lente e a calibração da
câmera, foram analisados dados aproximados.
Através de adaptações, foi possível identificar, medir distâncias e detectar mudanças
de faixas através do algoritmo.
Na figura 11 é possível observar informações de HUD (do inglês Heads UP Display,
que quer dizer tela de alerta) extraídas da detecção das faixas.
Podendo assim verificar que o algoritmo proposto quando aplicado para detecção,
pode vir a otimizar as técnicas para uma melhor identificação das faixas. [34]
O maior problema encontrado no percurso foram os carros de terceiros em pista.
Na figura 14, o algoritmo não identifica a faixa da direita devido à total falta de
visibilidade da faixa. Neste caso em específico ocorre um erro de alerta falso de
‘’desvio para direita’’. Para este tipo de erro, a solução mais viável seria a criação de
uma rotina paralela para identificar objetos e obstáculos em pista, podendo assim
detectar carros próximos, cones, placas, etc.A partir das variáveis e da detecção das
faixas, seria possível um melhor controle do ambiente.
Erro de detecção por veículos terceiros
Figura 14: Aviso durante o teste de erro na detecção da faixa em que outro
veículo se encontra em cima. Fonte: Adaptado de Cunha[20].
Figura 15: Gráfico de erros que representa a porcentagem dos erros em relação à
quantidade de amostras coletadas. Fonte: LAZARO, MA; BARBOZA, TF. 2017.
CONCLUSÃO
[2] JUNG CR; OSORIO FS; KELBER CR; HEINEN FJ. Computação Embarcada:
projeto e implementação de veículos autônomos inteligentes. In: XXV Congresso da
Sociedade Brasileira de Computação. São Leopoldo, RS. Anais. p.1358-1406, 2005.
[3] HERNANDEZ RD; VITOR GB; FERREIRA JV; MEIRELLES PS. Proposta de uma
plataforma de testes para o desenvolvimento de veículos autônomos. In: XIX
Congresso Brasileiro de Automática - CBA. Campina Grande, PB. Anais. p. 2735-
2742, 2012. ISBN: 978-85-8001-069-5.
[9] GOMES SL; REBOUÇAS ES; REBOUÇAS FILHO PP. Reconhecimento ótico de
caracteres para reconhecimento das sinalizações verticais das vias de trânsito.
Revista SODEBRAS. v.9, n.101, p.1-4, mai. 2014. ISSN: 1809-3957.
[13] HOLANDA, GC; BESSA, JÁ; BESSA, R; MOTA, FAX; ROCHA NETO, AR;
ALEXANDRIA, AR. Sistema de determinação de coordenadas cartesianas baseado
em visão estéreo. In: Conexões - ciência e tecnologia. Anais. v.10, n.2, p.94-109,
2016.ISSN:2176-0144.
[17] ZHANG, Z. A flexible technique for camera calibration. In: IEEE Transactions on
Pattern Analysis and Machine Intelligence. Redmond, WA. Anais. p. 1330-1334,
2000. ISSN: 01628828.
[20] YOUTUBE. Teste da GoPro no teto do carro em João Pessoa [internet], João
pessoa, PB. [sn], 2014. Disponível em:
https://www.youtube.com/watch?v=nbJluXBNeVs. Acessado em: 29/06/2017.
[23] ALY M. Real time detection of lane markers in urban streets. In: IEEE Intelligent
Vehicles Symposium. Anais. [sp], 2008. ISSN: 1931-0587.
[26] BACKES, AR; SÁ JUNIOR, JJM. Tipos de imagens. In: BACKES, AR; SÁ
JUNIOR, JJM. Introdução à visão computacional usando MATLAB. 1 ed. Rio de
Janeiro: Alta Books. p.1-268, 2016.
[28] FISCHLER, MA; BOLLES, RC. Random sample consensus: a paradigm for
model fitting with applications to image analysis and automated cartography. Revista
Communications of the ACM. v.24, n.6, p. 381-395. New York, june. 1981. ISBN:
0-934613-33-8.
[29] SILVA, FA; PAIVA, MSV; ARTERO, AO; PITERI, MA. Evalution of keypoint
detectors and descriptors. In: IX WVC – Workshop de Visão Computacional. Campo
Grande, MS. Anais. [sp], 2013. ISSN: 2526-5997. Disponível em:
http://iris.sel.eesc.usp.br/wvc/Anais_WVC2013/Poster/1/18.pdf. Acessado em: 08 de
setembro de 2017.
[30] TORR, PHS; ZISSERMAN, A.MLESAC: A new robust estimator with application
to estimating image geometry. Revista Computer vision and image
understanding. v. 78, n.1, p. 138-156. Oxford, Reino Unido, 2000. ISSN: 10773142.
[35] NUNES RF; HERNANDES AC; BECKER M. Detecção de faixas com câmera
monocular e otimização através de algoritmo genérico. In: XIX Congresso Brasileiro
de Automática, CBA. Anais. p. 3534-3540. ISBN: 978-85-8001-069-5.