GT-Video

De Pontão Nós Digitais
Revisão de 00h43min de 27 de abril de 2013 por V1z (discussão | contribs)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegaçãoIr para pesquisar
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"/>