Como ocultar automaticamente meu rosto ao usar o bate-papo por vídeo?

6

Eu quero usar o Empathy, o Skype, etc. para bate-papo por vídeo, mas quero que meu rosto seja automaticamente detectado e obscurecido no fluxo de vídeo. O que posso fazer para que isso aconteça? Eu não quero desligar o vídeo ou apenas usar uma imagem estática.

    
por Kees Cook 02.11.2010 / 18:42

4 respostas

16

Um saco de papel?

Eu não vou me alongar sobre isso por muito tempo, mas você quer vídeo chat mas não ser visto ? Parece um pouco estranho e um pouco suspeito, mas de qualquer maneira.

Eu não acho que nada parecido com o que você quer realmente existe, mas há projetos separados que:

  • Faça detecção de rosto e sobreposições nesse espaço ( OpenCV )
  • Um driver de webcam falsa para transformar uma fonte de vídeo em algo que se parece com uma webcam no sistema e, portanto, Empathy / Skype / ChatRoulette / etc ( WebcamStudio )

Sejamos claros, você terá que fazer um pouco de trabalho aqui. Também não será uma solução limpa. Mas se você quiser, você pode fazer isso.

    
por Oli 02.11.2010 / 18:55
11
O

Webcamstudio possui uma detecção básica de rosto, mas você também pode usá-lo para colocar uma imagem em qualquer lugar da tela. Eu vou passar por ambos. Eu usarei o Ubuntu 10.10 com webcamstudio_0.57alpha2_all.deb disponível em seu site do Google Code

Se ainda não o fez, siga as instruções para se adicionar ao grupo de vídeo como descrito aqui

Uma vez instalado, abra o estúdio da webcam. Você deveria ter algo assim

Noladoesquerdo,emDispositivos,cliqueduasvezesnoseudispositivodewebcam.CliqueemAplicarparaligarsuawebcamnosoftware

A partir daqui, temos duas opções para obscurecer seu rosto. O primeiro é colocar uma imagem na tela. No painel da esquerda, abaixo de Animações, clique na mão que acena

Suateladeveseparecercomalgoassim.CliqueemPlayparaaplicaramãoqueacena

Se você quiser experimentar a detecção de rosto, em vez de adicionar a mão, clique no dispositivo de webcam e, na guia Detecção de rosto, marque a caixa de seleção e escolha uma face a ser usada.

Paraverissoemação,abraumprogramaqueusaawebcam.ParaesteexemploestouusandoCheese.EmCheese,váparaEdit>PreferênciasealtereawebcamparaodispositivodevídeodoWebcamStudio

Aqui está a mão que acena em ação

Eaquiestáadetecçãoderostoemação

Como você pode ver, não funciona muito bem. Perguntei em sua lista de e-mails para obter ajuda sobre esse assunto, mas a resposta é que não é muito confiável e depende das condições de iluminação e da qualidade da câmera.

Existem outras maneiras de obscurecer um fluxo de vídeo dentro desse programa, mas isso é para outro tutorial.

    
por hellocatfood 05.04.2011 / 13:53
3

Eu não acho que seja prático fazer qualquer tipo de ocultação de rosto em tempo real como este. O algoritmo que você usa teria que detectar e ocultar com precisão seu rosto perfeitamente em todos os quadros do vídeo. Se não conseguir esconder o rosto para um quadro único , você falhou e a outra pessoa tem uma foto do seu rosto.

O problema é que, devido ao requisito de tempo real, você não pode revisar o vídeo e preencher qualquer coisa que tenha sido perdida pelo algoritmo automático de ocultação de rosto. Você tem que ser capaz de confiar nesse algoritmo para acertar sozinho todas as vezes. Eu não vejo como você pode fazer isso.

Então, sim, eu voto na sacola de papel de Oli. Isso me lembra da ( apócrifa , mas ilustrativa) a história das respostas americanas e russas a descobrindo que as canetas não funcionam no espaço. Os americanos inventaram uma caneta que faz escrever no espaço (a caneta esferográfica pressurizada), enquanto os russos mudaram para lápis.

    
por Ryan Thompson 02.11.2010 / 19:07
1

existe software para fazer isso, procure opencv, im 90% de certeza que ele pode fazer o que quiser. não tenho certeza se é capaz de ser implementado ainda, sem fazer sua própria programação.

    
por Charlie 02.11.2010 / 18:55

Tags