Project Sistine - Transformando um MacBook em touchscreen com hardware de 1 dólar
(anishathalye.com)- Um projeto de protótipo que faz o MacBook funcionar como uma touchscreen usando apenas 1 dólar em peças e técnicas de visão computacional
- Ao instalar um pequeno espelho na frente da webcam integrada, ele reconhece a tela em ângulo e detecta o toque pela interseção entre o dedo e seu reflexo
- Por meio de filtragem de cor de pele e análise de contornos, calcula os pontos de toque e hover, e os mapeia para as coordenadas da tela com correção por homografia
- A entrada detectada é convertida em eventos de mouse, permitindo interação por toque imediatamente também em apps existentes
- Funciona até com câmera 480p e é um exemplo de implementação de touchscreen de baixo custo que pode ampliar a área de reconhecimento com câmeras de maior resolução ou espelhos curvos
Visão geral do Project Sistine
- Usa apenas 1 dólar em hardware e técnicas simples de visão computacional para transformar um MacBook em touchscreen
- Um protótipo proof-of-concept criado por 4 pessoas em cerca de 16 horas
- O nome foi inspirado na recriação da pintura 'A Criação de Adão' da Capela Sistina
Princípio básico
- Aproveita o fenômeno em que o dedo e seu reflexo aparecem juntos por causa da reflexão de luz ao observar a tela em ângulo
- Detecta o momento em que o dedo encosta no reflexo para determinar se houve toque
- A ideia veio do projeto ShinyTouch, criado anteriormente por Kevin
- O método que usava webcam externa foi substituído pela webcam integrada do MacBook e um pequeno espelho
- Um pequeno espelho é instalado diante da câmera integrada para obter um campo de visão inclinado de toda a tela
- O movimento dos dedos é reconhecido no vídeo da câmera e convertido em eventos de toque
Configuração de hardware
- Os materiais necessários são componentes simples, como um pequeno espelho, prato de papel, dobradiça de porta e cola quente
- O espelho é fixado no ângulo adequado para que a câmera consiga ver toda a tela
- Pode ser montado em poucos minutos usando apenas faca e cola quente
Algoritmo de detecção do dedo
- No vídeo de entrada, encontra o dedo e seu reflexo para calcular os pontos de toque/hover
-
Filtragem de cor de pele e binarização → detecção de contornos → seleção de dois contornos principais
- Os dois contornos devem se sobrepor horizontalmente, e o contorno menor deve estar na parte superior
- O ponto médio da linha que conecta a parte superior e inferior dos dois contornos é definido como ponto de toque/hover
- A distância vertical entre os dois contornos distingue toque de hover
- No vídeo resultante, o dedo e a linha de reflexão aparecem em verde, a caixa delimitadora em vermelho e o ponto de toque em magenta
-
Mapeamento e calibração
- Calcula a homografia (homography) para converter as coordenadas da webcam em coordenadas da tela
- O usuário realiza a calibração (calibration) tocando em pontos específicos da tela
- Com base nos pares de coordenadas coletados, a matriz de projeção é estimada com o algoritmo RANSAC
- Após a calibração, a matriz de projeção é visualizada com linhas vermelhas sobre a tela, e os pontos de toque estimados aparecem como pontos azuis
Aplicações
- O protótipo converte hover e toque em eventos de mouse, permitindo que apps existentes passem a responder a toque imediatamente
- Ao desenvolver um app próprio, também é possível usar diretamente dados detalhados de toque, como a altura do hover
Conclusão e possibilidades de melhoria
- O Project Sistine é uma implementação experimental que transforma um notebook em touchscreen com hardware de 1 dólar
- Funciona até com a câmera integrada de 480p, e com câmeras de maior resolução ou espelhos curvos pode reconhecer toda a tela
- Há potencial para evoluir para um sistema de touchscreen prático e de baixo custo
Código-fonte
- O protótipo Sistine foi publicado como open source sob licença MIT
- Repositório no GitHub: bijection/sistine
1 comentários
Comentários no Hacker News
Steve Jobs disse em 2010 que telas sensíveis ao toque verticais servem para demos legais, mas na prática cansam rapidamente os braços e são terríveis do ponto de vista ergonômico
Isso foi citado em um artigo do Business Insider
Aqueles antigos celulares Android baratos com stylus ou clones do Palm Pilot eram realmente péssimos, mas para artistas a stylus com detecção de pressão continua sendo uma ferramenta útil
(Aliás, o termo “gorilla arm” vem do Jargon File dos anos 1980)
Uso o dispositivo deitado ou girado, e também uso Kindle Scribe e Galaxy Note 10+.
Queria testar o Apple Sidecar, mas estou hesitando porque teria que comprar mais uma stylus. Espero que algum dia a Apple lance um sucessor do Newton
Eu não iria querer um MacBook Pro com touchscreen nem de graça. Já está tudo otimizado para atalhos de teclado, então não há motivo para ficar apertando a tela
Para trabalho, teclado e trackpad são muito mais eficientes do que toque
O monitor principal não tem toque, e a tela do notebook fica como secundária, então não há motivo para esticar a mão até ela. Por isso também acho que a Touch Bar fracassou
Este projeto me lembrou os antigos experimentos com Wii-mote do Johnny Lee
johnnylee.net/projects/wii/
Um notebook corporativo que usei no passado tinha touchscreen, e surpreendentemente isso era útil uma ou duas vezes por semana
No trem, tocar a tela diretamente era mais prático para não esbarrar o cotovelo na pessoa ao lado, e também era mais natural rolar com o dedo
Não era o principal método de entrada, mas como opção de entrada complementar era bom
A expressão “filtragem por cor de pele” me deixou em dúvida. Qual tom de pele está sendo usado como referência, e especialmente em peles mais escuras eu queria ver dados de quão bem isso funciona
Em notebooks, touchscreen não é agradável. Pessoalmente, prefiro que não tenha
É um caso de uso de visão computacional realmente muito legal. Também agradeço por terem aberto o código
É um protótipo simples, mas interessante. Fico curioso se o reconhecimento muda conforme as condições de iluminação — será que funciona bem ao ar livre ou com contraluz?
Em vez de “filtragem por cor de pele”, talvez background subtraction tivesse sido mais estável. Cor de pele varia demais dependendo da iluminação
Fico imaginando a tela quebrando ao fechar o MacBook com a câmera entre as partes.
Gosto de Mac, mas o hardware parece delicado demais e meio preocupante. Como é notebook da empresa, eu tomo ainda mais cuidado