Dicas e Truques#

Modo Demo#

O modo demo permite que você demonstre a CMUcam4 sem um processador mestre. No modo demo, a CMUcam4 executa o comando “TW” (Track Window) e então aciona dois servos de hobby padrão em direção ao objeto sendo rastreado, ao mesmo tempo em que exibe o objeto rastreado em uma TV padrão. Uma vez que a CMUcam4 entra no modo demo, ela não sairá do modo demo até que seja reiniciada. Siga os passos abaixo para entrar no modo demo:

  1. Pressione e segure o botão de reset na CMUcam4

  2. Pressione e segure o botão de usuário na CMUcam4

  3. Solte o botão de reset (não solte o botão de usuário)

  4. Aguarde até que o LED auxiliar vermelho acenda (2 segundos)

  5. Aguarde até que o LED auxiliar vermelho comece a piscar a 10 Hz e então solte o botão de usuário

    • A TV deve ligar (você deve ver uma tela inicial exibida na TV) se a CMUcam4 estiver conectada a uma TV

  6. A CMUcam4 agora se ajustará às condições de iluminação pelos próximos 5 segundos

    • Não coloque o objeto que você deseja rastrear na frente da CMUcam4 pelos próximos 5 segundos

  7. Aguarde até que o LED auxiliar vermelho pare de piscar a 10 Hz

    • A CMUcam4 agora terminou de se ajustar às condições de iluminação

    • Os pinos de servo de pan e tilt devem emitir pulsos de 1500 μs a 50 Hz

  8. Coloque o objeto que você deseja rastrear na frente da CMUcam4 e pressione o botão de usuário

    • Se o LED auxiliar vermelho começar a piscar a 10 Hz, examine a conexão do módulo de câmera OV9665

      • O módulo de câmera OV9665 pode estar danificado e provavelmente precisa ser substituído

  9. Você deve agora ver o objeto rastreado (ou similar) exibido na TV se a CMUcam4 estiver conectada a uma TV

    • Os servos de pan e tilt, se conectados, também tentarão direcionar a câmera para o objeto rastreado

  10. Tente este procedimento com diferentes objetos em diferentes ambientes para ver o que funciona melhor

  11. A CMUcam4 agora está rodando no modo demo

Pressione o botão de reset para sair do modo demo.

Para a operação não invertida do servo de pan, durações de pulso menores que 1500 µs devem mover a posição X do módulo de câmera para a direita (do ponto de vista do módulo de câmera) e durações de pulso maiores que 1500 µs devem mover a posição X do módulo de câmera para a esquerda (do ponto de vista do módulo de câmera).

Para a operação não invertida do servo de tilt, durações de pulso menores que 1500 µs devem mover a posição Y do módulo de câmera para baixo (do ponto de vista do módulo de câmera) e durações de pulso maiores que 1500 µs devem mover a posição Y do módulo de câmera para cima (do ponto de vista do módulo de câmera).

Modo Halt#

O modo halt permite que você paralise a CMUcam4 enquanto ainda conectada a um Arduino. No modo halt, a CMUcam4 consome muito pouca energia e não impede que um Arduino seja programado ao bloquear a porta serial do Arduino. O modo halt só é necessário se a CMUcam4 interferir no processo de programação do Arduino. Se não interferir, então o modo halt é desnecessário - este é geralmente o caso. Uma vez que a CMUcam4 entra no modo halt, ela não sairá do modo halt até que seja reiniciada. Siga os passos abaixo para entrar no modo halt:

  1. Pressione e segure o botão de reset na CMUcam4

  2. Pressione e segure o botão de usuário na CMUcam4

  3. Solte o botão de reset (não solte o botão de usuário)

  4. Aguarde até que o LED auxiliar vermelho acenda (2 segundos)

  5. Solte o botão de usuário

  6. A CMUcam4 agora está paralisada indefinidamente

Pressione o botão de reset para sair do modo halt.

Notas sobre um Melhor Rastreamento#

Melhor Rastreamento com Auto-ganho e Balanço de Branco#

