228 Shares 6235 views

visão por computador moderno. Tarefas e tecnologia de visão por computador. Programação Computer Vision em Python

Como ensinar um computador para entender o que é retratado na imagem ou imagens? Isso parece simples, mas para um computador isto é apenas uma matriz composta de zeros e uns partir do qual você deseja extrair informações importantes.

Qual é a visão de computador? É a capacidade de "ver" o seu computador

Vision – é uma importante fonte de informação para a pessoa a usá-lo, obtém-se, de acordo com várias estimativas, de 70 a 90% de todas as informações. E, claro, se quisermos criar um carro inteligente, precisamos implementar as mesmas habilidades e computador.

O problema da visão de computador pode ser indicado claramente. O que é "ver"? Entende-se que onde há apenas olhando. Que concluiu as diferenças de visão computacional e visão humana. Visão para nós – é uma fonte de conhecimento sobre o mundo, bem como uma fonte de informação métrica – ou seja, a capacidade de entender as distâncias e tamanhos.

imagem do kernel semântica

Olhando para a imagem, podemos descrevê-lo por uma série de atributos, por assim dizer, para extrair informações semânticas.

Por exemplo, olhar para esta foto, podemos dizer que é ao ar livre. Qual é o trânsito da cidade. Que existem carros. podemos supor que este é o Sudeste Asiático na configuração do edifício e hieróglifos. O retrato de Mao Zedong entender que este é Pequim, e se alguém viu o vídeo ao vivo ou mesmo tinha estado lá, diria que esta é a famosa Praça Tiananmen.

O que podemos dizer mais sobre a imagem, vê-lo? Podemos identificar objetos na imagem, quer dizer, que há pessoas aqui perto – cerca. Aqui guarda-chuvas, cartazes que do edifício. Estes são exemplos de classes é objetos muito importantes, que estão envolvidos em pesquisa para o momento.

Ainda podemos aprender algumas das características ou atributos de objetos. Por exemplo, aqui nós podemos determinar que este não é um retrato de um chinês comum, ou seja, Mao Zedong.

De acordo com o veículo pode ser determinado que ela é um objecto em movimento, e é difícil, que não se deforma durante o movimento. Sobre bandeiras pode-se dizer que os objetos, eles também estão se movendo, mas eles não são difíceis, constantemente deformada. E na cena há o vento, que pode ser determinado através do desenvolvimento de bandeiras, e pode até mesmo determinar a direção do vento, por exemplo, ele está soprando da esquerda para a direita.

As distâncias e comprimentos em visão por computador

Muito importante é a informação métrica sobre a ciência de visão computacional. Este é todos os tipos de distâncias. Por exemplo, para o rover é particularmente importante, porque as equipes são da Terra cerca de 20 minutos e responde tanto. Assim, a ligação de ida e volta – 40 minutos. E se fizermos um plano para comandos de movimento da terra, você precisa levar isso em conta.

Integrados com sucesso a tecnologia de visão por computador em jogos de vídeo. De acordo com o vídeo, você pode construir modelos tridimensionais de objetos, pessoas e fotos sobre o usuário pode restaurar os modelos tridimensionais de cidades. E depois caminhar sobre eles.

visão computacional – uma vez vasta gama. Ela está intimamente entrelaçada com várias outras ciências. Parte da visão de computador Ele captura área de processamento de imagem e, por vezes, aloca visão computacional, historicamente.

Análise, reconhecimento de padrões – o caminho para a criação de uma inteligência superior

Vamos examinar esses conceitos separadamente.

Processamento de Imagem – esta é uma área de algoritmos, em que a entrada e saída – imagem, e nós tê-lo fazer alguma coisa.

análise de imagem – é a área de visão computacional, que se concentra em trabalhar com a imagem bidimensional e tirar conclusões a partir deste.

Reconhecimento de Padrões – uma disciplina matemática abstrata que reconhece os dados na forma de vetores. Ou seja, na entrada – vector e temos algo a ver com isso. Onde o vetor é, não somos tão importante saber.

visão computacional – que originalmente era para restaurar a estrutura das imagens bidimensionais. Hoje, esta área tornou-se mais ampla e pode ser interpretado como a aceitação de todos os objetos físicos que fazem, com base na imagem. Ou seja, é a tarefa da inteligência artificial.

Em paralelo com a visão de computador em um campo completamente diferente, em geodésia, fotogrametria tem evoluído – uma medida da distância entre objetos em imagens bidimensionais.

Os robôs podem "ver"

E finalmente – esta é a visão de máquina. Sob a visão de máquina significa uma visão de robôs. Essa é a decisão de alguns problemas de produção. Podemos dizer que a visão computacional é uma grande ciência. Ele combina alguns por outro ciência. E quando a visão de computador recebe qualquer aplicação particular, ele se transforma em uma visão de máquina.

