UniGetUI (anteriormente WingetUI)
O editor de Downcodes apresenta UniGetUI, uma interface GUI intuitiva criada para usuários do Windows 10 e 11, projetada para simplificar o uso de gerenciadores de pacotes CLI comuns, como WinGet, Scoop, Chocolatey, Pip, Npm, .NET Tool e PowerShell Gallery .
Funções UniGetUI
Com UniGetUI você pode facilmente baixar, instalar, atualizar e desinstalar software publicado em todos os gerenciadores de pacotes suportados e muito mais!
Gerenciadores de pacotes suportados por UniGetUI
Por favor, verifique a "Tabela de gerenciadores de pacotes suportados" para mais detalhes!
Isenção de responsabilidade
O projeto UniGetUI não tem conexão com nenhum gerenciador de pacotes suportado e é totalmente não oficial. Observe que Downcodes, desenvolvedor do UniGetUI, não é responsável pelo software baixado. Por favor, use com cuidado!
Perceber
O site oficial do UniGetUI é https://www.marticliment.com/unigetui/. Qualquer outro site deve ser considerado não oficial, não importa o que digam. Em particular, wingetui.com não é o site oficial da UniGetUI (anteriormente WingetUI).
Desenvolvedores de suporte
Seu apoio é vital para o desenvolvimento contínuo do UniGetUI e é profundamente apreciado pelos editores do Downcodes. Obrigado!
Índice
1. Instalação
Existem várias maneiras de instalar o UniGetUI, escolha o método de instalação de sua preferência!
* Instalação da Microsoft Store (recomendado)
Clique aqui para baixar o instalador UniGetUI.
* Instalar via Winget
`bash
winget instalar --exact --id MartiCliment.UniGetUI --source winget
`
* Instalado via Scoop
Nota: Atualmente há um problema com o pacote Scoop do UniGetUI. Por favor, não instale o UniGetUI via Scoop ainda.
`bash
# rem O pacote atual do UniGetUI está quebrado. Por enquanto, não instale o UniGetUI via scoop.
# rem balde de colher adicionar extras
# rem colher instalar extras/wingetui
`
* Instalado via Chocolatey
`bash
choco instalar wingetui
`
2. Atualize o UniGetUI
UniGetUI possui funcionalidade de atualização automática integrada. No entanto, você também pode atualizá-lo como qualquer outro pacote no UniGetUI (já que o UniGetUI está disponível através do Winget e do Scoop).
3. Função
* Gerenciadores de pacotes suportados
Nota: Todos os gerenciadores de pacotes oferecem suporte a processos básicos de instalação, atualização e desinstalação, bem como verificação de atualizações, localização de novos pacotes e recuperação de detalhes de pacotes.
Gerenciador de Pacotes | Suporte |
|---|---|---|
|
| Colher |
| Chocolate |
|
|
Ferramenta .NET |
Galeria do PowerShell |
ilustrar:
1. Alguns pacotes não suportam instalação em locais ou escopos personalizados e irão ignorar esta configuração.
2. Embora o gerenciador de pacotes possa não suportar versões de pré-lançamento, alguns pacotes podem ser copiados e uma das cópias é uma versão beta dele.
3. Alguns instaladores não possuem GUI e ignorarão o sinalizador interativo.
* Traduza UniGetUI para outros idiomas
Para traduzir o UniGetUI para outros idiomas ou atualizar traduções antigas, consulte o UniGetUI Wiki para obter mais informações.
* Idiomas atualmente suportados
*Atualizado: terça-feira, 29 de outubro 00:13:19 2024
4. Contribuição
UniGetUI não seria possível sem a ajuda de nossos queridos colaboradores. Desde a pessoa que corrigiu o erro de digitação até a pessoa que melhorou metade do código, a UniGetUI não poderia prescindir de suas contribuições!
Colaboradores:
*…
5. Captura de tela
*…
6. Perguntas frequentes
* Não consigo instalar ou atualizar um pacote específico do Winget! o que eu faço?
Isso pode ser um problema com o Winget e não com o UniGetUI. Verifique se o pacote pode ser instalado/atualizado via PowerShell ou prompt de comando usando o comando winget upgrade ou winget install (conforme apropriado, por exemplo: winget upgrade --id Microsoft.PowerToys). Se isso não funcionar, considere pedir ajuda na página do projeto Winget.
* O nome do pacote está truncado por reticências - como visualizar seu nome/ID completo?
Esta é uma limitação conhecida do Winget. Consulte este problema para obter mais detalhes: microsoft/winget-cli#2603.
* Meu software antivírus me diz que o UniGetUI é um vírus! /Meu navegador bloqueia o download do UniGetUI!
Uma razão comum pela qual os aplicativos (ou seja, arquivos executáveis) são bloqueados e/ou detectados como vírus - mesmo que não contenham código malicioso, como o UniGetUI - é porque relativamente poucas pessoas os usam. Adicione a isso o fato de que provavelmente você está baixando algo que foi lançado recentemente e, em muitos casos, bloquear aplicativos desconhecidos é uma boa precaução contra malware real. Como o UniGetUI é de código aberto e seguro de usar, coloque o aplicativo na lista de permissões nas configurações do seu software antivírus/navegador.
* As bolsas Winget/Scoop são seguras?
UniGetUI, Microsoft e Scoop não se responsabilizam por pacotes disponíveis para download, que são fornecidos por terceiros e podem, teoricamente, estar quebrados. A Microsoft implementou algumas verificações no software disponível no Winget para reduzir o risco de download de malware. Mesmo assim, é recomendado que você baixe apenas software de editores confiáveis. Confira o wiki para mais informações!
7. Parâmetros de linha de comando
Veja aqui uma lista completa de parâmetros.
8. Exemplo
*…
9. Licença
Licença Apache-2.0
Estrutura de detecção de objetos Darknet e YOLO
Logotipo !darknet e hank.ai
Darknet é uma estrutura de rede neural de código aberto escrita em C, C++ e CUDA.
YOLO (You Only Look Once) é um sistema de detecção de objetos em tempo real de última geração na estrutura Darknet.
Leia como Hank.ai ajuda a comunidade Darknet/YOLO
Anunciando Darknet V3 "Jazz"
Confira o site Darknet/YOLO
Por favor, leia as perguntas frequentes da Darknet/YOLO
Junte-se ao servidor de discórdia Darknet/YOLO
Artigos
Artigo YOLOv7
Papel em escala-YOLOv4
Artigo YOLOv4
Artigo YOLOv3
Informações gerais
A estrutura Darknet/YOLO é mais rápida e precisa do que outras estruturas e versões YOLO.
A estrutura é totalmente gratuita e de código aberto. Você pode incorporar Darknet/YOLO em projetos e produtos existentes - incluindo produtos comerciais - sem licenciamento ou taxas.
Darknet V3 ("Jazz"), lançado em outubro de 2024, pode executar com precisão vídeos de conjuntos de dados LEGO em até 1000 FPS ao usar uma GPU NVIDIA RTX 3090, o que significa que cada quadro de vídeo leva 1 milissegundo ou menos para ser lido, redimensionado e processado por Darknet/YOLO.
Se você precisar de ajuda ou quiser discutir Darknet/YOLO, entre no servidor Darknet/YOLO Discord: https://discord.gg/zSq8rtW
A versão CPU do Darknet/YOLO pode ser executada em dispositivos simples, como Raspberry Pi, servidores em nuvem e colab, desktops, laptops e equipamentos de treinamento de última geração. A versão GPU do Darknet/YOLO requer GPU compatível com CUDA da NVIDIA.
Darknet/YOLO é conhecido por rodar em Linux, Windows e Mac. Confira as instruções de construção abaixo.
Versão Darknet
As ferramentas Darknet originais escritas por Joseph Redmon em 2013-2017 não tinham números de versão. Achamos que esta é a versão 0.x.
O próximo repositório Darknet popular mantido entre 2017-2021 por Alexey Bochkovskiy também não tem número de versão. Achamos que esta é a versão 1.x.
O repositório Darknet patrocinado por Hank.ai e mantido por Stéphane Charette desde 2023 é o primeiro a ter um comando de versão. De 2023 até o final de 2024, retorna para a versão 2.x “OAK”.
O objetivo é se familiarizar com a base de código e, ao mesmo tempo, quebrar o mínimo possível de funcionalidades existentes.
Reescrevemos as etapas de construção para que tenhamos uma maneira unificada de construir no Windows e Linux usando CMake.
Converta a base de código para usar um compilador C++.
Aprimore chart.png durante o treinamento.
Correções de bugs e otimizações relacionadas ao desempenho, principalmente relacionadas à redução do tempo necessário para treinar a rede.
A última ramificação desta base de código é a versão 2.1 na ramificação v2.
A próxima fase de desenvolvimento começa em meados de 2024 e será lançada em outubro de 2024. O comando version agora retorna 3.x "JAZZ".
Se precisar executar um desses comandos, você sempre pode verificar a ramificação v2 anterior. Informe-nos para que possamos investigar a adição de comandos ausentes.
Muitos comandos antigos e não mantidos foram removidos.
Muitas otimizações de desempenho, tanto durante o treinamento quanto durante a inferência.
A antiga API C foi modificada; os aplicativos que usam a API Darknet original requerem pequenas modificações: https://darknetcv.ai/api/api.html
Nova API Darknet V3 C e C++: https://darknetcv.ai/api/api.html
Novos aplicativos e código de exemplo em src-examples: https://darknetcv.ai/api/files.html
Pesos pré-treinados MSCOCO
Por conveniência, várias versões populares do YOLO são pré-treinadas no conjunto de dados MSCOCO. Este conjunto de dados contém 80 categorias e pode ser visto no arquivo de texto cfg/coco.names.
Existem vários outros conjuntos de dados mais simples e pesos pré-treinados disponíveis para testar Darknet/YOLO, como LEGO Gears e Rolodex. Para obter mais informações, consulte as perguntas frequentes do Darknet/YOLO.
Os pesos pré-treinados do MSCOCO podem ser baixados de vários locais diferentes e também deste repositório:
YOLOv2, novembro de 2016
*YOLOv2-tiny
*YOLOv2-completo
YOLOv3, maio de 2018
* YOLOv3-tiny
*YOLOv3-completo
YOLOv4, maio de 2020
* YOLOv4-tiny
*YOLOv4-completo
YOLOv7, agosto de 2022
* YOLOv7-tiny
*YOLOv7-completo
Os pesos pré-treinados da MSCOCO são apenas para fins de demonstração. Os arquivos .cfg e .names correspondentes para MSCOCO estão localizados no diretório cfg. Comando de exemplo:
`bash
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg DarkHelp coco.names yolov4-tiny.cfg yolov4-tiny.weights video1. avi
`
Observe que deve-se treinar sua própria rede. O MSCOCO geralmente é usado para confirmar se tudo está funcionando corretamente.
Construir
Os vários métodos de construção disponíveis no passado (antes de 2023) foram fundidos numa solução unificada. Darknet requer C++17 ou superior, OpenCV e uso de CMake para gerar os arquivos de projeto necessários.
Você não precisa saber C++ para construir, instalar ou executar Darknet/YOLO, assim como não precisa ser mecânico para dirigir um carro.
Google Colab
As instruções do Google Colab são iguais às instruções do Linux. Existem vários notebooks Jupyter mostrando como realizar determinadas tarefas, como treinar uma nova rede.
Confira o notebook no subdiretório colab ou siga as instruções do Linux abaixo.
Método Linux CMake
1. Instale dependências
`bash
sudo apt-get atualização
sudo apt-get install build-essential git libopencv-dev cmake
`
2. Clone o repositório Darknet
`bash
clone do git https://github.com/hank-ai/darknet.git
`
3. Crie um diretório de construção
`bash
cd rede escura
compilação mkdir
compilação de CD
`
4. Use CMake para configurar a compilação
`bash
cmake -DCMAKEBUILDTYPE=Liberar ..
`
5. Construir Darknet
`bash
faça -j4
`
6. Instale DarkNet
`bash
sudo make install
`
7. Teste a Darknet
`bash
versão darknet
`
Métodos CMake do Windows
1. Instale dependências
`bash
winget instalar Git.Git
winget instalar Kitware.CMake
winget instalar nsis.nsis
instalar winget Microsoft.VisualStudio.2022.Community
`
2. Instale o OpenCV
`bash
CDC:
mkdir C:src
cd C:src
clone do git https://github.com/microsoft/vcpkg.git
CD vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe integrar instalação
.vcpkg.exe integrar powershell
.vcpkg.exe instalar opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
`
3. Clone o repositório Darknet
`bash
cd C:src
clone do git https://github.com/hank-ai/darknet.git
`
4. Crie um diretório de construção
`bash
cd rede escura
compilação mkdir
compilação de CD
`
5. Use CMake para configurar a compilação
`bash
cmake -DCMAKEBUILDTYPE=Liberar -DCMAKETOOLCHAINFILE=C:srcvcpkgscriptsbuildsystemsvcpkg.cmake ..
`
6. Construa Darknet usando Visual Studio
`bash
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
`
7. Crie o pacote de instalação NSIS
`bash
msbuild.exe /property:Platform=x64;Configuration=Liberar PACKAGE.vcxproj
`
8. Execute Darknet
`bash
C:srcdarknetbuildsrc-cliReleasedarknet.exe versão
`
Usando Darknet
CLI
A seguir não está uma lista completa de todos os comandos suportados pelo Darknet.
Além da CLI Darknet, observe também a CLI do projeto DarkHelp, que fornece uma CLI alternativa para Darknet/YOLO. DarkHelp CLI também possui vários recursos avançados não encontrados no Darknet. Você pode usar o Darknet CLI e o DarkHelp CLI juntos, eles não são mutuamente exclusivos.
Para a maioria dos comandos mostrados abaixo, você precisará do arquivo .weights e dos arquivos .names e .cfg correspondentes. Você mesmo pode treinar a rede (altamente recomendado!) Ou baixar redes neurais que outras pessoas treinaram e estão disponíveis gratuitamente na Internet. Exemplos de conjuntos de dados de pré-treinamento incluem:
LEGO Gears (encontre objetos nas imagens)
Rolodex (encontrar texto na imagem)
MSCOCO (detecção de objetos padrão classe 80)
Os comandos a serem executados incluem:
Liste alguns comandos e opções possíveis que podem ser executados:
ajuda darknet
Verifique a versão:
versão darknet
Use imagens para fazer previsões:
V2: teste de detector darknet cars.data cars.cfg cars_best.weights image1.jpg
V3: darknet02displayannotatedimages cars.cfg image1.jpg
DarkHelp: DarkHelp cars.cfg cars.cfg cars_best.weights image1.jpg
Coordenadas de saída:
V2: teste de detector darknet Animals.data Animals.cfg Animalsbest.weights -extoutput dog.jpg
V3: darknet01inference_images animais cachorro.jpg
DarkHelp: DarkHelp --json animais.cfg animais.nomes animais_best.pesos cachorro.jpg
Usar vídeo:
V2: demonstração do detector darknet animais.dados animais.cfg animaisbest.weights -extoutput test.mp4
V3: darknet03display_videos animais.cfg teste.mp4
DarkHelp: DarkHelp animais.cfg animais.nomes animais_best.pesos teste.mp4
Lendo da webcam:
V2: demonstração do detector darknet Animals.data Animals.cfg Animals_best.weights -c 0
V3: animais darknet08display_webcam
Salve os resultados no vídeo:
V2: demonstração do detector darknet animais.dados animais.cfg animaismelhores.pesos teste.mp4 -outfilename res.avi
V3: darknet05processvideosanimais multithreaded.cfg animais.nomes animais_best.teste de pesos.mp4
DarkHelp: DarkHelp animais.cfg animais.nomes animais_best.pesos teste.mp4
JSON:
V2: demonstração do detector darknet animais.dados animais.cfg animaisbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
V3: darknet06imagestojson animais image1.jpg
DarkHelp: DarkHelp --json animais.nomes animais.cfg animais_best.pesos image1.jpg
Execute em uma GPU específica:
V2: demonstração do detector darknet Animals.data Animals.cfg Animals_best.weights -i 1 test.mp4
Verifique a precisão da rede neural:
`bash
mapa do detector darknet driving.data driving.cfg driving_best.weights ...
Id Nome AvgPrecision TP FN FP TN Precisão ErrorRate Precisão Recall Especificidade FalsePosRate
------ ------------ ------ ------ ------ ------ -------- --------- --------- ------ ---------- ----------
0 veículo 91,2495 32648 3903 5826 65129 0,9095 0,0905 0,8486 0,8932 0,9179 0,0821
1 motocicleta 80,4499 2936 513 569 5393 0,8850 0,1150 0,8377 0,8513 0,9046 0,0954
2 bicicletas 89,0912 570 124 104 3548 0,9475 0,0525 0,8457 0,8213 0,9715 0,0285
3 pessoas 76,7937 7072 1727 2574 27523 0,8894 0,1106 0,7332 0,8037 0,9145 0,0855
4 muitos veículos 64,3089 1068 509 733 11288 0,9087 0,0913 0,5930 0,6772 0,9390 0,0610
5 luz verde 86,8118 1969 239 510 4116 0,8904 0,1096 0,7943 0,8918 0,8898 0,1102
6 luz amarela 82,0390 126 38 30 1239 0,9525 0,0475 0,8077 0,7683 0,9764 0,0236
7 luz vermelha 94,1033 3449 217 451 4643 0,9237 0,0763 0,8844 0,9408 0,9115 0,0885
`
Verifique a precisão mAP@IoU=75:
mapa detector darknet animais.dados animais.cfg animaisbest.weights -iouthresh 0,75
O recálculo dos pontos de ancoragem é melhor feito no DarkMark, pois ele será executado 100 vezes seguidas e selecionará o melhor ponto de ancoragem de todos os pontos de ancoragem calculados. No entanto, se você deseja executar uma versão mais antiga no Darknet:
detector darknet calcanchors animais.data -numof_clusters 6 -largura 320 -altura 256
Treine uma nova rede:
detector darknet -map -dont_show trainanimais.dataanimais.cfg (veja também a seção de treinamento abaixo)
trem
Links rápidos para seções relevantes do FAQ Darknet/YOLO:
Como devo configurar meus arquivos e diretórios?
Qual perfil devo usar?
Qual comando você deve usar ao treinar sua própria rede?
Usar o DarkMark para criar todos os arquivos Darknet necessários é a maneira mais fácil de anotar e treinar. Esta é definitivamente a forma recomendada para treinar novas redes neurais.
Se desejar configurar manualmente os vários arquivos para treinar uma rede personalizada:
1. Crie uma nova pasta
Crie uma nova pasta para armazenar os arquivos. Por exemplo, você criará uma rede neural para detectar animais, então crie o seguinte diretório: ~/nn/animals/.
2. Copie o arquivo de configuração
Copie um dos arquivos de configuração Darknet que deseja usar como modelo. Por exemplo, consulte cfg/yolov4-tiny.cfg. Coloque-o na pasta que você criou. Por exemplo, agora temos ~/nn/animals/animals.cfg.
3. Crie o arquivo .names
Crie um arquivo de texto Animals.names na mesma pasta onde você colocou o arquivo de configuração. Por exemplo, agora temos ~/nn/animals/animals.names.
4. Edite o arquivo .names
Use um editor de texto para editar o arquivo pets.names. Liste as categorias que deseja usar. Deve haver exatamente uma entrada por linha, sem linhas em branco e sem comentários. Por exemplo, o arquivo .names conterá exatamente 4 linhas:
`
cachorro
gato
pássaro
cavalo
`
5. Crie um arquivo .data
Crie um arquivo de texto Animals.data na mesma pasta. Por exemplo, um arquivo .data conteria:
`
aulas=4
trem=/home/nomedeusuário/nn/animals/animals_train.txt
válido=/home/nomedeusuário/nn/animals/animals_valid.txt
nomes=/home/nomedeusuário/nn/animais/animais.nomes
backup=/home/nomedeusuário/nn/animais
`
6. Crie uma pasta de conjunto de dados
Crie uma pasta para armazenar suas imagens e anotações. Por exemplo, pode ser ~/nn/animals/dataset. Cada imagem requer um arquivo .txt correspondente que descreve as anotações dessa imagem. O formato dos arquivos de comentários .txt é muito específico. Você não pode criar esses arquivos manualmente porque cada anotação precisa conter as coordenadas precisas da anotação. Confira o DarkMark ou outro software semelhante para fazer anotações em suas imagens. O formato de anotação YOLO é descrito nas Perguntas frequentes do Darknet/YOLO.
7. Crie arquivos “de treinamento” e “válidos”
Crie arquivos de texto "treinados" e "válidos" nomeados no arquivo .data. Esses dois arquivos de texto precisam listar todas as imagens que o Darknet deve usar para treinamento e validação ao calcular o mAP%, respectivamente. Exatamente uma imagem por linha. Caminhos e nomes de arquivos podem ser relativos ou absolutos.
8. Modifique o arquivo .cfg
Use um editor de texto para modificar seu arquivo .cfg.
* Certifique-se de lote=64.
* Preste atenção às subdivisões. Dependendo do tamanho da rede e da quantidade de memória disponível na GPU, pode ser necessário aumentar as subdivisões. O valor ideal é 1, então comece com 1. Se 1 não funcionar para você, consulte as Perguntas frequentes do Darknet/YOLO.
Nota maxbatches=…. Um bom valor para começar é 2.000 vezes o número de categorias. Por exemplo, temos 4 animais, então 4 2.000 = 8.000. Isso significa que usaremos maxbatches=8000.
* Observe as etapas =…. Isso deve ser definido como 80% e 90% de maxbatches. Por exemplo, como maxbatches está definido como 8.000, usaremos steps=6400,7200.
* Observe largura=... e altura=.... Estas são dimensões de rede. O FAQ Darknet/YOLO explica como calcular o tamanho ideal a ser usado.
Na seção [convolucional] antes de cada seção [yolo], encontre todas as instâncias das linhas classes=... e filtros=.... O valor a ser usado é (número de classes + 5) 3. Isso significa que, para este exemplo, (4 + 5) * 3 = 27. Então usaremos filter=27 na linha correspondente.
9. Comece a treinar
Execute o seguinte comando:
`bash
cd ~/nn/animais/
detector darknet -map -dont_show trem animais.data animais.cfg
`
Ser paciente. Os melhores pesos serão salvos como Animals_best.weights. Você pode observar o progresso do treinamento visualizando o arquivo chart.png. Consulte o FAQ Darknet/YOLO para parâmetros adicionais que você pode querer usar ao treinar uma nova rede.
Se quiser ver mais detalhes durante o treinamento, adicione o parâmetro --verbose. Por exemplo:
`bash
detector darknet -map -dont_show --verbose trem animais.data animais.cfg
`
Outras ferramentas e links
Para gerenciar seu projeto Darknet/YOLO, anotar imagens, validar suas anotações e gerar os arquivos necessários para treinamento com Darknet, confira DarkMark.
Para obter uma CLI alternativa poderosa ao Darknet para usar junção de imagens, rastreamento de objetos em vídeo ou usar uma API C++ poderosa que pode ser facilmente usada em aplicativos comerciais, confira DarkHelp.
Confira o FAQ Darknet/YOLO para ver se ele pode ajudar a responder sua pergunta.
Confira os diversos tutoriais e vídeos de exemplo no canal de Stéphane no YouTube
Se você tiver dúvidas de suporte ou quiser conversar com outros usuários Darknet/YOLO, entre no servidor de discórdia Darknet/YOLO.
Roteiro
Última atualização em 30/10/2024:
Concluído
Substituído qsort() por std::sort() durante o treinamento (algumas outras ambigüidades ainda existem)
Remova check_mistakes, getchar() e system()
Converta Darknet para usar um compilador C++ (g++ no Linux, Visual Studio no Windows)
Corrigir compilação do Windows
Corrigir suporte a Python
Construir biblioteca darknet
Reativar rótulos em previsões (código "alfabeto")
Reativar código CUDA/GPU
Reativar CUDNN
Reative a metade CUDNN
Não codifique a arquitetura CUDA
Melhores informações sobre a versão CUDA
Reativar AVX
Remova a solução antiga e o Makefile
Torne o OpenCV não opcional
Remova a dependência da antiga biblioteca pthread
Excluir STB
Reescreva CMakeLists.txt para usar a nova instrumentação CUDA
Removido o antigo código do "alfabeto" e excluído mais de 700 imagens em dados/rótulos
Construa fora do código-fonte
Tenha melhor saída de número de versão
Otimizações de desempenho relacionadas ao treinamento (tarefas em andamento)
Otimizações de desempenho relacionadas à inferência (tarefas em andamento)
Use referências por valor sempre que possível
Limpe arquivos .hpp
Reescrever darknet.h
Não converta cv::Mat em void, em vez disso use-o como um objeto C++ adequado
Corrija ou mantenha o uso consistente de estruturas internas de imagem
Corrigir compilação para dispositivos Jetson baseados em ARM
*É improvável que os dispositivos Jetson originais sejam consertados, pois não são mais suportados pela NVIDIA (sem compilador C++17)
* Novo dispositivo Jetson Orin agora em execução
Corrigir API Python na V3
* Precisa de melhor suporte para Python (há algum desenvolvedor de Python disposto a ajudar?)
metas de curto prazo
Substitua printf() por std::cout (trabalho em andamento)
Investigue o suporte para câmeras Zed antigas
Análise de linha de comando melhor e mais consistente (trabalho em andamento)
metas de médio prazo
Remova todos os códigos de caracteres e substitua por std::string
Não oculte avisos e limpe os avisos do compilador (trabalho em andamento)
Melhor usar cv::Mat em vez de estruturas de imagem personalizadas em C (trabalho em andamento)
Substitua funções de lista antigas por std::vector ou std::list
Correção do suporte para imagens em tons de cinza de 1 canal
Adicionado suporte para imagens de canal N onde N > 3 (por exemplo, imagens com profundidade adicional ou canais térmicos)
Limpeza de código contínua (em andamento)
objetivos de longo prazo
Corrija problemas de CUDA/CUDNN em todas as GPUs
Reescreva o código CUDA + cuDNN
Investigue a adição de suporte para GPUs não NVIDIA
Caixa delimitadora girada ou algum tipo de suporte de "ângulo"
pontos-chave/esqueleto
Mapa de calor (trabalho em andamento)
segmentação