SIMPÓSIO INTERNACIONAL DE CIÊNCIAS INTEGRADAS DA UNAERP CAMPUS GUARUJÁ A inteligência artificial na evolução da tecnologia da visão computacional em proteção do meio ambiente Ludmila Santana de Mello Aluna do Curso de Análise de Sistemas Unaerp - Universidade de Ribeirão Preto - Campus Guarujá [email protected] Este simpósio tem o apoio da Fundação Fernando Eduardo Lee Resumo: A evolução da inteligência artificial nos estudos da ciência tecnológica da visão computacional Durante milhares de anos, procuramos entender como pensamos; como um mero punhado de matéria pode perceber, prever e manipular um mundo muito maior e complicado que ela própria. O campo da Inteligência Artificial, vai ainda mais além: ele tenta não apenas compreender, mas também construir entidades inteligentes. A visão é um dos mais poderosos e complicados sentidos que possuímos. Através da visão, obtemos posições e propriedades dos objetos, assim como suas relações entre si e o ambiente que os cerca. Já existe um envolvimento da visão computacional na preservação do meio ambiente onde cientistas planejam a construção de dezenas de robôs, provavelmente de três modelos distintos incluindo também a realização de estudos e experiências inovadoras em computação, sensoriamento remoto, bioquímica, nano e biotecnologia. Neste trabalho é apresentada uma interessante aproximação e experiência da construção de máquinas inteligentes, capazes de expandirem os sentidos através dos quais o computador pode comunicar-se com o mundo exterior . Palavras-chave: Inteligência artificial, visão computacional Seção 1 - Curso de Análise de Sistemas - Meio Ambiente. Apresentação: Oral 1. Introdução A Inteligência Artificial (IA) é uma das ciências mais recentes. A disciplina começou a se desenvolver logo após a Segunda Guerra Mundial, e o próprio nome foi cunhado em 1956. 1 Interpreta-se por visão computacional, uma imagem que pode ser definida como a transformação de um conjunto de dados digitais em uma estrutura de dados descrevendo a semântica deste conjunto de dados em um contexto qualquer. Esta é a área da ciência que se dedica a desenvolver teorias, métodos e técnicas voltados à extração automática de informações úteis contidas em imagens, que são capturadas através de sistemas computacionais, por dispositivos como imageadores, câmera de vídeo, scanner, que são capazes de interpretar imagens. O objetivo da área de Visão Computacional é a determinação de características dos objetos representados em uma imagem. Uma grande variedade de problemas é obtida conforme a natureza das imagens e as características a serem obtidas a partir delas. A utilização da visão de máquina amplia as aplicações em computadores, como por exemplo, navegação móvel por robô, tarefas complexas de manufatura, análise de imagens de satélites, processamento de imagens médicas e segurança organizacional. Atualmente, a Inteligência Artificial abrange uma enorme variedade de subcampos, desde áreas de uso geral, como aprendizado e percepção, até tarefas específicas como jogos de xadrez, demonstração de teoremas matemáticos e diagnósticos de doenças. A IA sistematiza e automatiza tarefas intelectuais e, portanto, é potencialmente relevante para qualquer esfera da atividade intelectual humana. Nesse sentido, ela é verdadeiramente um campo universal. Ao abordar o conceito de inteligência, veremos que é um conceito relativo à construção de estruturas cognitivas do ser humano, responsáveis pela formação da razão, característica peculiar frente aos demais animais. Como o ser humano é o único animal racional, diz-se que ele é o único ser inteligente. Há estudos que atribuem o conceito de inteligência a outros animais e vegetais. Mas, obviamente, não é um conceito comparável ao da inteligência humana. É, isso sim, um conceito relativo à análise em questão: esta inteligência irracional seria a capacidade de adaptação de um ser vivo às circunstâncias de seu meio. Desta forma, poderemos utilizar este conceito para a máquina, definindo, então, uma inteligência de máquina. O conceito de Inteligência Artificial abraça mais do que a inteligência de máquina. Pretende-se, com ela, capacitar o computador de um comportamento inteligente. Por comportamento inteligente devemos entender atividades que somente um ser humano seria capaz de efetuar. Dentro destas atividades podem ser citadas aquelas que envolvem tarefas de raciocínio (planejamento e estratégia) e percepção (reconhecimento de imagens, sons, etc.), entre outras. Esta inteligência seria a sua capacidade genética de instrumento de solução de problemas. Por capacidade genética entende-se todo o conhecimento embutido em nível de hardware, o que permite um determinado conjunto de estados possíveis de funcionamento através de programas. A inteligência de máquina seria, então, um tipo de inteligência construída pelo homem, portanto, uma inteligência artificial. 2. Sucesso da inteligência artificial Para Inteligência Artificial ter sucesso, precisamos de inteligência e de um artefato. O computador tem sido o artefato preferido. O computador ele2 trônico digital moderno foi criado independentemente e quase ao mesmo tempo por cientistas de três países que participavam da Segunda Guerra Mundial. O primeiro computador operacional foi a máquina eletromecânica de Heath Robinson, construída em 1940 pela equipe de Alan Turing com um único proposto: Decifrar mensagens alemãs. Em 1943, o mesmo grupo desenvolveu o Colossus, uma poderosa máquina de uso geral baseada em válvulas eletrônicas. O primeiro computador programável operacional foi o Z-3, criado por Konrad Zuse na Alemanha em 1941. Zuse também criou os números do ponto flutuante e a primeira linguagem de programação de alto nível, denominada plankalkül. O primeiro computador eletrônico, o ABC, foi montado por John Atanasoff e o seu aluno Clifford Berry entre 1940 e 1942 na Lowa State University, nos Estados Unidos. A pesquisa de Atanasoff recebeu pouco apoio ou reconhecimento; foi o ENIAC, desenvolvido como parte de um projeto militar secreto na University Of Pennsylvania por uma equipe que incluía John Mauchly e John Eckert, dois cientistas que provaram ser os percursores mais influentes dos computadores modernos. No meio século seguinte, cada geração de hardware de computador trouxe um aumento em velocidade e capacidade e uma redução no preço. O desempenho é duplicado a cada 18 meses aproximadamente, prevendo-se uma ou duas décadas de crescimento futuro a essa taxa. Depois disso, precisaremos da engenharia molecular ou de alguma outra tecnologia nova. É claro que existiam dispositivos de cálculo antes do Computador eletrônico. As primeiras máquinas automatizadas, datando do século XVII. A primeira máquina programável foi um Tear criado em 1805 por Joseph Marie Jacquard (1752 - 1834) que utilizada cartões perfurados para armazenar instruções relativas ao padrão a ser tecido. Na metade do século XIX, Charles Babbage (1792 - 1871) projetou duas máquinas, mas não concluiu nenhuma das duas. A “Máquina Diferencial”, se destinava a calcular tabelas matemáticas para projetos de Engenharia e Científicos. Ela foi finalmente construída e se mostrou funcional em 1991 no Science Museum em Londres (Swade, 1993). A “Máquina Analítica” de Babbage era bem mais ambiciosa, ela incluía, memória endereçável, programas armazenados e saltos condicionais, e foi o primeiro artefato capaz de executar computação universal. 3. Teste de Turing de forma humana O teste de Turing, proposto por Alan Turing (1950), foi projetado para fornecer uma definição operacional satisfatória de inteligência. Em vez de propor uma lista longa e talvez controversa de qualificações exigidas para inteligência, ele sugeriu um teste baseado na impossibilidade de distinguir entre entidades inegavelmente inteligentes – os seres humanos. O computador passará no teste se um interrogador humano, depois de propor algumas perguntas por escrito, não conseguir descobrir se as respostas escritas vêm de uma pessoa ou não. Alan Turing, em seu famoso ensaio “Computing Machinery and Intelligence” (Turing, 1950), sugeriu que, em vez de perguntar se máquinas podem pensar, devemos perguntar se máquinas podem passar por um teste de inteligência comportamental, que veio a ser chamado teste de Turing. O teste consiste em fazer um programa desenvolver uma conversação (via mensagens digitadas on-line) com um interrogador por 5 minutos. O interrogador deve então adivinhar se teve a conversação com um programa ou uma pes3 soa; o programa passa pelo teste se enganar o interrogador durante 30% do tempo. Turing conjeturou que, por volta do ano 2000, um computador com esse espaço de armazenamento de 109 unidades poderia ser programado suficientemente bem para passar no teste, mas ele estava errado. Algumas pessoas foram enganadas durante 5 minutos; por exemplo, o programa ELIZA e o chatbot da Internet chamado MGONZ enganaram seres humanos que não perceberam que poderiam estar conversando com um programa, e o programa ALICE enganou um juiz na competição Loebner Prize de 2001. No entanto, nenhum programa chegou perto do critério de 30% contra julgadores treinados, e o campo da IA como um todo dedicou pouca atenção aos testes de Turing. Primeiro, vejamos algumas terminologias: a asserção de que as máquinas talvez pudessem agir de maneira inteligente (ou, quem sabe, agir como se fossem inteligentes) é chamada de hipótese de IA fraca pelos filósofos, a asserção de que as máquinas que o fazem estão realmente pensando (em vez de simularem o pensamento) é chamada hipótese de IA forte. A maior parte dos pesquisadores de IA assume em princípio a hipótese de IA fraca, e não se preocupa com a IA forte – desde que seu programa funcione, esses pesquisadores não se importam se você o denomina simulação de inteligência ou inteligência real. Todos os pesquisadores de IA devem se preocupar com as implicações éticas de seu trabalho. 4. Ia fraca – as máquinas podem agir com inteligência? A IA, procurada dentro do culto do computacionalismo, não representa nem mesmo um fantasma de uma chance de produzir resultados duráveis. É hora de desviar os esforços dos pesquisadores de IA – e os consideráveis recursos disponibilizados em seu apoio – para outros campos que não a abordagem computacional. (Sayre, 1993). É claro que o fato de a IA ser impossível depende de como ela é definida. Em essência, a IA é a busca do melhor programa de agente em uma dada arquitetura. Com essa formulação, a IA é possível por definição: para qualquer arquitetura digital que consiste em K bite de espaço de armazenamento, existem exatamente 2k programas de agentes, e tudo o que temos a fazer para descobrir o melhor é enumerar e testar todos eles. Talvez isso não seja viável para um k grande, mas os filósofos lidam com o teórico, não com o prático. A definição de IA funciona bem para o problema de engenharia, que é encontrar um bom agente, dada uma arquitetura. Porém, os filósofos estão interessados no problema de comparar as duas arquiteturas - a humana e da máquina. Além disso, tradicionalmente eles formulam a questão de outra maneira, perguntando: “Máquinas podem pensar?” Infelizmente, essa pergunta está mal definida. Para entender por que, considere as questões a seguir: - Máquinas podem voar? - Máquinas podem nadar? A maioria das pessoas concorda que a resposta para a primeira pergunta é sim, aviões podem voar, mas que a resposta para a segunda pergunta é não, os barcos e os submarinos se movem pela água, mas não damos a esse movimento o nome de natação. Porém, nem as perguntas nem as respostas têm qualquer impacto sobre a vida profissional de engenheiros ae4 ronáuticos e navais ou sobre os usuários de seus produtos. As respostas têm bem pouca relação com o projeto ou com os recursos de aviões e submarinos, e estão muito mais relacionados às palavras que optamos por usar. Em português a palavra “nadar” tem o significado de “deslocar-se na água pela movimentação de partes do corpo” enquanto a palavra “voar” não apresenta nenhuma limitação desse tipo sobre os meios de locomoção. A possibilidade prática de “máquinas pensantes” tem estado conosco há apenas 50 anos ou algo assim, o que não representa um tempo suficientemente longo para que os falantes de português concordem em relação ao significado da palavra “pensar”. 5. Ia forte: as máquinas podem realmente pensar? Muitos filósofos afirmam que uma máquina que passasse pelo teste de Turing ainda não estaria realmente pensando, mas seria apenas uma simulação de pensamento. Mais uma vez, a objeção foi prevista por Turing. Ele cita uma conferência do professor Geoffrey Jefferson (1949): “Somente quando uma máquina conseguir escrever um soneto ou compor um concerto em conseqüência de ter pensado e sentido emoções, e não pela disposição aleatória de símbolos, poderíamos concordar que a máquina irá se equiparar ao cérebro – isto é, se ela não apenas escrever, mas souber que o escreveu.” Consciência é um argumento – a máquina tem de estar ciente de seus próprios estados mentais e suas ações. Embora a consciência seja um assunto importante, o ponto fundamental destacado se relaciona na verdade à fenomenologia, ou o estudo da experiência direta – a máquina precisa realmente sentir emoções. Outros se concentram na intencionalidade – ou seja, a questão de saber se as crenças, os desejos e outras representações da máquina são realmente “sobre” algo que existe no mundo real. Existem razões para explicar que máquinas podem de fato ser conscientes (ou ter fenomenologia, ou ter intenção). Em vez disso, ele sustenta que a questão está tão mal definida quanto a pergunta: “As máquinas podem pensar?” Além disso, por que devemos insistir em um padrão mais alto para as máquinas do que adotamos para os seres humanos? Afinal, na vida comum, nunca temos qualquer evidência direta sobre os estados mentais internos de outros humanos. Em 1948, a uréia artificial foi sintetizada pela primeira vez, por Frederick Wöhler. Isso foi importante, porque provou que a química orgânica e a química inorgânica podiam ser unificadas, uma questão que havia sido amplamente debatida. No entanto, no caso de mentes artificiais, não existe nenhuma convenção, e somos obrigados a nos basear em intuições. O filósofo John Searle (1980) tem uma forte intuição: “Ninguém supõe que uma simulação de computador de uma tempestade nos deixará molhados... então, por que alguém em seu juízo perfeito iria supor que uma simulação de computador de processos mentais realmente teria processos mentais?” 5 6. Característica marcante Uma das características mais marcantes da visão computacional é que ainda não existe um modelo genérico de percepção visual possível de ser aplicado na prática. Alguns exemplos de Visão Computacional: Análise automática de sêmen humano Medição do dimensional de peças Rastreio de alvos para detecção de intrusos Análise morfológica de células Reconhecimento de faces humanas Sintetização de faces humanas. 7. Áreas de aplicação A visão computacional, sob a forma de reconhecimento de padrões, está presente hoje nos mais diverso campos de atuação, manipulando simples ou complexas estruturas de dados, ou seja, simples ou complexos elementos de visão. Meteorologia: Previsão do tempo e mapeamento climático. Geologia: Procura de jazidas minerais e aproveitamento de solo. Agricultura: Previsão de safras e estudo de contaminação de pragas. Indústria: Inventário e projeção de recursos hídricos, pesca e salinas. Ecologia: Pesquisas sobre o equilíbrio ecológico no planeta. Demografia: Inventário e planejamento para controle do aumento demográfico, cidades. Militar: Espionagem, teleguiagem de mísseis, controle de tráfego aéreo e marítimos. Gráficos por computador: Previsão do Mercado de Capitais Transmissão de imagens: Biometria, segurança. Robótica: Automação de tarefas insalubres. Inspecção/reconhecimento de padrões (por ex.: detecção de defeitos nos chips de circuitos integrados) Visão remota (por ex.: em terrenos hostis) Interação homem-máquina (por ex.: através da gesticulação) Medicina Garantia de Qualidade Seleção e Classificação Controle de Processo Calibração Manipulação de Materiais Monitoração OCR e Leitura de Código de Barras Para a ciência cognitiva, a percepção tem sido fonte de intensas e sofisticadas pesquisas, num esforço de compreensão sem precedentes. Tratase, afinal, de saber como a mente humana transforma as informações dos sentidos em percepção consciente. Em especial, a percepção visual passou a ser o foco das atenções dos pesquisadores, pois todas as demais percepções sensoriais, podem de alguma forma ser subsumidas a imagens sugestivas. Muitas experiências parecem corroborar a tese de que a representação pictórica faz parte do pensamento e que este não seria meramente uma descrição verbal. 6 Os sistemas de visão que conhecemos hoje são capazes de construir descrições do ambiente que os envolve, processar e reconstruir imagens. A visão está muito ligada a idéia de percepção computacional e do fato de a máquina reconhecer o seu ambiente e comportar-se de acordo com este. Assim encontramos a percepção visual computacional relacionada com os movimentos dos agentes, com a sua coordenação motora, o controle dos seus movimentos e não podermos deixar de falar em robótica ao abordarmos esta nova concepção de visão ativa. A Visão Ativa (uma das vertentes da área de Visão Computacional) em aplicações de tempo real, é necessária em robótica. sistema de visão ativa deve ser simples, possuindo potência computacional/complexidade suficiente e necessária para que seja factível, eficiente e efetivo em aplicações que exijam processamento "on-line". Este modelo simples pode ser estendido a outras áreas com as mesmas características (o mesmo modelo foi aplicado em Animação por Computador). 8. Como interpretar imagens Utilizamos um conjunto de algoritmos específicos, que são responsáveis por realizar subtarefas bastante limitadas dentro do processo de interpretação de uma imagem. Esses algoritmos são divididos em grupos, como filtros de contraste, detectores de bordas de objetos, segmentadores de imagens em regiões, classificadores de texturas. Comumente resolvemos um problema encaixando um conjunto desses algoritmos um atrás do outro para chegarmos a um resultado que só funcionará para um conjunto de imagens com características muito específicas, deixando de funcionar para as demais. 9. Filtros de Kalman Imagine assistir a um pequeno pássaro voando entre a folhagem da selva densa ao entardecer: Você vislumbra flashes breves e intermitentes de movimento, faz todo o possível para adivinhar onde o pássaro está e onde ele aparecerá em seguida, para não perdê-lo de vista. Ou, ainda, imagine que você seja um operador de radar da Segunda Guerra Mundial que perscruta um blipe débil e errante que surge uma vez em cada 10 segundos na tela. Ou, então, indo um pouco mais longe, imagine que você seja kepler tentando reconstruir os movimentos dos planetas a partir de uma coleção de observações angulares altamente inexatas, tomadas a intervalos irregulares e medidos de forma imprecisa. Em todos esses casos, você está tentando avaliar o estado (posição e velocidade, por exemplo) de um sistema físico a partir de observações com ruídos ao longo do tempo. O problema pode ser formulado com inferência em um modelo de probabilidade temporal, onde um modelo de transição descreve a física do momento e o modelo de sensores descreve o processo de medida. Esta seção examina as representações e os algoritmos de inferências especiais que foram desenvolvidos para resolver estes tipos de problemas; este método denomina-se filtragem de Kalman, em homenagem a seu criador, Rudoff E. Kalman. O filtro de Kalman é o método mais amplamente usado para fusão sensorial em aplicações de robótica móvel. Este filtro é freqüentemente usado para combinar dados obtidos de diferentes sensores em uma estimativa 7 estatisticamente ótima. Se um sistema pode ser descrito através de uma modelo linear e as incertezas dos sensores e do sistema podem ser modelados como ruídos Gaussianos brancos, então o filtro de Kalman proverá uma estimativa estatisticamente ótima para os dados fundidos. Isto significa que, sob certas condições, o filtro de Kalman é capaz de encontrar a melhor estimativa baseada em correção de cada medida individual. Além da robótica já citadas, o filtro de Kalman é usado em uma ampla gama de aplicações na engenharia, dos radares à visão computacional. É um importante tópico dentro da Engenharia de Controle. 10. Inovação tecnológica implanta robôs na preservação do Meio Ambiente Trata-se de um Robô Ambiental Híbrido1 (AmazonBots) desenvolvido pelo Laboratório de Robótica de Tecnologia Submarina da Petrobras, que é um fruto de homenagem ao líder ecologista e seringueiro Chico Mendes assassinado em 1988. Sua missão é de detectar quaisquer anomalias ambientais, especialmente aquelas provocadas por vazamentos de gás ou óleo, mesmo que diminutos. Ao mesmo tempo, poderiam realizar missões científicas de vários tipos além de ser um defensor futurista da Amazônia visando que mesmo por ser uma máquina, não ocasionará agressões ao meio ambiente. Na realidade, ele se tornará o símbolo mais vistoso das atividades de exploração de gás e petróleo na região Norte, graças a um ambicioso projeto denominado Cognitus. Ney Robinson dos Reis, engenheiro do Laboratório de Robótica de Tecnologia Submarina da Petrobras diz que está em prática o protótipo que terá cerca de 2,5 metros e servirá também de veículo para o pesquisador chegar a áreas de difícil acesso na floresta. Ele ainda acrescenta que estas máquinas deverão ser equipamentos silenciosos, não-poluentes, deverão comunicar-se com bases na Amazônia e no Rio de Janeiro via satélite, mostrar resistência, facilidade de manutenção e capacidade de manobra para se locomover na água e na lama, num emaranhado de troncos, raízes e folhas. Ele roda na água, na terra, na lama, na areia e no pântano, além de passar pelo meio da vegetação. O robô ambiental híbrido tanto poderá ser tripulado como operado à distancia por controle remoto, a partir de uma espécie de laboratório flutuante, ou “caverna virtual”, equipados com câmeras de vídeo. Dali será possível visualizar imagens da floresta em terceira dimensão. A idéia é fazer com que o pesquisador sinta-se imerso em seu objeto de estudo e tenha uma visão mais precisa do que está acontecendo. 11. Conclusão Já se ouve falar dos computadores imitarem o cérebro humano. A construção de máquinas inteligentes fascina a humanidade desde tempos memoriais. Entretanto, apenas recentemente, com o surgimento do computador moderno (1945 a 1950), é que a inteligência artificial ganhou meios e massa crítica para se estabelecer como ciência integral, com problemáticas e metodologias próprias. 1 Animal ou vegetal procriado por duas espécies distintas; Qualidade de tudo o que resulta de elementos de natureza distinta. 8 A visão computacional procura oferecer de modo mais eficiente, uma vasta quantidade de informações ao sistema computacional para que este possa agir como esperado. O reconhecimento de padrões está engajado no campo da visão computacional com atuações e perspectivas importantíssimas para alcançar e realizar a "máquina inteligente". O uso da ciência ao meio ambiente, faz jus desde os fenômenos da natureza quanto à poluição ambiental prejudicada pelo Homem. Tratando-se da Amazônia os problemas também vêm em proporções colossais já que ali, florestas passam metade do ano inundadas. Assim, resolveram usar, para mapear o ambiente e planejar ações de emergência esta máquina de bastante eficiência. Hoje, ela já executa tarefas extras como, colher larvas de mosquitos, fotografar e enviar imagens dessas larvas, captar sons da floresta e do fundo do rio. Sugere-se, em conseqüência do desenvolvimento deste trabalho, a integração da inclusão social na implantação desta mais nova tecnologia com a própria Engenharia da Visão Computacional fazendo com que essa inovação seja totalmente incorporada ao desenvolvimento de novos descobrimentos para manter o nosso meio ambiente mais limpo e saudável. 12. Referências Bibliográficas GARDNER, H. A Nova Ciência da Mente; trad. Cláudia M. Caon. - São Paulo: Edusp, 1995. RUSSELL, Stuart, e NORVIG, Peter. Inteligência Artificial; trad. Vandenberg D. de Souza – Rio de Janeiro: Elsevier, 2004. Robert Haralick, Linda Shapiro: Computer and Robot Vision, Volume II, 1992. P. Maybeck. Stochastic Models, Estimation and Control, volume 2. Academic Press, 1982. <http://www.piatam.locaweb.com.br> acessado em 11/08/2007 <http://www.agenciaamazonia.com.br> acessado em 11/08/2007 9 1