região visão de computador tem uma massa de aplicações práticas. Ela está associada com a automatização da produção. Nas empresas tornam-se mais eficiente para substituir o trabalho manual por máquinas. A máquina não se cansa, não dormir, não tinha horário de trabalho irregular, ela está disposta a trabalhar 365 dias por ano. Assim, usando a máquina trabalhar, podemos obter um resultado garantido em um determinado momento, e é muito interessante. Todas as tarefas têm um uso claro para sistemas de visão computacional. E não há nada melhor do que ver os resultados imediatamente na imagem apenas na fase de cálculo.

No limiar do mundo da inteligência artificial

Além disso, a área – é difícil! Uma parte significativa do cérebro responsável pela visão, e acredita-se que se você ensinar o seu computador para "ver", isto é, a visão completa o uso do computador, é um dos objectivos da inteligência artificial plena. Se pudermos resolver o problema no nível humano, muito provavelmente, ao mesmo tempo, vamos resolver o problema da AI. Isso é muito bom! Ou não é muito bom, se você olhar, "Terminator 2".

Por que é a visão – é difícil? Uma vez que a imagem do mesmo objecto pode variar muito, dependendo de factores externos. Dependendo do objeto de pontos de observação olhar diferente.

Por exemplo, uma e a mesma figura, tiradas de diferentes ângulos. E o que é mais interessante na figura pode ser um olho, dois olhos e meio. E, dependendo do contexto (se essa imagem de homem de camisa com os olhos pintados), o olho pode ter mais que dois.

O computador ainda não entende, mas ele "vê"

Outro fator que torna difícil – é a iluminação. A mesma cena com iluminação diferente será diferente. o tamanho do objecto podem variar. Além disso, os objectos de qualquer classe. Como você pode dizer sobre um homem que sua altura de 2 metros? Nada. de crescimento humana e pode ser de 2,3 m, e 80 cm. Tal como acontece com outros tipos de objectos, no entanto, são objectos da mesma classe.

objectos de vida particularmente submetidos a uma variedade de estirpes. Cabelo pessoas, atletas, animais. Olhar fotos de cavalos correndo, determinar o que está acontecendo com sua crina e cauda é simplesmente impossível. A objetos sobrepostos em uma imagem? Se você enfiar uma imagem de computador, mesmo a máquina mais poderosa encontrar dificuldade para dar a decisão certa.

Próximo view – é um disfarce. Alguns objetos, animais que aparece como o meio ambiente, e muito habilmente. E os mesmos pontos e coloração. No entanto, podemos vê-los, embora nem sempre de longe.

Outro problema – o movimento. Objectos em movimento inimaginável sofrer deformação.

Muitos dos objetos são muito variáveis. Aqui, por exemplo, nas duas fotos abaixo os objetos da "cadeira".

E sobre isso, você pode sentar-se. Mas para ensinar uma máquina, de modo que as coisas diferentes na forma, cor, material, tudo é uma "cadeira" objeto – é muito difícil. Este é o desafio. Para integrar métodos de visão computacional – é ensinar uma máquina para compreender, analisar, especular.

Integração de visão computacional em várias plataformas

A massa de visão computacional começou a penetrar mais em 2001, quando ele criou o primeiro detector de face. Fizemos isso dois autores: Viola, Jones. Foi o primeiro algoritmo bastante rápido e confiável, que demonstrou o poder de métodos de aprendizado de máquina.

Agora visão por computador têm novas aplicações práticas o suficiente – o reconhecimento da face humana.

Mas para reconhecer o homem como nos filmes – em ângulos aleatórios, diferentes condições de iluminação – é impossível. Mas para resolver o problema, ou um que é pessoas diferentes com iluminação diferente ou em uma pose diferente, similar como na fotografia no passaporte, é possível, com um alto grau de confiança.

um requisitos de passaporte de fotografias em grande parte devido à característica dos algoritmos de reconhecimento de face.

Por exemplo, se você tem um passaporte biométrico, em alguns aeroportos modernos, você pode usar o sistema de controle de passaporte automático.

problema não resolvido da visão de computador – a capacidade de reconhecer qualquer texto

Talvez alguém usou o sistema OCR. Um deles – este Fine Reader, é muito popular no sistema RuNet. Existem muitas formas em que você preencher os dados, eles são perfeitamente digitalizados, as informações são reconhecidas pelo sistema muito bem. Mas com qualquer texto na imagem a situação é muito pior. Este problema ainda permanece sem solução.

Jogos envolvendo visão de computador, captura de movimento

Separe grande área – é a criação de modelos tridimensionais e captura de movimento (que é implementado com sucesso em jogos de computador). O primeiro programa, que usa a visão de computador – um sistema de interação com o computador através de gestos. Quando foi criado, era um monte de coisas abertas.