O auto-ganho é um controle interno que ajusta o nível de brilho da imagem para melhor se adequar ao ambiente. Ele tenta normalizar as áreas claras e escuras da imagem de modo que se aproximem do brilho geral de uma imagem ajustada manualmente. Este processo itera ao longo de muitos quadros à medida que a câmera ajusta automaticamente seus níveis de brilho. Se, por exemplo, uma luz for acesa e o ambiente ficar mais claro, a câmera tentará ajustar o brilho para escurecer a imagem geral.

O balanço de branco, por outro lado, tenta corrigir os ganhos de cor da câmera. A luz ambiente na sua imagem pode não ser branco puro. Nesse caso, a câmera verá as cores de forma diferente. A câmera começa com uma estimativa inicial de quanto ganho dar a cada canal de cor. Se ativo, o balanço de branco ajustará esses ganhos quadro a quadro para que a cor média na imagem se aproxime de uma cor cinza. Empiricamente, descobriu-se que este método de “mundo cinza” funciona relativamente bem. O problema com o balanço de branco de mundo cinza é que, se uma cor sólida preencher o campo de visão da câmera, o balanço de branco definirá lentamente os ganhos de modo que a cor pareça cinza e não sua cor verdadeira. Então, quando a cor sólida é removida, a imagem terá ganhos de cor indesejáveis até restabelecer sua média cinza.

Ao rastrear cores, como no modo demo, você pode querer permitir que o auto-ganho e o balanço de branco funcionem por um curto período e depois desligá-los. Enquanto ligados por um período de cerca de 5 segundos, a câmera pode ajustar seu ganho de brilho e ganhos de cor para o que considerar adequado. Então, desligá-los impedirá que a câmera altere desnecessariamente suas configurações devido a um objeto sendo segurado perto da lente, sombras, etc. Se o auto-ganho e o balanço de branco não fossem desabilitados e a câmera alterasse suas configurações para os valores RGB ou YCbCr, então os novos valores medidos poderiam ficar fora dos limiares de rastreamento de cor originalmente selecionados.

O módulo de câmera requer que o auto-ganho esteja habilitado para utilizar o balanço de branco.

Espaço de Cor YUV (YCbCr)#

YCbCr é uma definição de espaço de cor diferente do espaço RGB mais comumente conhecido. No YCbCr, os dados de iluminação são armazenados em um canal separado. Por causa dessa propriedade, no modo YCbCr a câmera pode ser mais resistente a mudanças na iluminação. Por ser um espaço de cor diferente, imagens em YCbCr não se parecem com imagens RGB padrão quando mapeadas diretamente por um programa de despejo de quadro. Os canais RGB mapeiam para CrYCb. Então, no modo YCbCr, o valor retornado como parâmetro red é na verdade Cr, o parâmetro green é Y, e o parâmetro blue é Cb. Portanto, se você deseja rastrear um objeto vermelho, você precisa olhar para um quadro despejado para ver para que as cores desse objeto mapeiam em YCbCr. Deve então ser possível encontrar os limites de Cb e Cr enquanto se fornece um limite Y muito relaxado, mostrando que a iluminação não é muito importante. Ao usar YCbCr, certifique-se de levar em conta que, em termos de toda a E/S da CMUcam4, Red mapeia para Cr, Green para Y e Blue para Cb.

Observe que os canais RGB são mapeados para lhe dar CrYCb, não YCbCr.

Sobre o Módulo de Câmera#

A partir da inicialização, a câmera pode levar até 5 segundos para se ajustar automaticamente à luz. Mudanças drásticas no ambiente, como luzes sendo acesas e apagadas, podem induzir um tempo de reajuste semelhante. Ao usar a câmera ao ar livre, devido às poderosas emissões de IR do sol, mesmo em dias relativamente nublados, provavelmente será necessário usar um filtro de IR ou um filtro de câmera de densidade neutra para diminuir o nível de luz ambiente.

As funções fornecidas pela placa da câmera destinam-se a dar ao usuário uma caixa de ferramentas de funções de visão de cor. As aplicações reais podem variar bastante e ficam a cargo da imaginação do usuário. A capacidade de alterar a janela visualizável, capturar estatísticas de cor e luz e rastrear cores pode ser combinada pelo processador host para criar funcionalidades de nível mais alto.