GT-Video: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
(workflow)
Sem resumo de edição
 
(24 revisões intermediárias por 3 usuários não estão sendo mostradas)
Linha 1: Linha 1:
[[Imagem:Countdown-film-42x.jpg|right]]
[[Imagem:Art-palette.png|right|45px]]
Este Grupo de Trabalho visa suprir demandas relacionadas a algoritmos de processamento de video e imagens,
Este Grupo de Trabalho visa suprir demandas relacionadas a algoritmos de processamento de video e imagens,
incluindo filtros, efeitos especiais, reconhecimento de faces e objetos, tracking, reconstrucao 3D, e compressao.
incluindo filtros, efeitos especiais, reconhecimento de faces e objetos, tracking, reconstrucao 3D, e compressao.
Linha 4: Linha 6:


As responsabilidades deste GT incluem
As responsabilidades deste GT incluem
principalmente as demandas de processamento de video e imagens dos outros GTs.
principalmente as demandas de processamento de video e imagens dos outros GTs, como [[GT-Games]].
Tambem incluem a transferencia de alta tecnologia para a comunidade e consultoria de solucoes open-source de ponta para micro empresas brasileiras, exercendo papel chave para o desenvolvimento tecnologico do pais. Este GT tambem realiza pesquisa e desenvolvimento de novas solucoes na area de visao computacional, visando munir a populacao de tecnologias chave, de facil uso, que geralmente estao apenas na mao de entidades militares que realizam monitoramento. Talvez a populacao como um todo possa se apoderar desta tecnologia para ativamente realizar monitoramento por video, a seu favor, por exemplo para seguranca de comunidades usando webcams, flagrar abusos, detectar movimento, faces, etc.
Tambem incluem a transferencia de alta tecnologia para a comunidade e consultoria de solucoes open-source de ponta para micro empresas brasileiras, exercendo papel chave para o desenvolvimento tecnologico do pais. Este GT tambem realiza pesquisa e desenvolvimento de novas solucoes na area de visao computacional, visando munir a populacao de tecnologias chave, de facil uso, que geralmente estao apenas na mao de entidades militares que realizam monitoramento. Talvez a populacao como um todo possa se apoderar desta tecnologia para ativamente realizar monitoramento por video, a seu favor, por exemplo para seguranca de comunidades usando webcams, flagrar abusos, detectar movimento, faces, etc.


== Integrantes  ==
== Integrantes  ==
 
* [[User:V1z| Ricardo Fabbri]] - Tech Lead atual
* [[Nivaldo Bondança]]  
* [[Nivaldo Bondança]]  
* [[Daniel Penalva]]  
* [[Daniel Penalva]]  
* [[Fefo Gorodscy]]  
* [[Fefo Gorodscy]]  
* [[User:V1z| Ricardo Fabbri]]
* [[Usuário:Akin | Alexandre Negrão]] (GT secundario)
* [[Usuário:Akin | Alexandre Negrão]]
* [[Usuário:Gilson.beck]]
 
