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. Em seguida, cada contorno é envolvido em um retângulo delimitador de ajuste mais próximo, um retângulo "não rotacionado" e um "casco convexo". Estes passam por uma série de filtros para determinar o "melhor" contorno. Se vários 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 estiver 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 próximos ao campo.

O controle deslizante de área não é escalonado linearmente, mas quarticamente. Isso é feito para fornecer precisão extra próximo ao limite inferior dos valores de área, onde muitos alvos FRC se encontram. A área de um quadrado escala quadraticamente com o comprimento do seu lado, mas o escalonamento 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 a 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 por 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 é escalonado quadraticamente.

Filtro de Direção

Rejeita contornos com base em 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 aos alvos.

Agrupamento de Alvos

Controla o "agrupamento" de alvos. Defina para o 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 valores discrepantes. 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 individuais de alvo.

  • 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 Valores Discrepantes

  • Embora os alvos em grupo sejam mais desafiadores que os alvos normais, eles fornecem mais informações e oportunidades de filtragem. Se você sabe que um objetivo é composto por múltiplos alvos que estão próximos uns dos outros, você pode realmente rejeitar alvos discrepantes que estão isolados.
  • Você deve confiar quase inteiramente em uma boa filtragem de alvo padrão e usar a rejeição de valores discrepantes apenas se você ver ou esperar valores discrepantes espúrios em seu fluxo de câmera. Se você tiver uma filtragem de alvo padrão ruim, a detecção de valores discrepantes 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 fundem.

Enviar Cantos Brutos?

Defina 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 de "Simplificação de Contorno" na página "Filtragem de Contorno".

Enviar JSON via NT?

Defina 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 em seu robô precise 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 a estimativa de pose baseada em pontos PnP aqui.

Computar 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 pequenas bordas 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 Objetivo

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