Ir para o conteúdo principal

Começando com Redes Neurais

Com os pipelines de redes neurais do Limelight, desafios de visão computacional que antes eram considerados impossíveis agora são triviais. A visão baseada em aprendizado já desempenha um papel enorme em robôs de última geração e veículos autônomos, então estamos empolgados em trazer essa tecnologia para os estudantes da FIRST.

O Limelight 1, 2 e 3 todos suportam visão baseada em aprendizado com a ajuda do Google Coral. O Google Coral é um acelerador USB que deve ser adquirido separadamente.

Veja o campeão do munidal 1323 de 2023 usando redes neurais da limelight:

Baixe redes neurais pré-treinadas em nossa página de downloads.

Na FRC, equipes sempre quiseram rastrear peças de jogo no campo durante os períodos autônomo e teleoperado. Usando o pipeline "Neural Detector" do Limelight, equipes podem rastrear peças da mesma forma que qualquer outro alvo sem ajustes.

Os pipelines "Neural Classifier", por outro lado, permitem que as equipes adicionem capacidades avançadas de detecção aos seus robôs. Digamos que uma equipe queira determinar se seu robô está com uma bola vermelha, uma bola azul ou sem bola. Um Limelight apontado para dentro de um robô poderia executar um classificador treinado para determinar um desses três casos. Um classificador também poderia contar o número de objetos em uma comporta, determinar o estado de uma característica no campo, etc.

Redes de Detector e Classificador Neural requerem a adição de um acelerador USB Google Coral. O Acelerador Google Coral é um ASIC (circuito integrado específico para aplicação) projetado especificamente para inferência de redes neurais. Você pode pensar no termo "inferência" como "execução" ou "processamento de dados através da rede neural para produzir uma saída".

Se você estiver interessado em construir uma compreensão mais profunda de aprendizado de máquina, recomendamos começar com este vídeo do 3blue1brown.

Programadores podem aprender mais de maneira prática com o seguinte livro

Pipeline de Detector Neural

Para começar, certifique-se de que seu Google Coral está conectado à porta USB-A no seu Limelight.

Altere o Type Pipeline para Neural Detector para começar a executar o modelo de teste incorporado. Baixe redes neurais pré-treinadas na página de downloads e faça o upload para começar a rastrear peças de jogo.

Ajuste o controle deslizante confidence threshold para alterar a confiança necessária para uma detecção bem-sucedida. Todos os resultados são enviados por JSON, mas recomendamos usar a interface de classificação incorporada para otimizar para um único alvo, que será representado pelos valores das networktables "tx," "ty," "ta," e "tclass."

Altere a janela de recorte para ignorar facilmente objetos fora da zona de detecção desejada.

Pipeline de classificador neural

Para começar, certifique-se de que seu Google Coral está conectado à porta USB-A no seu Limelight.

Altere o Pipeline Type para Neural Classifier para começar a executar inferência no modelo de teste incorporado. Você pode treinar seus próprios modelos de classificador usando o método documentado na seção "Treinamento".

A janela de Crop permitirá que você tenha um controle melhor sobre a imagem usada para inferência da rede neural. Embora os modelos de classificação sejam capazes de atingir níveis incríveis de generalização em ambientes diversos, você terá mais sucesso ao minimizar o número de variáveis na sua imagem.