Gibis, tokusatsus, cinema e cultura pop em geral
 
InícioInício  Blog  CalendárioCalendário  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Conectar-se  

Compartilhe | 
 

 Como funciona o Kinect???

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Mephisto
Aluno do P.S. 118
avatar

Mensagens : 213
Data de inscrição : 21/09/2010
Idade : 28

MensagemAssunto: Como funciona o Kinect???   Qua 29 Dez - 3:55



Em novembro a Microsoft lançará o Kinect, o novo acessório para o videogame Xbox 360. Com o Kinect, o jogador será capaz de controlar os jogos apenas com o próprio corpo, sem precisar de absolutamente mais nada. Do ponto de vista estritamente técnico o Kinect é o acessório mais revolucionário da história dos videogames, e provavelmente um dos produtos tecnológicos mais excitantes do ano.


Microsoft Kinect

Entretanto não se vê tanto entusiasmo por aí. Depois do sucesso estrondoso do Wii, jogar com o corpo títulos como boliche ou tênis já não é mais novidade. E, recentemente, a Sony lançou o Move, para o Playstation 3, que tecnicamente é um Wiimote levemente melhorado. Afinal, o que o Kinect tem de tão diferente ?

Procurando por aí não se encontra uma boa explicação. Aliás, eu não achei nenhuma explicação técnica correta de como o Kinect funciona. Pelo contrário: achei reportagens publicadas em veículos conceituados que estão totalmente erradas com relação ao funcionamento do Kinect! Não admira quase todo mundo achar que se trata de mais uma cópia do Wii, como o Playstation Move…

Assim, resolvi explicar, tintim por tintim, o que é o Kinect, porque ele é diferente de qualquer coisa que você já viu antes, e porque eu digo que “usar o Kinect só para videogame é a coisa mais boba que alguém poderia fazer”. Prepare-se porque o artigo é longo, mas vale a pena!

Wii e Move

O Wii e o Move funcionam de forma muito parecida. Você tem um emissor de luz infravermelha (no Wii, preso à TV; no Move, no controle do jogador) e uma câmera de vídeo tradicional. A câmera enxerga a luz infravermelha e com isso detecta onde o jogador está apontando o controle. Isso é feito de forma 2D, ou seja, o resultado final é você ter uma posição na tela, como se fosse um mouse. Usando acelerômetros dentro do controle você consegue perceber a inclinação dele, e assim você consegue - com uma precisão razoável - saber a posição em que o controle está, além de onde ele está apontando.

Essa tecnologia existe há muito anos; a própria Sony lançou algo parecido para o Playstation 2, o EyeToy, que também é o nome da câmera usada pelo Move no Playstation 3. No final dos anos 1980 a Nintendo lançou um acessório que funcionava basicamente da mesma forma e que populou os sonhos de uma geração inteira, a Power Glove, para o Nintendo 8-bits, mas que infelizmente não funcionava muito bem. O Wii é só a segunda tentativa da Nintendo nessa mesma idéia.



Nintendo Power Glove, o ancestral do Wiimote

Visão 3D tradicional

A visão 3D tradicional, que também existe há muitos anos e não funciona lá muito bem, imita a forma com que animais enxergam. Cada um dos nossos olhos vê uma imagem ligeiramente diferente (basta fechar alternadamente cada olho para perceber isso; é o que chamamos de paralaxe). O cérebro combina essas duas imagens e nos dá a percepção 3D. Se você entrega uma imagem ligeiramente diferente para cada olho você consegue essa mesma percepção 3D, e é isso que se fazem nos cinemas e TVs 3D, que voltaram à moda recentemente. Chamamos essa técnica de visão estereoscópica (áudio estéreo é o que manda som diferente para cada ouvido; imagem estéreo faz a mesma coisa, mas com os olhos).

No caso de visão, você usa duas câmeras para obter essas imagens diferentes, e um software calcula a posição 3D dos objetos baseada nas diferenças entre essas duas imagens. O problema é que dependendo da posição do objeto você precisa mudar o ângulo entre as duas câmeras, e o seu foco; e mesmo se você mantém isso fixo é bastante difícil obter um modelo 3D realmente bom.

Visão 3D do Kinect

Pássaros voam batendo as asas, mas isso não significa que essa seja a forma mais eficiente de fazer isso. A visão estéreo usa duas câmeras, imitando nossos dois olhos, mas assim como um avião voa mais longe, mais alto e mais rápido que qualquer pássaro é possível fazer visão 3D muito melhor de forma radicalmente diferente do que ocorre na natureza.

