Microsoft explica o funcionamento do Kinect - Voxel
Microsoft explica o funcionamento do Kinect
Ok, você já deve ter lido milhares de linhas explicando como, afinal, uma singela câmera consegue reproduzir com (razoável) precisão os seus gestos na tela da sua TV. Entretanto, dessa vez a Microsoft foi um pouco mais fundo e resolveu explicar qual é a pedra angular do funcionamento do aparato. Afinal, como ele faz as escolhas que impedem que uma mão seja confundida com um pé... De outra pessoa?
A classe "probabilidade para leigos" foi ministrada através do blog oficial do Xbox pelos gerentes de programação Ron Forbes e Arjun Dayal:
"No mundo analógico, nem tudo é baseado em 'sim' e 'não', há também o 'talvez'. Não se trata apenas 'verdadeiro' e 'falso', mas sim de probabilidade. Pense rapidamente sobre todas as possíveis variações de um ser humano balançando as mãos: o alcance das proporções físicas do corpo, as variações globais das condições do ambiente, as diferenças nas propriedades das roupas, as nuances culturais embutidas em um simples gesto. Você acaba facilmente com um espaço de busca da ordem de 10^23, um problema irreal a ser solucionado pela programação condicional."
"Nós soubemos desde o início que deveríamos encontrar uma nova forma de abordar esse problema, uma que funcionasse de forma similar ao cérebro humano. Quando você encontra alguém no mundo físico, o seu cérebro instantaneamente se foca na pessoa e a reconhece com base em anos de treinamento prévio. Discernir entre um ser humano e outro não envolve uma decisão com centenas de ramificações. Você simplesmente sabe. Enquanto que um bebê teria dificuldades em diferenciar ambos, você aprendeu a fazer isso em uma fração de segundo."
"De fato, você possivelmente também seria capaz de supor a idade da pessoa, seu gênero, etnia, humor e mesmo a sua identidade (embora isso seja assunto para uma próxima postagem). Isso é parte daquilo que nos torna humanos."
"O Kinect foi concebido da mesma forma. Ele vê o mundo ao seu redor. Foca nele. E mesmo que ele jamais tenha visto antes a forma como você movimenta as suas mãos, ele instantaneamente vai comparar os seus movimentos com terabytes de informação que já foram apreendidas."
A dupla comparou ainda o funcionamento do Kinect ao daqueles brinquedos que retém as formas baseados em pinos de metal — você já deve ter visto algo similar por aí, é claro, além de explicar como o aparato consegue diferenciar os seres humanos de outros elementos do ambiente.
Segundo eles, "o Kinect ativamente rastreia os movimentos de dois jogadores humanos, enquanto reconhece passivamente o formato e a posição de quatro jogadores passivos de uma vez".
Há também uma discussão sobre o "interior do cérebro do Kinect". Segundo os programadores, "cada pixel da segmentação do jogador é jogado em uma máquina de aprendizado que foi treinada para reconhecer partes do corpo humano. Isso nos dá a probabilidade de a qual parte do corpo humano um dado pixel pertence.
"Por exemplo, um pixel pode ter 80% de chance de pertencer ao pé, 60% de chance de pertencer à perna e 40% de chance de pertencer ao tronco. Faria sentido assumir a maior probabilidade e jogar o resto, mas isso seria prematuro. Em vez disso, nós enviamos todas as possibilidades (...) para o frente e deixamos o julgamento para o final."
"Como um aparte, você pode querer saber como nós fazemos para que o cérebro reconheça as partes do corpo. Treinar essa inteligência artificial (chamada de sistema Exemplar) não é tarefa fácil: terabytes de dados são jogados são jogados na máquina para ensinar o Kinect, pixel por pixel, técnicas para a identificação de braços, pernas e outras partes do corpo."
Não que seja preciso saber tudo isso para se chacoalhar em frente a uma câmera. Mas sem dúvida a coisa toda ganha um novo... significado. Enfim.