O algoritmo é projetado muito simplesmente, mas para configurar que levou para criar um gerador de imagens sintéticas de pessoas para obter um milhão de fotografias. Supercomputador com eles para escolher os parâmetros do algoritmo, para o qual ele agora funciona bem.

Isso é um milhão de imagens e semana tempo supercomputador contável possível criar um algoritmo que consome 12% da capacidade de um processador e permite que uma pessoa a perceber a posição em tempo real. Este sistema Microsoft Kinect (2010).

Busca de imagens por conteúdo permite fazer upload de fotos para o sistema, e os resultados de que dará todas as imagens com o mesmo conteúdo e feita a partir do mesmo ângulo.

Exemplos de visão computacional: tridimensionais e mapas bidimensionais estão sendo feitos com ele. Maps para carros de navegação são regularmente atualizados de acordo com o DVR.

Há um banco de dados com milhares de milhões de fotografias georreferenciadas. Ao baixar a imagem no banco de dados, você pode determinar onde foi feito, e mesmo com alguma perspectiva. Claro, desde que o local é popular o suficiente para que de uma vez os turistas e fez uma série de fotos da área ter estado lá.

robôs estão em toda parte

Robótica no momento presente, em todos os lugares, sem que de qualquer forma. Agora, existem veículos que possuem câmeras especiais que reconhecem os pedestres e sinais de trânsito para transmitir comandos para o driver (isso de uma maneira um programa de computador para ver, ajuda o motorista). E há uma veículos robóticos totalmente automatizada, mas eles não podem depender exclusivamente do sistema de câmera de vídeo sem o uso de uma grande quantidade de informações adicionais.

Câmera moderna – esta é uma câmera obscura analógico

Vamos falar sobre a imagem digital. As câmeras digitais modernas são dispostas no princípio da câmara obscura. Apenas em vez do furo através do qual a luz entra no feixe e projectado sobre a parede de trás da câmara de circuito do sujeito, que tem um sistema óptico especial chamado o lente. Tem por objecto a recolher um grande feixe de luz e convertê-lo de modo que todos os raios passados através de um ponto virtual a fim de obter a projecção e formar uma imagem em película ou matriz.

As câmeras digitais modernas (matriz) é composto por elementos individuais – pixels. Cada pixel pode medir a energia da luz que incide sobre o total pixel, e emitir um número de saída. Portanto, em uma câmera digital, temos em vez das medições conjunto de luz brilho da imagem, capturados em um único pixel – o computador campo de visão. Portanto, quando a imagem que vemos não está fluindo linhas e contornos claros, e uma grade de quadrados coloridos em cores diferentes – pixels.

Abaixo você vê a primeira imagem digital do mundo.

Mas neste quadro não é? Cor. Qual é a cor?

percepção psicológica da cor

Cor – isso é o que vemos. A cor de um e a mesma coisa para os seres humanos e gatos será diferente. Desde que nós (seres humanos) e sistema óptico animais – a visão é diferente. Portanto, a cor – é qualidade psicológica da nossa visão que ocorre quando observar objetos e luz. E não uma propriedade física do objeto ea luz. Cor – é o resultado da interação de componentes leves, ea cena do nosso sistema visual.

Programação Computer Vision em Python usando bibliotecas

Se você decidiu empenhar-se seriamente no estudo da visão de computador, deve preparar imediatamente para uma série de dificuldades, esta ciência não é o mais fácil e esconde uma série de armadilhas. Mas "Programação Computer Vision no Python" da autoria de Jan Erik Solema – um livro que descreve toda a linguagem mais simples. Aqui você vai se familiarizar com os métodos de reconhecimento de vários objetos em 3D, aprender a trabalhar com a imagem estéreo, realidade virtual e muitas outras aplicações de visão computacional. No livro são exemplos suficientes em Python. Mas as explicações são apresentados, por assim dizer, generalizada, de modo a não sobrecarregar demais pesquisas e dados concretos. Trabalho adequado para estudantes, amadores e entusiastas. Baixar este livro e outros sobre a visão de computador (formato pdf) pode estar na rede.

No momento, existem biblioteca de código aberto de algoritmos de visão computacional e processamento de imagem e algoritmos numéricos OpenCV. Ele é implementado na maioria das linguagens de programação modernas, é open source. Se falamos de visão computacional, Python utiliza como linguagem de programação, ele também tem o apoio da biblioteca, além disso, está em constante evolução e tem uma grande comunidade.

A empresa "Microsoft" presta os seus serviços Api-capaz de treinar a rede neural para trabalhar com imagens de pessoas. Há também a oportunidade de aplicar a visão de computador, Python utiliza como linguagem de programação.