E é essa a abordagem do Kinect! O componente central dele é o que chamamos de câmera de tempo de vôo, ou time-of-flight (TOF) camera. Vou explicar com cuidado como ela funciona. Antes disso, e já que o assunto é inspiração na natureza, vamos falar de morcegos e golfinhos. Morcegos e golfinhos inspiraram o radar e o sonar. Funcionam baseado em eco: você emite um som (ou um pulso de rádio) e então mede o tempo que demora até o som bater no objeto e voltar. Como conhecemos a velocidade do som (ou da luz, no caso do radar) podemos calcular a que distância o objeto em que o som ou o pulso bateram está.

Imagine que você está numa sala totalmente escura, com uma câmera digital em um tripé. Quando você dispara o flash, a luz sai da câmera, viaja na velocidade da luz, e é refletida pelos objetos em frente a ela. A matriz de sensores (CCD) da câmera digital, que faz o papel do filme fotográfico de antigamente, detecta a luz que volta. Cada pixel na imagem que você obtém vem de um sensor nessa matriz, que indica quanta luz recebeu.

Agora imagine que há um cronômetro em cada sensor (lembrando que cada sensor corresponde a um pixel), que mede quanto tempo se passou entre o flash ser disparado e o “pixel” acender. Efetivamente cada cronômetro mede o tempo que a luz levou para sair do flash, refletir em algum objeto, e finalmente acertar o sensor. Fazendo a mesma conta usada no radar, você consegue descobrir a distância de cada pixel na imagem. Efetivamente cada sensor / pixel da câmera é um radar independente!

O problema, claro, é que estamos falando de luz. E, como sabemos, a velocidade da luz é altíssima, 300 mil kilômetros por segundo. Um radar aeronáutico mede quantos microssegundos um pulso de rádio leva para percorrer dezenas de quilômetros. Como seria possível medir com precisão o tempo que a luz leva para percorrer os poucos metros entre a câmera e a pessoa sendo filmada ? Essa conta é fácil de fazer: consideremos que a pessoa está a dois metros da câmera; a luz então tem que percorrer quatro metros no percurso de ida e volta. Na velocidade da luz, isso leva cerca de 13 nanossegundos. Esse é um período de tempo extremamente curto! Mas lembre-se que hoje temos computadores extremamente rápidos…

Os 2 GHz do seu computador significam que ele executa 2 bilhões de instruções em um segundo, ou seja, que uma instrução é executada a cada 60 nanossegundos. Como um cronômetro é muitíssimo mais simples que um processador, com a tecnologia de hoje é possível fazer um que tenha a precisão necessária.

E esse é o segredo do Kinect. O Kinect tem duas câmeras, o que faz muita gente desinformada achar que ele usa visão estereoscópica. Na verdade uma das câmeras é totalmente tradicional, colorida, como uma webcam qualquer. A outra é uma câmera TOF! O processo que descrevi acima, de acionar o flash e medir quanto tempo a luz leva para ir e voltar, é repetido 30 vezes por segundo. Você sequer vê o flash, e o sistema pode funcionar tanto no escuro quanto numa sala iluminada, porque é usada luz infravermelha. O flash pode ser acionado tão rapidamente porque na verdade ele é um pulso de laser infravermelho.

A imagem que essa segunda câmera fornece é em preto-e-branco; quanto menor o tempo medido pelos cronômetro do pixel mais branco ele aparece. Assim o vídeo da câmera TOF é um modelo 3D extremamente detalhado da imagem capturada - muito superior a qualquer coisa que você consegue usando visão estéreo comum. E isso é absolutamente surpreendente.



Modelo 3D gerado por uma câmera TOF

De onde veio ?

OK, a câmera de tempo de vôo do Kinect é uma “matriz de radares” e produz resultados espetaculares. Se é assim porque nunca ouvimos falar disso antes ?

Na verdade cientistas e pesquisadores da área de visão computacional conhecem as time of flight cameras desde 1998. O problema é que a tecnologia para construir cronômetros de precisão altíssima e fontes de luz que emitam pulsos extremamente curtos sempre foi caríssima.

A empresa suíça Mesa Imaging produz uma linha de câmeras TOF voltadas para pesquisa científica há vários anos, chamada SwissRanger. O melhor modelo é a SwissRanger SR4000, que custa US$ 9000 (isso mesmo que você leu, nove mil dólares). Ela tem uma resolução de 176×144 e opera entre 30 e 50 frames por segundo.

O câmera TOF do Kinect tem uma resolução de 320×240, muito superior à da SR4000, e entrega 30 frames por segundo, constantes. E custa US$ 150… Como a Microsoft consegue vender um produto superior por um preço sessenta vezes mais barato ? E quem desenvolveu essa tecnologia tão avançada ?

