Origami e pet para instrumentos eletrônicos: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição
Sem resumo de edição
 
(35 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
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.
Parceria com Francisco Simões e Fábio Simões.
== Ideias Iniciais ==


http://pontaopad.me/origami-sensores
http://pontaopad.me/origami-sensores
== Iteracoes da Mesa em Si ==
A propria mesa e' um origami!


[[Interface Arhacktable]]
[[Interface Arhacktable]]
== Tarefas ==


Ver tambem milestone airhacktable no trac:
Ver tambem milestone airhacktable no trac:


https://sourceforge.net/apps/trac/labmacambira/report/6
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 <pre>scilab/</pre> da hacktable e os scripts <pre>color_classify*.sci</pre> 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 <pre>test_color_classify.sce</pre> do [[SIP]] para testar as cores principais e alguns outros casos dificeis
# o script <pre>classify_run.sce</pre> 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 <tt>test_color_classify.sce</tt> 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).
[[Imagem:Test-img.png|frame|alt=Color Calibration target|Color calibration target providing a representative sample of the color space.]]
[[Imagem:Test-img-combined.png|frame|alt=Reliable Color Detection Results|'''Reliable Color Detection results''' from classifying each pixel of the color calibration target. The <span style="color:#976;">beige/brown color</span> represents pixels for which the algorithm claims no 100% reliable detection could be made. From this it is possible to see which colors are better for constructing our origamis.]]
==== Color Detection Pictures ====
Random pictures of people: http://www.facebook.com/media/set/?set=a.814733874631.2244454.1011765&type=1&l=86f5116607


[[Category:Lab Macambira]]
[[Category:Lab Macambira]]
[[Category:Video]]
[[Category:Audio]]

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!

Interface Arhacktable

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:

  1. o script
    test_color_classify.sce
    do SIP para testar as cores principais e alguns outros casos dificeis
  2. 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.
  3. 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.
  4. 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 Calibration target
Color calibration target providing a representative sample of the color space.
Reliable Color Detection Results
Reliable Color Detection results from classifying each pixel of the color calibration target. The beige/brown color represents pixels for which the algorithm claims no 100% reliable detection could be made. From this it is possible to see which colors are better for constructing our origamis.

Color Detection Pictures

Random pictures of people: http://www.facebook.com/media/set/?set=a.814733874631.2244454.1011765&type=1&l=86f5116607