Pular para o conteúdo principal

Filtragem e Ordenação de Contornos

Após a limiarização de cor, o Limelight gera uma lista de contornos. Depois disso, cada contorno é envolvido em um retângulo delimitador de ajuste mais preciso, um retângulo "não rotacionado" e um "casco convexo". Estes passam por uma série de filtros para determinar o "melhor" contorno. Se múltiplos contornos passarem por todos os filtros, o Limelight escolhe o melhor contorno usando o Controle "Modo de Ordenação".

Modos de Ordenação​

Controla como os contornos são ordenados após passarem por todos os outros filtros.

Em 2019, o modo de ordenação "mais próximo" foi adicionado. Este modo selecionará o alvo que está mais próximo da mira configurável.

Área do Alvo​

Controla o intervalo de áreas aceitáveis do retângulo delimitador, como porcentagens da tela. Você pode aumentar a área mínima para ajudar a filtrar luzes do estádio, e diminuir o valor máximo para ajudar a filtrar coisas como grandes displays perto do campo.

O controle deslizante de área não é escalado linearmente, mas quarticamente. Isso é feito para fornecer precisão extra perto da extremidade inferior dos valores de área, onde muitos alvos de FRC se encontram. A área de um quadrado escala quadraticamente com o comprimento do seu lado, mas a escala x^4 fornece ainda maior precisão onde é necessário.

Preenchimento do Alvo​

Preenchimento é a porcentagem de pixels "ligados" no retângulo delimitador do contorno escolhido. Um alvo de retângulo sólido terá um preenchimento próximo de 1.0, enquanto um alvo em forma de U terá um preenchimento baixo.

Proporção do Alvo​

A proporção é definida pela largura do retângulo delimitador do contorno escolhido dividida pela sua altura. Uma proporção baixa descreve um retângulo "alto", enquanto uma proporção alta descreve um retângulo "largo".

O controle deslizante de proporção também é escalado quadraticamente.

Filtro de Direção​

Rejeita contornos com base na sua orientação.

Rejeição Inteligente de Manchas​

Rejeita contornos relativamente pequenos (em oposição a absolutamente pequenos com o filtro de área) que passaram por todos os outros filtros. Isso é essencial se um alvo deve permanecer rastreável de curta e longa distância. Este recurso foi introduzido na temporada de 2019 para rejeitar reflexos de LED do Limelight quando os robôs estavam muito próximos dos alvos.

Agrupamento de Alvos​

Controla o "agrupamento" de alvos. Configure para modo duplo para procurar "alvos" que consistem em duas formas, ou modo triplo para procurar alvos que consistem em três formas.

O Agrupamento Inteligente de Alvos pode agrupar um número variável de alvos e rejeitar outliers. Foi adicionado em 2022 para ajudar a rastrear o alvo do hub superior.

Filtro de Interseção (Apenas Alvos Duplos)​

Rejeita grupos de contornos com base em como eles se intersectariam se estendidos ao infinito.

Agrupamento Inteligente de Alvos​

Agrupa automaticamente alvos que passam por todos os filtros de alvos individuais.

  • Agrupará dinamicamente qualquer número de alvos entre -mínimo do controle deslizante de tamanho do grupo- e -máximo do controle deslizante de tamanho do grupo-

Rejeição de Outliers​

  • Embora alvos de grupo sejam mais desafiadores que alvos normais, eles fornecem mais informações e oportunidades para filtragem. Se você sabe que um gol é composto por múltiplos alvos que estão próximos uns dos outros, você pode realmente rejeitar alvos outliers que estão isolados.
  • Você deve confiar quase inteiramente em boa filtragem de alvos, e usar apenas a rejeição de outliers se você ver ou esperar outliers espúrios no seu stream de câmera. Se você tiver filtragem de alvos padrão ruim, a detecção de outliers pode começar a trabalhar contra você!

Saída​

Esta aba controla o que acontece durante o último estágio do pipeline de visão

Região de Mira​

Controla o ponto de interesse do retângulo delimitador do contorno escolhido. Por padrão, os parâmetros de rastreamento tx e ty representam os deslocamentos da sua mira até o centro do retângulo escolhido. Você pode usar outra opção se um alvo mudar de tamanho, ou for composto por dois alvos que às vezes se misturam.

Enviar Cantos Brutos?​

Configure este controle para "sim" para incluir localizações de cantos em JSON, NetworkTables e resultados da API. Ajuste o número de cantos enviados ajustando o valor "Simplificação de Contorno" na página "Filtragem de Contorno".

Enviar JSON via NT?​

Configure este controle para "sim" para enviar JSON via NetworkTables.

Calibração da Mira​

Controla a "origem" dos seus valores de mira. Digamos que um atirador no seu robô precisa ser calibrado de forma que sempre aponte um pouco à esquerda do centro. Você pode alinhar seu robô, clicar em "calibrar", e todos os seus valores de mira serão enviados relativos à sua nova mira. Veja a página de calibração para mais detalhes!

3D​

Experimente com estimativa de pose baseada em pontos PnP aqui.

Calcular 3D​

Controla se a estimativa de pose está habilitada. Você deve habilitar o modo de alta resolução 960x720 para que isso funcione.

Forçar Convexo​

Use esta opção para selecionar apenas os cantos "mais externos" de um alvo para SolvePnP.

Simplificação de Contorno​

Use esta opção para remover bordas pequenas e ruidosas do alvo.

Erro Aceitável​

O Limelight só retornará um alvo se ele passar em um teste de reprojeção com uma certa pontuação em pixels.

Deslocamento Z do Gol​

Automaticamente o valor de Profundidade 3D do seu alvo (Eixo Z).