Tudo começou quando uma pequena empresa israelense,a 3DV Systems. Ela desenvolvia câmeras TOF desde 2000, e em 2007 anunciou o lançamento de uma câmera TOF de baixíssimo custo, a ZCam. Ela chegou a demonstrar em público a ZCam sendo usada num jogo de boxe, para controlar um avatar no mundo virtual Second Life, e para controlar o Windows Media Center. E então, do nada, a 3DV Systems sumiu do mapa.

Alguns meses depois a Microsoft anunciou que tinha comprado a 3DV Systems, e que a tecnologia da ZCam seria usada em um novo acessório para videogame, no então chamado “Project Natal” (o nome-código Natal foi dado em homenagem à cidade brasileira pelo coordenador do projeto, o brasileiro Alex Kipman).

Bom, isso explica a origem da tecnologia. E o preço baixíssimo ? É preciso lembrar que a SwissRanger é uma câmera usada praticamente apenas por pesquisadores. Há centenas, talvez milhares de laboratórios de visõa computacional mundo afora que possuem uma câmera TOF. Eu conversei um bom tempo a respeito com o Dr. Mário Campos, professor de robótica e visão computacional da UFMG e de quem fui aluno, e ele comentou que a SwissRanger é realmente impressionante mas o preço, proibitivo.

Mas a Microsoft pretende vender milhões de unidades do Kinect nos primeiros dias do lançamento. A escala de produção é totalmente diferente, e isso justifica a redução drástica nos preços. A Microsoft vai vender por uma merreca uma tecnologia a que apenas pesquisadores de ponta, com muita verba, tinham acesso, e isso fez todo mundo que conheço que se interessa profissionalmente por robótica e visão computacional ficar extremamente excitado.

E a Microsoft fez o quê ?

Não me interpretem mal: a câmera TOF é o componente mais importante e revolucionário do Kinect, e foi basicamente comprada pronta pela Microsoft, mas essa não é a única enorme inovação. A câmera TOF entrega um modelo 3D da cena, composto por voxels (um pixel é um ponto no espaço 2D; um voxel é um pequeno cubo no espaço 3D).

Isso é só metade do problema: para um jogo você precisa interpretar esse modelo de forma eficiente, ou seja, você precisa detectar o quê daquela imagem 3D corresponde a uma ou mais pessoas, e exatamente em que posição elas estão. É como um OCR, que pega uma fotografia de um jornal e detecta cada letra, retornando o texto que está efetivamente escrito lá.

Fazer isso num modelo de voxels é um problema extremamente difícil. Pense na enorme variação entre as pessoas: há altos e baixos, magros e gordos, crianças, adultos, cachorro passando na frente, mesinhas de centro na sala… O problema não é mais confundir o objeto com o fundo (coisa que acontece com câmeras 2D, que detectam pessoas baseadas na diferença de cor). É ver aquela “escultura de cubinhos” e interpretar que é uma pessoa fazendo o V da vitória.

Aprendizado de Máquina

Para isso a Microsoft usou técnicas de aprendizado de máquina (que aliás é uma das minhas áreas de pesquisa). A idéia é relativamente simples: ao invés de escrever um programa que resolve o problema, você escreve um programa que aprende a resolver o problema analisando milhares de exemplos.

Técnicas comuns de captura de movimentos usam uma roupa cheia de marcadores especiais para detectar a posição do corpo do autor, que é o que queremos fazer com o Kinect. Então simultaneamente filmamos o ator usando a técnica antiga e usando o Kinect, e damos os dados de posição corporal obtidos pela primeira técnica e o vídeo do Kinect para o algoritmo de aprendizado.

Com muito, muito esforço científico e muitos exemplos desse tipo o programa é capaz de aprender como detectar a posição do corpo a partir da imagem 3D vinda do Kinect. Além disso, algumas regras ajudam: sabemos que o tamanho das partes do corpo da pessoa não muda, por exemplo, e sabemos que joelhos e cotovelos não abrem mais de 180 graus.

Nesse ponto os pesquisadores da Microsoft usaram outro recurso interessante: compraram uma quantidade gigantesca de dados de captura de movimentos usados em filmes e jogos antigos, e processaram esses dados para inferir regras como as que mencionei acima.

