Origami e pet para instrumentos eletrônicos: mudanças entre as edições
Sem resumo de edição |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
Estamos montando um instrumento e instalacao artistica | Estamos continuamente montando e aprimorando um instrumento e instalacao artistica | ||
chamado [[AirHackTable]]. Origamis flutuantes de diferentes formas e cores | chamado [[AirHackTable]]. Origamis flutuantes de diferentes formas e cores | ||
controlam som atraves de uma ou mais webcams. Esta pagina se dedica ao processo | controlam som atraves de uma ou mais webcams. Esta pagina se dedica ao processo |
Edição atual tal como às 00h09min de 5 de dezembro de 2013
Estamos continuamente montando e aprimorando um instrumento e instalacao artistica chamado AirHackTable. Origamis flutuantes de diferentes formas e cores controlam som atraves de uma ou mais webcams. Esta pagina se dedica ao processo de desenvolvimento da AirHackTable. Veja a pagina AirHackTable para informacoes menos experimentais.
No Lab Macambira este projeto esta sendo desenvolvido pelos seguintes GT's: GT-Video e GT-Audio.
Parceria com Francisco Simões e Fábio Simões.
Ideias Iniciais
http://pontaopad.me/origami-sensores
Iteracoes da Mesa em Si
A propria mesa e' um origami!
Tarefas
Ver tambem milestone airhacktable no trac:
https://sourceforge.net/apps/trac/labmacambira/report/6
Hacking
Codigo de um dos nossos prototipos de processamento para a airhacktable no Pd:
git clone git@github.com:wakku/Hacktable.git
obs: voce deve primeiro colocar sua shave publica ssh no Account Settings do github
Ou read only:
git://github.com/wakku/Hacktable.git
Color Detection
Dataset
Fizemos um dataset de cores baseada em papel origami e outros objetos coloridos, usando-se webcams baratas. Veja: http://ubuntuone.com/12ppyvTLs8WIyggYkhdh3L
Algorithms
Para o atual algoritmo de deteccao de cores a ser usado na hacktable, veja no subdiretorio
scilab/
da hacktable e os scripts
color_classify*.sci
do SIP.
Dada uma cor em RGB, o algoritmo reporta as cores vermelho, verde, azul, amarelo, branco e preto em dois niveis principais de confiabilidade: confiavel e nao-confiavel. Em todos os nossos testes o restultado confiavel e' correto pelo menos 99,99% das vezes. O nivel nao-confiavel e' subdividido em 'good guess' e 'uncertain' e nesse caso o algoritmo geralmente fornece um "chute" e um segundo chute. Na maioria das vezes ele acerta, retornando "red" + "black" para "vermelho escuro" e afins.
O desafio de um algoritmo de deteccao esta' no fato de cores que nao se encaixam perfeitamente em uma das 6 classes acima, tais como: beiges, cinzas, marrons escuros, cores suaves tipo de bebe, etc. Outra dificuldade, ainda mais crucial, e' o fato da webcam realizar um forte ajuste de white balance/color balance dependendo do conteudo da imagem, o que causa extrema mudanca na cor capturada em relacao aos objetos do mundo real. O desafio e', justamente, este - de capturar a cor verdadeira de um objeto a partir de R, G, B, e ser capaz de dizer quando esta estimativa e' confiavel, quando nao e', ao mesmo tempo nao sendo muito seletivo com a cor para poder permitir objetos diferentes sob diferentes tipos de iluminacao.
Performance
Nos temos varios benchmarks para avaliar a performance do algoritmo de forma automatica, permitindo evoluir o algoritmo sem adicionar novos bugs. A cada alteracao no algoritmo, rodam-se os testes:
- o script
test_color_classify.sce
do SIP para testar as cores principais e alguns outros casos dificeis - o script
classify_run.sce
do repositorio da hacktable para testar na base de dados acima, produzindo uma taxa de acerto para estimativas que ele acusa seren 100% confiaveis, bem como para estimativas menos confiaveis. - nos rodamos o algoritmo em cada pixel de uma imagem de calibracao de cores. essas imagens amostram um amplo espectro de cores, permitindo avaliar a performance qualitativa do algoritmo de uma unica vez. nos usamos este metodo com frequencia para fazer ajuste fino ao algoritmo de classificacao. Veja o final do script test_color_classify.sce para um exemplo de como fazer isto.
- finalmente, implementamos o algoritmo em C e executamos em diferentes imagens e video no Pd e no Scilab.
Qualquer mudanca a este algoritmo de deteccao de cores devera' passar por esta base, reportando a qualidade da deteccao obtida.
O atual algoritmo acerta 100%, com cobertura 100% confiavel de mais de 60% dos casos. Ha um conjunto de imagens da base para o qual o algoritmo da resultados razoaveis de acordo com os valores RGB, porem incopativeis com a percepcao humana. Em todos esses casos, porem, o algoritmo acusa que o resultado nao e' confiavel, permitindo que o sistema tenha um "plano B" (tipo usar a cor do frame anterior).
Color Detection Pictures
Random pictures of people: http://www.facebook.com/media/set/?set=a.814733874631.2244454.1011765&type=1&l=86f5116607