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).