A combinação de exemplos e regras desse tipo, e o uso intensivo de quantidades obscenas de recursos computacionais ao longo de vários meses, permitiu que o software aprendesse a detectar a posição do corpo de pessoas dos mais variados tamanhos, nas mais variadas posições e ações. O legal é que aprender o modelo requer muitíssimo esforço computacional, mas depois de aprendido executá-lo é algo bem leve - uma tarefa simples que pode ser feita por software, pelo próprio console de videogame. Daí não haver a necessidade do tal “processador extra no Kinect” de que alguns andaram reclamando.

Em termos de quantidade de dados e de pesquisadores envolvidos esse foi o maior projeto de aprendizado de máquina da história. E, não há como negar, o mérito disso tudo é da Microsoft.

O que mais ?

Além de uma câmera convencional, uma câmera de tempo de vôo e software sofisticado para detecção de posição do corpo em tempo real, a Microsoft também integrou ao Kinect microfones direcionais e um bom sistema de reconhecimento de voz. Esse sistema foi treinado (usando aprendizado de máquina, como no caso da posição do corpo) com vozes de milhares de pessoas diferentes, permitindo que ele detecte comandos simples de pessoas diferentes sem treinamento prévio para cada uma. Nada muito superior ao que já se encontra disponível em sistemas operacionais como o Windows 7 e o Mac OS X, mas um excelente complemento para o acessório.

A utilidade para jogos do Kinect vai muito além de “imitar o Wii”, como muita gente vive repetindo. A primeira diferença que nem sempre fica óbvia é que você não é obrigado a ficar de pé pulando e se sacudindo em frente à sua TV. O Kinect pode detectar a posição da sua cabeça e corpo enquanto você está sentado no sofá jogando confortavelmente com seu controle convencional.

Mas a idéia não era eliminar o controle ? Não necessariamente! Nenhum fã de first-person shooters (como Halo) ou simuladores de vôo e corrida vai querer jogar dando tiros com o dedo ou fingindo que está com um volante imaginário nas mãos. Esses hardcore gamers vão jogar com controle, com mouse e teclado ou com um bom volante com force-feedback (eu não abro mão do meu Logitech), obviamente. Mas com o Kinect é possível rastrear a sua cabeça e mudar a imagem na tela conforme a posição dela, como se você tivesse efetivamente olhando para cima e para os lados.

Pode parecer esquisito, mas já é uma técnica usada por muitos jogadores sérios no PC, que usam dispositivos como o TrackIR. Poder olhar para cima ou para os lados enquanto se joga é algo que faz tanta diferença que qualquer um que já tenha usado um rastreador de cabeça não consegue deixá-lo de lado, mesmo o tradicional sendo uma arataca dependurada no seu fone de ouvido ou boné. Só o TrackIR custa mais de US$ 120, e com o Kinect esse tipo de experiência estará disponível para qualquer um.

E essa é só mais uma possibilidade ligada a jogos. Eu particularmente, estou mirando muito, muito mais longe: com câmeras TOF de baixíssimo custo vai finalmente ser possível desenvolver de forma rápida e robusta robôs que enxergam direito, por exemplo. Um carro com câmeras TOF nos pára-choques seria capaz de detectar automaticamente e em tempo real outros carros, pedestres, vagas (e inclusive estacionar automaticamente) de forma muitíssimo melhor do que o que existe hoje. Câmeras TOF instaladas estrategicamente permitiriam que você controle qualquer coisa através de gestos. E com alguma engenhosidade é possível digitalizar esculturas e criar modelos 3D automaticamente simplesmente filmando o objeto.


Scanner 3D baseado em câmera TOF

As possibilidades são inúmeras. É uma inovação que traz uma preciosidade tecnológica caríssima e extremamente poderosa para o grande público. Eu mal posso esperar para colocarmos as mãos no Kinect - não só para nos divertirmos como jogadores, mas também para inventar uma miríade de coisas interessantes, como cientistas e hackers.

ATUALIZAÇÃO: Conforme apontou o leitor @Ramon, cometi um erro de ortografia: o nome do acessório da Microsoft é “Kinect”, não “Kinetic”, como escrevi. O adjetivo em inglês “kinetic”, que equivale ao nosso “cinético”, vem do grego kinétikós e significa ’móvel, que produz movimento’. Já o nome do acessório é um trocadilho com kinetic e connect, e não consta do dicionário.

ATUALIZAÇÃO 2: Ao contrário do que diz o artigo, a Power Glove for desenvolvida pela Abrams Gentile Entertainment (AGE) e produzida pela Mattel (nos EUA) e pela PAX (no Japão), e não pela Nintendo. Obrigado pelo aviso, Madger!



Fonte: http://blog.vettalabs.com/2010/10/29/um-cientista-explica-o-microsoft-kinetic/
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Mephisto
Aluno do P.S. 118
avatar

