Sobre o projeto

YoloDotNet é uma biblioteca modular de visão computacional .NET 8 para executar modelos YOLO exportados para ONNX. Implementada em C#, utiliza ONNX Runtime e SkiaSharp, sem exigir runtime Python ou OpenCV. A biblioteca é voltada para aplicações desktop, serviços backend e pipelines de visão em tempo real no Windows, Linux e macOS. As tarefas de inferência suportadas incluem classificação de imagens, detecção padrão de objetos, detecção de caixas delimitadoras orientadas, segmentação e estimativa de pose. A documentação lista suporte para as famílias de modelos YOLOv5u a YOLOv26, YOLO-World, YOLO-E e RT-DETR, com uma tabela de modelos verificados cobrindo variantes específicas de classificação, detecção, segmentação, pose e OBB. O uso de imagens e fluxos de vídeo é demonstrado nos projetos de exemplo do repositório. O pacote principal YoloDotNet é independente de provedor, e os usuários instalam exatamente um pacote de provedor de execução. Os provedores disponíveis são CPU, CUDA com suporte opcional a TensorRT, OpenVINO, CoreML e DirectML. A disponibilidade de plataforma varia: CPU funciona em Windows, Linux e macOS; CUDA e OpenVINO suportam Windows e Linux; CoreML suporta macOS; e DirectML suporta Windows. O README observa que misturar provedores pode causar conflitos de runtime nativos. A API é projetada para controle explícito sobre carregamento de modelo, pré-processamento, limites, memória e comportamento de execução. Um fluxo típico de detecção de objetos cria uma instância Yolo com YoloOptions e um provedor de execução, decodifica uma imagem com SkiaSharp, chama RunObjectDetection com configurações de confiança e IoU, desenha os resultados e salva a saída. O parâmetro IoU se aplica a modelos baseados em NMS e é ignorado para modelos como YOLOv10 e YOLOv26 que lidam com o pós-processamento relevante internamente. A versão 4.2 adiciona inferência de região de interesse para áreas selecionadas de imagem ou vídeo, desenho opcional de bordas em objetos segmentados, extração ordenada de pontos de contorno, auxiliares ToJson e SaveJson para resultados, e auxiliares ToYoloFormat e SaveYoloFormat para produzir anotações no estilo YOLO. Outros recursos documentados incluem cache de motor e configurações ajustáveis de redimensionamento e amostragem. Os usuários fornecem seus próprios modelos ONNX; o projeto não baixa, inclui ou agrupa pesos pré-treinados. O README recomenda exportação Ultralytics opset 17 para YOLOv5u a YOLOv12 e opset 18 para YOLOv26. O YoloDotNet em si é licenciado sob MIT, enquanto modelos produzidos com ferramentas Ultralytics podem ser AGPL-3.0 ou exigir uma licença comercial, portanto os usuários são responsáveis por confirmar a conformidade da licença do modelo.