=== Colaboradores ===
* [http://glerm.devolts.org/ Glerm Soares]


== Workflow ==
== Workflow ==


Para projetos praticos como a [[AirHackTable]], o workflow Macambira eh o seguinte
Para projetos praticos como a [[AirHackTable]], o workflow Macambira eh o seguinte
* O PD controla tudo. Faremos o maximo no PD
* O PD controla tudo. Faremos o maximo no PD para a implementacao final.
* Se precisarmos de algoritmos que nao estao no PD, entao:
* Se precisarmos de algoritmos que nao estao no PD, entao:
** Se estiver em uma biblioteca C tipo OpenCV, a gente incorpora num modulo PD
** Se estiver em uma biblioteca C/C++ tipo OpenCV, a gente incorpora num modulo PD
** Se nao tiver numa biblioteca, a gente escreve um modulo em C
** Se nao tiver numa biblioteca, a gente escreve um modulo em C/C++
** Se o algoritmo ou solucao for uma ideia nova, meio experimental, e precisa
** Se o algoritmo ou solucao for uma ideia nova, meio experimental, e precisa ser prototipada bem rapidamente e desenvolvida no nivel de algoritmo, o [[Scilab]]/[[SIP]] e' usado. Python tambem pode ser usado eventualmente. Uma vez que a solucao se mostra promissora, ai abandonamos esse prototipo de script e so entao implementamos a solucao em C/C++ como um modulo PD.
ser prototipada bem rapidamente e desenvolvida no nivel de algoritmo, o
 
[[Scilab]]/[[SIP]] sao usados. Uma vez que a solucao se mostra promissora, ai
Este workflow respeita o fato de que e' muito demorado programar em C/C++, porem e' necessario para fazer o sistema realtime, bem como para deixa-lo "scalable". So iremos programar em C/C++ quando ja esta claro o que programar.
sim implementamos a solucao em C/C++ como um modulo PD
 
== Object Trackers ==
Os videos abaixo mostram alguns experimentos com object tracking com o [[Pd]] (puredata) e como [[OpenCV]] direcionados `a [[AirHackTable]]:
 
<video type="vimeo" id="36312053" width="552" height="470"  allowfullscreen="true" desc="Official [[Pd]]/Gem color tracker we invented, Controling a Video Game - HiDef: [http://vimeo.com/rfabbri/color-joystick vimeo.com/rfabbri/color-joystick]"/>
<video type="vimeo" id="36239477" width="552" height="470"  allowfullscreen="true" desc="Official [[Pd]]/Gem color tracker we invented"/>
<video type="vimeo" id="28717714" width="552" height="510"  allowfullscreen="true" desc="Generic multiblob tracker in [[Pd]] by fefo"/>
 
<video type="vimeo" id="27831797" width="552" height="510"  allowfullscreen="true" desc="Roubust circle hough transform tracker [[OpenCV]] by hick209 find the code [[AHTcode|here]]"/>
 
 
 
* Ver uns experimentos e umas ideias legais para deteccao por movimento/mudancas no ticket [https://sourceforge.net/apps/trac/labmacambira/ticket/140 140]


== Tarefas ==
== Tarefas ==
Linha 46: Linha 63:


* Instalar:
* Instalar:
** mplayer, vlcplayer, kino, kdenlive, lives, libface, digikam, gthumb, cinelera, gimp, inkscape, kaffeine, libav, imagemagick, cmake, ddd, gitg, xine, R, octave, ipython, latex, blender
** mplayer, vlcplayer, kino, kdenlive, lives, libface, digikam, gthumb, cinelera, gimp, inkscape, kaffeine, libav, imagemagick, cmake, ddd, gitg, xine, R, octave, ipython, latex, [[Blender]]


* Entrar no irc:
* Entrar no irc:
Linha 85: Linha 102:


== Reuniões  ==
== Reuniões  ==
Ver tambem http://pontaopad.me/gtvideoreuniao


=== Quarta-feira 27 de Julho ===
=== Quarta-feira 27 de Julho ===
Linha 96: Linha 115:
* Apresentar proposta e tarefas a serem feitas
* Apresentar proposta e tarefas a serem feitas
* plano para o que fazer ate sexta-feira & beyond
* plano para o que fazer ate sexta-feira & beyond
=== Semana da Patria 2011 ===
* http://pontaopad.me/gtvideoreuniao


[[Category:Lab Macambira]]
[[Category:Lab Macambira]]
Linha 109: Linha 132:
** [http://vimeo.com/groups/687 Computer Vision on Vimeo]
** [http://vimeo.com/groups/687 Computer Vision on Vimeo]
** [http://vimeo.com/groups/puredata Pure Data on Vimeo]
** [http://vimeo.com/groups/puredata Pure Data on Vimeo]
* [http://www.crca.ucsd.edu/~msp/Pd_documentation/index.htm Pure Data Documentation]
* [http://puredata.info/docs Others PD Guides]


=== PIL ( Python Imaging Library ) ===
=== PIL ( Python Imaging Library ) ===


[http://www.pythonware.com/library/pil/handbook/index.htm pil handbook] <br>
[http://www.pythonware.com/library/pil/handbook/index.htm pil handbook] <br>
[http://nadiana.com/pil-tutorial-basic-advanced-drawing Nadia Alramli tutorial] <br>
[http://nadiana.com/pil-tutorial-basic-advanced-drawing Nadia Alramli tutorial]
 
== Ideias para o Futuro ==
 
* Desenvolvimento do Kdenlive e Blender: ver [[Kdenlive_vs_Blender]]
* Escrever um livro "Computer Vision using Cheap Webcams"
 
== Links ==
 
* Exemplo de interface visual com uma unica webcam:
<video type="youtube" id="v0srY37kkMw" width="420" height="345" desc="Exemplo de interface visual com uma unica webcam" frame="true" position="right" size="full" allowfullscreen="true"/>
 
* Pd para criacao de "instrumentos musicais" com a webcam: http://williambrent.conflations.com/pages/research.html (valeu, glerm)


<br>
* PiDiP http://ydegoyon.free.fr/pidip.html

Edição atual tal como às 00h43min de 27 de abril de 2013

Countdown-film-42x.jpg
Art-palette.png

Este Grupo de Trabalho visa suprir demandas relacionadas a algoritmos de processamento de video e imagens, incluindo filtros, efeitos especiais, reconhecimento de faces e objetos, tracking, reconstrucao 3D, e compressao. Este GT fundamentalmente involve programacao de solucoes de alta tecnologia, utilizando-se uma linguagem script (scilab ou python) para desenvolvimento e prototipagem, associada a C e C++ para o processamento pesado.

As responsabilidades deste GT incluem principalmente as demandas de processamento de video e imagens dos outros GTs, como GT-Games. Tambem incluem a transferencia de alta tecnologia para a comunidade e consultoria de solucoes open-source de ponta para micro empresas brasileiras, exercendo papel chave para o desenvolvimento tecnologico do pais. Este GT tambem realiza pesquisa e desenvolvimento de novas solucoes na area de visao computacional, visando munir a populacao de tecnologias chave, de facil uso, que geralmente estao apenas na mao de entidades militares que realizam monitoramento. Talvez a populacao como um todo possa se apoderar desta tecnologia para ativamente realizar monitoramento por video, a seu favor, por exemplo para seguranca de comunidades usando webcams, flagrar abusos, detectar movimento, faces, etc.

Integrantes

Colaboradores

Workflow

Para projetos praticos como a AirHackTable, o workflow Macambira eh o seguinte

  • O PD controla tudo. Faremos o maximo no PD para a implementacao final.
  • Se precisarmos de algoritmos que nao estao no PD, entao:
    • Se estiver em uma biblioteca C/C++ tipo OpenCV, a gente incorpora num modulo PD
    • Se nao tiver numa biblioteca, a gente escreve um modulo em C/C++
    • Se o algoritmo ou solucao for uma ideia nova, meio experimental, e precisa ser prototipada bem rapidamente e desenvolvida no nivel de algoritmo, o Scilab/SIP e' usado. Python tambem pode ser usado eventualmente. Uma vez que a solucao se mostra promissora, ai abandonamos esse prototipo de script e so entao implementamos a solucao em C/C++ como um modulo PD.

Este workflow respeita o fato de que e' muito demorado programar em C/C++, porem e' necessario para fazer o sistema realtime, bem como para deixa-lo "scalable". So iremos programar em C/C++ quando ja esta claro o que programar.

Object Trackers

Os videos abaixo mostram alguns experimentos com object tracking com o Pd (puredata) e como OpenCV direcionados `a AirHackTable:

<video type="vimeo" id="36312053" width="552" height="470" allowfullscreen="true" desc="Official Pd/Gem color tracker we invented, Controling a Video Game - HiDef: vimeo.com/rfabbri/color-joystick"/> <video type="vimeo" id="36239477" width="552" height="470" allowfullscreen="true" desc="Official Pd/Gem color tracker we invented"/> <video type="vimeo" id="28717714" width="552" height="510" allowfullscreen="true" desc="Generic multiblob tracker in Pd by fefo"/>

<video type="vimeo" id="27831797" width="552" height="510" allowfullscreen="true" desc="Roubust circle hough transform tracker OpenCV by hick209 find the code here"/>


  • Ver uns experimentos e umas ideias legais para deteccao por movimento/mudancas no ticket 140

Tarefas

A lista de tarefas mais atualizada esta no sistema trac #gt-video

A seguir, um esboco das tarefas, em ordem decrescente de prioridade:

  • Compilar o Scilab do Git
  • Brincar com o SIP
  • Aprender algoritmos de processamento de imagens
    • Ler o livro de Richard Szeliski sobre processamento de imagens.
  • Comparar Python versus Scilab para prototipagem e desenvolvimento de algoritmos para processamento de imagens e video.
  • Ferramentas C e C++ fundamentais para algoritmos visao computacional. Estas formam o nivel mais baixo de processamento que estaremos lidando, onde eh feito o processamento mais intensivo:
    • Baixar e compilar [vxl.sourceforge.net VXL] com git svn. Essencial para efeitos mais complexos, deteccao, tracking, efeitos especiais, reconstrucao 3D
  • Compilar OpenCV
  • Instalar:
    • mplayer, vlcplayer, kino, kdenlive, lives, libface, digikam, gthumb, cinelera, gimp, inkscape, kaffeine, libav, imagemagick, cmake, ddd, gitg, xine, R, octave, ipython, latex, Blender
  • Entrar no irc:
    • videolan
    • gimp
    • etc
  • Vigiar esta pagina wiki. Vai na aba vigiar ao topo.
  • Interagir com softwares para edicao de video (ver pagina principal Lab Macambira)
    • Trac ticket #102
    • baixar do repositorio via git, compilar
    • compara-los
    • talvez artigo de revisao e comparacao no freshmeat.net, linux magazine, etc.
    • o mais importante: levantamento de demandas.
      • Perguntar pro tedi qual efeito ele quer.
      • Tirar dos outros GTs (GT-VideoConferencia, GT-WebStream, ou mesmo GT-PDF) algumas demandas de algoritmos fundamentais, tipo compressao para streamming, tracking, OCR, etc.
  • Brincar com Python e PIL - aprender, fazer tutoriais.

Versão resumida

  • Anotar ideias e propostas de projetos!
  • Brincar e corrigir bugs em softwares de edicao de video.
  • AA (ABOVE ALL)
    • Programing MotherFuckers!

Reuniões

Ver tambem http://pontaopad.me/gtvideoreuniao


Quarta-feira 27 de Julho

Horário: 15:00hs

Participantes: Equipe Lab Macambira


Ideias:

  • Apresentar proposta e tarefas a serem feitas
  • plano para o que fazer ate sexta-feira & beyond

Semana da Patria 2011

Tutoriais


PIL ( Python Imaging Library )

pil handbook
Nadia Alramli tutorial

Ideias para o Futuro

  • Desenvolvimento do Kdenlive e Blender: ver Kdenlive_vs_Blender
  • Escrever um livro "Computer Vision using Cheap Webcams"

Links

  • Exemplo de interface visual com uma unica webcam:

<video type="youtube" id="v0srY37kkMw" width="420" height="345" desc="Exemplo de interface visual com uma unica webcam" frame="true" position="right" size="full" allowfullscreen="true"/>