Mensagens : 213
Data de inscrição : 21/09/2010
Idade : 28

MensagemAssunto: Re: Como funciona o Kinect???   Qua 29 Dez - 4:23

Para eu comprar isso e um XBox... Primeiro eu tenho que vender algum órgão... Depois quem sabe sequestrar alguem... Depois mais dois meses de salário....

Estou realmente considerando a idéia de comprar
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Kamen Rider
Imperador Sécular Gorgom
avatar

Mensagens : 1528
Data de inscrição : 19/09/2010

MensagemAssunto: Re: Como funciona o Kinect???   Qua 29 Dez - 20:50

Citação :
Com o Kinect, o jogador será capaz de controlar os jogos apenas com o próprio corpo, sem precisar de absolutamente mais nada.

Por essas que acho que fiz bem em parar na época do cartucho, se eu quiser fazer exercicio vou na academia!

_________________
"Quando ouço falar da cultura brasileira, já saco meu rolo de papel higiênico"

Olavo de Carvalho.


Compre aqui sua camiseta de tokusatsu

http://www.vitrinepix.com.br/clockup
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://clock-up.forum-livre.com
Svarog
Imperador Sécular Gorgom
avatar

Mensagens : 861
Data de inscrição : 12/10/2010

MensagemAssunto: Re: Como funciona o Kinect???   Qua 29 Dez - 21:27

Achei o Kinect uma bosta, tanta tecnologia para uns jogos de merdas. Por enquanto o que saiu baseado na tecnlogia "supostamente" desenvolvimente pela mafiasoft sao todos jogos ruins, para nao dizer mediocres.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Mephisto
Aluno do P.S. 118
avatar

Mensagens : 213
Data de inscrição : 21/09/2010
Idade : 28

MensagemAssunto: Re: Como funciona o Kinect???   Qui 30 Dez - 10:37

Svarog escreveu:
Achei o Kinect uma bosta, tanta tecnologia para uns jogos de merdas. Por enquanto o que saiu baseado na tecnlogia "supostamente" desenvolvimente pela mafiasoft sao todos jogos ruins, para nao dizer mediocres.

Isso é bem verdade viu... Eu ainda tenho esperança que saia algo bom de verdade ano que vem e dai pra frente a quantidade de jogos bons vão almentar, assim como foi com o Wii... Mas não gastaria meu rico dinheirinho sem a certeza de que essa porra vale a pena.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Kamen Rider
Imperador Sécular Gorgom
avatar

Mensagens : 1528
Data de inscrição : 19/09/2010

MensagemAssunto: Re: Como funciona o Kinect???   Sex 31 Dez - 20:28

O periférico do console da Microsoft entretém a família, mas não exclui outras pessoas com interesses menos nobres.


A frase "A Internet é para pornografia" tem alguma credibilidade, quanto mais não seja por 12% dos sites serem pornográficos, somando cerca de 24 milhões. Os consoles de nova geração têm debatido este problema que preocupa os pais de alguns dos jogadores mais novos. Será que a Microsoft previu os males da Internet com o Kinect?

A atriz pornográfica Kirsten Price testou, a convite do G4, o periférico da Xbox 360 com o objetivo de perceber se a Microsoft pensou na possibilidade de alguns jogadores terem intenções menos nobres. O teste começou por desafiar a capacidade de reconhecimento do Kinect com várias roupas e adereços. Passado o teste da roupa, chegou a altura de ver como o Kinect se portava na ausência desta.

Em suma, o Kinect para a Microsoft não tem qualquer filtro de nudez, o que poderá agradar um certo tipo de público e preocupar os pais mais zelosos. Não obstante, o vídeo (o video está aqui) aborda o tema de uma forma peculiar e cômica.

Poderá o Kinect gerar situações como a do infame clã de Modern Warfare 2 liderado por um pedófilo? Acham que a Microsoft devia desenvolver opções de segurança?

http://www.gamevicio.com.br/i/noticias/60/60394-kinect-censura-nudez/index.html

_________________
"Quando ouço falar da cultura brasileira, já saco meu rolo de papel higiênico"

Olavo de Carvalho.


Compre aqui sua camiseta de tokusatsu

http://www.vitrinepix.com.br/clockup
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://clock-up.forum-livre.com
Conteúdo patrocinado




MensagemAssunto: Re: Como funciona o Kinect???   

Voltar ao Topo Ir em baixo
 

Como funciona o Kinect???

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Clock Up :: Principal :: Games-
criar um fórum | © phpBB | Fórum grátis de ajuda | Fale conosco | Assinalar uma queixa | Fórum grátis