Conceito: Evitando acidentes com visão computacional

Neste documento, veremos conceitos computacionais sobre como utilizar recursos de visão computacional para detectar pedestres, ciclistas e animais. Câmeras com tal recurso adaptado em veículos poderiam evitar muitos acidentes. Sendo assim, deixo neste artigo todo o conceito computacional.

[ Hits: 19.823 ]

Por: Alessandro de Oliveira Faria (A.K.A. CABELO) em 04/08/2014 | Blog: http://assuntonerd.com.br


Introdução: Visão computacional




Visão computacional é uma divisão da computação que trabalha com o conceitos das máquinas que enxergam. Esta tecnologia é geralmente aplicada em robôs industriais, veículos autônomos, câmeras inteligentes, biometria e outros sistemas computacionais.

Trabalhos relacionados à visão computacional, têm ainda um longo caminho evolutivo, pois somente após o final da década de 70 que se iniciaram estudos aprofundados. Entretanto, a evolução do hardware e os seus respectivos recursos, vem ajudando muito ao progresso deste segmento.

A visão computacional é um problema mal posto, como também não existe uma formulação padrão para a resolução do mesmo, todos os métodos são baseados em aprendizagem e está cada vez mais comum no mercado de tecnologia.

O reconhecimento de padrões e a aprendizagem de máquina é um processo que consiste em determinar se uma imagem contém ou não um objeto. As principais lógicas de processamento estão classificadas geralmente em:
  • Aquisição da imagem: geralmente a imagem é obtida através de um dispositivo de vídeo captura, câmeras digitais, celulares, smartphones e outros.
  • Pré-processamento: geralmente, é necessário processar a imagem para garantir as condições mínimas. Por exemplo, redução de ruídos, balanceamento de brilho e contraste.
  • Extração da características: características matemáticas em diversos níveis de dificuldades são extraídas. Como exemplo, o processo de detecção de borda, cantos, morfologia matemática e muitos outros.
  • Segmentação: a seleção de regiões de interesse e/ou segmentação são incluídas nas áreas que contém o objeto.
  • Processamento: um conjunto de dados é processado e verificado a satisfação e conformidades matemáticas.

O princípio computacional do título deste artigo, baseia-se com os devidos treinos computacionais (o qual não é o objetivo deste documento), podemos detectar animais, humanos, partes do corpo e objetos. Então, se identificados os itens mencionados, podemos estimar a ação do indivíduo e/ou animal e objeto.
Linux: Conceito: Evitando acidentes com visão computacional   Linux: Conceito: Evitando acidentes com visão computacional   Linux: Conceito: Evitando acidentes com visão computacional   Linux: Conceito: Evitando acidentes com visão computacional

Após detectar as partes do corpo, calculamos os vetores para simplificar o trabalho do algoritmo de detecção de esqueleto. Sendo assim, facilmente identificamos, por exemplo, pedestres, ciclistas, cavalos e outros prováveis obstáculos possivelmente diante do veículo.

Com todas estas informações, as ações como pular, falar ao celular, tocar um instrumento, ler, cavalgar, correr, tirar foto, usar um computador e outros, tornaram-se uma tarefa tangível.

E a performance? Em 2011 utilizei a biblioteca OpenCV compilada com as chamadas do SDK NVIDIA. Ou seja, utilizei a GPU para obter o máximo desempenho na localização de padrões. No caso do vídeo demonstrativo a seguir uma face.

Atualmente, com a abertura do código Tegra para GNU/Linux, podemos em hardwares embarcados, utilizar todo o poder do hardware junto à biblioteca OpenCV e outros recursos/bibliotecas de visão computacional.


    Próxima página

Páginas do artigo
   1. Introdução: Visão computacional
   2. Mão na massa
Outros artigos deste autor

Como fazer um servidor de rádio virtual

MainActor: Edição de vídeo profissional (Adobe Premiere) em Linux

STEPMANIA: Transforme seu PC com GNU/LINUX em uma máquina Dance Dance Revolution

Criando um invejável serviço de backup em CD-R com gravação multi-sessão

SANE: Compartilhe seu scanner na rede

Leitura recomendada

WebTorrent - Interface WEB + cliente torrent

openSUSE - As várias formas de atualizá-lo e de instalar pacotes

Grace - Alterando e gerando gráficos usando "fitting"

Máquinas virtuais

Snort - Gerenciamento de redes

  
Comentários
[1] Comentário enviado por Ed_slacker em 04/08/2014 - 09:56h

Cabelo, só uma curiosidade. Acredito que o proposto neste artigo é o mesmo princípio aplicado em alguns veículos da Volvo, que detectam obstáculos como os mencionados e executa frenagem no veículo sem intervenção humana, desde que o mesmo veículo esteja em uma velocidade de até 30km/h. Seria a mesma aplicação?
Grande abraço.

[2] Comentário enviado por cabelo em 04/08/2014 - 13:06h

Levando em consideração tecnologia como tegra 3 ou superior e o processamento acima de 30 quadros por segundos (no video do artigo chegamos a mais de 100). Podemos gerar alertas sonoros como também tomar alguma outra ação. Ressalto que o texto é conceitual e podemos aplicar em diversos outros segmentos. Como por exemplo o próprio semáforo inteligente.

[3] Comentário enviado por COBY em 05/08/2014 - 13:31h

Olá me chamo Franklin, comecei a usar o Zorin OS 09 a 3 dias.
Ainda estou tentando entender muitas coisas.
Li este artigo e não entendi muito bem o objetivo dele, seria que toda vez ao selecionar uma imagem ou um video ele detectar os objetos e animais?

Gostaria que se possível me recomendasse algumas etapas para melhor entender ou me adaptar ao linux. Me mudei para esse OS pela ideia de liberdade, mas ando com algumas problemas.

[4] Comentário enviado por danniel-lara em 06/08/2014 - 11:25h

parabéns muito bom
esse artigo me lembra muito bem o Seriado Person of Interest

[5] Comentário enviado por murilo_ns em 06/08/2014 - 18:14h

Muito bom!
Você teria algum how to para o reconhecimento de texto em placas de carros?

[6] Comentário enviado por rodrigocontrib em 07/08/2014 - 20:28h


[5] Comentário enviado por murilo_ns em 06/08/2014 - 18:14h:

Muito bom!
Você teria algum how to para o reconhecimento de texto em placas de carros?


Ta ai uma boa ideia, o reconhecimento de placas de carro seriam um otimo projeto para o reconhecimento de placas frias, se bater com outros dados Marca/Modelo do veículo.

[7] Comentário enviado por romulogcerqueira em 11/08/2014 - 18:00h

Oi Cabelo, muito obrigado por contribuir com mais um tutorial. Entretanto, eu não consegui encontrar o arquivo "cavalo_v6.mat" no diretório especificado. Está faltando alguma informação no artigo?

Abraços


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts