Processamento de imagens na prática

Gestalt – porque somos melhores que as máquinas?

Em 2006, durante o mestrado, fui assistir a um evento em Montevideo chamado “vision by brains and machines“. Este foi um daqueles momentos em que a gente se apaixona pelo que faz. As palestras e trabalhos traziam novidades e achados de grupos e pessoas que trabalham para dois objetivos muito próximos:

  1. Entender o funcionamento da visão biológica e
  2. Fazer com que máquinas também sejam capazes de ver.

E aqui, a palavra ver não significa apenas captar imagens, e sim compreender e usar as informações contidas nas imagens captadas.

Quero falar hoje sobre o assunto de uma das palestras mais intrigantes: seu título foi “Computational gestalt, meaningful multisegments k-gons”, era sobre a aplicação de alguns conceitos de Gestalt na visão computacional. O palestrante era Gregory Randall.

Gestalt é um conceito da psicologia, que explica a habilidade que o nosso cérebro tem de entender o que vemos e até mesmo preencher os vazios nas imagens que enxergamos. É a forma como sabemos que há uma pessoa inteira, mesmo que metade dela esteja escondida por um muro ou pilar. Você já pensou sobre isso?

Por que ninguém tem dúvidas de que tem uma criança aqui?

Por que ninguém tem dúvidas de que tem uma criança aqui?

Crédito da imagem: woodleywonderworks.

A palavra Gestalt, em Alemão, significa forma, ou figura. A teoria reúne regras e princípios que provavelmente são seguidos por nós, de forma inconsciente, quando olhamos para algo e identificamos suas formas, mesmo que elas não estejam completamente visíveis. Estas regras fornecem pistas sobre como o cérebro humano funciona, de de como poderíamos reproduzir o nosso comportamento por máquinas e softwares. A Wikipédia de língua inglesa tem um bom artigo sobre a psicologia Gestalt.

Alguns exemplos

Podemos interpretar a mesma imagem de várias formas.

Podemos interpretar a mesma imagem de várias formas.

Um dos princípios básicos é o do agrupamento. Ele mostra como temos a tendência de agrupar as coisas. Ou porque são da mesma cor, ou porque estão próximas, ou porque uma linha parece a continuidade da outra, ou porque dois grupos parecem simétricos.

Também temos a tendência de corrigir ou completar as coisas, quando nos parecem incompletas como no famoso desenho dos três círculos incompletos em que nós insistimos em enxergar um triângulo.

O conceito da multiestabilidade trata de como uma mesma figura pode ter interpretações variadas. Esta nossa habilidade pode ser ilustrada pelo famoso desenho dos dois rostos que formam uma taça, e no cubo vazio.

ASCII art

ASCII art

Quem viveu antes do windows vai lembrar da Ascii Art! Aliás isto foi muito usado no Orkut, também… E nada mais é do que tirar vantagem do nosso vício em ver o que já conhecemos, mesmo que o objeto não esteja lá.

O desafio de ensinar as máquinas

Os exemplos que dei ilustram como nós, pessoas, interpretamos as coisas que vemos. Mas como ensinar as máquinas (software) a ver como nós? O grande desafio não passa apenas por ensinar como ver, mas também ensinar como ver o que não está lá! Como o rosto da primeira imagem deste post. Onde nós vemos um rosto, o que há são duas fatias de rosto.

O mesmo se a plica a tarefas aparentemente simples, como decidir o que é fundo e o que é objeto. Seres humanos tentem a interpretar o interior de linhas convexas como objetos e seu exterior com fundo, e dá certo na maioria das vezes. Mas esta regra não é fácil de ser descrita em código. E mais difícil ainda é reproduzir a nossa tolerância a pequenas interrupções nas linhas.

Os dois desenhos foram obtidos na Wikipédia, e estão em domínio público.

Outras Referências

Trackbacks/Pingbacks

           
  1. [...] a ser descritas algumas regras pelas quais provavelmente nos guiamos quando vemos (veja no post Gestalt: porque somos melhores que as máquinas?). O que você [...]

  2.        

Comente

Você pode usar estas tags e atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>