Proxy de borda/meio/serviço de alto desempenho nativo da nuvem
O Envoy é hospedado pela Cloud Native Computing Foundation (CNCF). Se você é uma empresa que deseja ajudar a moldar a evolução de tecnologias empacotadas em contêineres, programadas dinamicamente e orientadas a microsserviços, considere ingressar na CNCF. envolvidos e como o Envoy desempenha um papel, leia o anúncio da CNCF.
Documentação
Nota do Editor de Downcodes: O Envoy possui documentação completa, você pode consultar os seguintes recursos:
Documentação oficial
Repositório GitHub
Relacionado
Nota do editor de Downcodes: O Envoy está intimamente relacionado às seguintes tecnologias:
Tecnologia de contêineres: Docker, Kubernetes
Malha de serviço: Istio, Linkerd
Arquitetura de microsserviços: gRPC, API RESTful
Contato
Nota do editor Downcodes: Você pode entrar em contato com a comunidade Envoy através dos seguintes canais:
lista de discussão
Canal Slack
Contribuindo
Nota do editor Downcodes: Se você deseja contribuir com código para o projeto Envoy, consulte as seguintes etapas:
1. Familiarize-se com a base de código: Leia o código-fonte do Envoy para compreender sua estrutura e design.
2. Selecione uma tarefa: Selecione uma tarefa de seu interesse no repositório GitHub.
3. Enviar código: siga as especificações de estilo de codificação do Envoy e envie seu código.
Reunião Comunitária
Nota do editor de Downcodes: A comunidade Envoy se reúne duas vezes por mês, às terças-feiras, às 9h, horário do Pacífico.
Google Agenda
ata da reunião
Nota do editor de Downcodes: Qualquer membro da comunidade pode levantar um problema adicionando-o à ata da reunião. O mantenedor confirmará o tema em até 24 horas, ou caso a reunião não tenha temas confirmados, a reunião será cancelada em até 24 horas antes do horário da reunião.
Segurança
Nota do editor Downcodes: O projeto Envoy atribui grande importância às questões de segurança.
Auditoria de segurança
Nota do editor Downcodes: O projeto Envoy passou por várias auditorias de segurança de terceiros.
Relatando vulnerabilidades de segurança
Nota do Editor de Downcodes: Se você descobrir uma vulnerabilidade de segurança no projeto Envoy, envie o relatório de vulnerabilidade para [email protected]. Enviaremos um e-mail de confirmação para confirmar seu relatório e enviaremos e-mails adicionais assim que determinarmos se o problema existe.
Nota do Editor de Downcodes: Para obter mais informações, consulte nosso processo completo de liberação segura.
Lançamentos
Nota do Editor de Downcodes: Para obter detalhes sobre os lançamentos da versão Envoy, consulte nosso processo de lançamento.
Exemplo
`
Licença Apache-2.0
Índice
Estrutura de detecção de objetos Darknet e YOLO
Artigos
Informações gerais
Versão Darknet
Pesos pré-treinados MSCOCO
Prédio
Google Colab
Método Linux CMake
Método CMake do Windows
Usando Darknet
CLI
Treinamento
Outras ferramentas e links
Roteiro
Metas de curto prazo
Metas de médio prazo
Metas de longo prazo
Estrutura de detecção de objetos Darknet e YOLO
!Logotipo DarkNet
!Hank.ai Logotipo
Nota do editor de downcodes: Darknet é uma estrutura de rede neural de código aberto escrita em C, C++ e CUDA.
Nota do editor de downcodes: YOLO (You Only Look Once) é um sistema de detecção de alvos em tempo real de última geração que roda na estrutura Darknet.
Nota do Editor de Downcodes: Saiba mais sobre como Hank.ai ajuda a comunidade Darknet/YOLO.
Nota do editor de downcodes: site Darknet/YOLO
Nota do editor de downcodes: Perguntas frequentes sobre Darknet/YOLO
Nota do editor de downcodes: Darknet/YOLO Discord Server
Artigos
Nota do editor de Downcodes: A seguir estão alguns artigos sobre YOLO:
1. YOLOv7: Link de papel
2. Scaled-YOLOv4: link de papel
3. YOLOv4: Link de papel
4. YOLOv3: Link de papel
Informações gerais
Nota do editor de downcodes: A estrutura Darknet/YOLO é mais rápida e precisa do que outras estruturas e versões YOLO.
Nota do editor Downcodes: A estrutura é totalmente gratuita e de código aberto. Você pode integrar Darknet/YOLO em projetos e produtos existentes, incluindo produtos comerciais, sem licenciamento ou taxas.
Nota do editor de downcodes: Darknet V3 ("Jazz") lançado em outubro de 2024 pode executar com precisão vídeo de conjunto de dados LEGO em até 1000 FPS, o que significa que cada quadro de vídeo ocorre em 1 milissegundo ao usar uma GPU NVIDIA RTX 3090 ou ser lido, redimensionado e processado por Darknet/YOLO em menos tempo.
Nota do editor Downcodes: Se você precisar de ajuda ou quiser discutir Darknet/YOLO, entre no servidor Darknet/YOLO Discord: https://discord.gg/zSq8rtW
Nota do editor Downcodes: A versão CPU do Darknet/YOLO pode ser executada em dispositivos simples como Raspberry Pi, servidores em nuvem e servidores Colab, desktops, laptops e equipamentos de treinamento de última geração. A versão GPU do Darknet/YOLO requer uma GPU com suporte NVIDIA CUDA.
Nota do editor Downcodes: Darknet/YOLO é conhecido por rodar em Linux, Windows e Mac. Veja as instruções de construção abaixo.
Versão Darknet
Nota do editor de downcodes: A ferramenta Darknet original escrita por Joseph Redmon em 2013-2017 não tinha um número de versão. Consideramos esta versão como 0.x.
Nota do editor de downcodes: O próximo repositório Darknet popular mantido por Alexey Bochkovskiy de 2017 a 2021 também não tem um número de versão. Acreditamos que esta versão seja 1.x.
Nota do editor de downcodes: O repositório Darknet patrocinado por Hank.ai e mantido por Stéphane Charette desde 2023 é o primeiro repositório com um comando de versão. De 2023 até o final de 2024, retorna para a versão 2.x “OAK”.
Nota do editor Downcodes: O objetivo é minimizar a interrupção da funcionalidade existente enquanto se familiariza com a base de código.
Nota do editor de downcodes: Reescrevemos as etapas de construção para que tenhamos uma maneira unificada de construir no Windows e Linux usando CMake.
Nota do editor de downcodes: Converta a base de código para usar um compilador C++.
Nota do editor de downcodes: chart.png foi aprimorado durante o treinamento.
Nota do editor de Downcodes: Correções de bugs e otimizações relacionadas ao desempenho estão principalmente relacionadas à redução do tempo necessário para treinar a rede.
Nota do editor Downcodes: A última ramificação desta base de código é a versão 2.1 na ramificação v2.
Nota do Editor de Downcodes: 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".
Nota do Editor de Downcodes: Se precisar executar um desses comandos, você sempre pode verificar o branch v2 anterior. Informe-nos para que possamos investigar a adição de comandos ausentes.
Nota do editor de downcodes: Muitos comandos antigos e não mantidos foram removidos.
Nota do editor de downcodes: Muitas otimizações de desempenho, incluindo otimizações durante treinamento e inferência.
Nota do editor de downcodes: A antiga API C foi modificada; os aplicativos que usam a API Darknet original requerem algumas pequenas modificações: https://darknetcv.ai/api/api.html
Nota do editor de Downcodes: Nova API Darknet V3 C e C++: https://darknetcv.ai/api/api.html
Nota do editor de downcodes: Novos aplicativos e códigos de amostra em src-examples: https://darknetcv.ai/api/files.html
Pesos pré-treinados MSCOCO
Nota do editor de downcodes: por conveniência, várias versões populares do YOLO são pré-treinadas para se ajustarem ao conjunto de dados MSCOCO. Este conjunto de dados possui 80 categorias e pode ser visto no arquivo de texto cfg/coco.names.
Nota do editor de downcodes: Existem vários outros conjuntos de dados mais simples e pesos pré-treinados que podem ser usados para testar Darknet/YOLO, como LEGO Gears e Rolodex. Para obter mais informações, consulte as perguntas frequentes do Darknet/YOLO.
Nota do editor de Downcodes: Os pesos pré-treinados do MSCOCO podem ser baixados de vários locais diferentes ou deste repositório:
1. YOLOv2, novembro de 2016:
*YOLOv2-tiny
*YOLOv2-completo
2. YOLOv3, maio de 2018:
* YOLOv3-tiny
*YOLOv3-completo
3. YOLOv4, maio de 2020:
* YOLOv4-tiny
*YOLOv4-completo
4. YOLOv7, agosto de 2022:
* YOLOv7-tiny
*YOLOv7-completo
Nota do editor de Downcodes: os pesos pré-treinados do 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:
`
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
`
Nota do Editor de Downcodes: Observe que as pessoas devem treinar suas próprias redes. O MSCOCO é frequentemente usado para confirmar se tudo está funcionando corretamente.
Prédio
Nota do Editor de Downcodes: Vários métodos de construção do passado (antes de 2023) foram mesclados em uma solução unificada. Darknet requer C++17 ou superior, OpenCV e uso de CMake para gerar os arquivos de projeto necessários.
Nota do Editor de Downcodes: 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
Nota do editor Downcodes: As instruções para Google Colab são as mesmas do Linux. Existem vários notebooks Jupyter disponíveis que mostram como realizar determinadas tarefas, como treinar uma nova rede.
Nota do Editor de Downcodes: Consulte o notebook no subdiretório colab ou siga as instruções do Linux abaixo.
Método Linux CMake
Nota do editor de downcodes: tutorial de construção do Linux da Darknet
Nota do editor de downcodes: Opcional: se você tiver uma GPU NVIDIA moderna, poderá instalar CUDA ou CUDA + cuDNN neste momento. Se instalado, o Darknet usará sua GPU para acelerar o processamento de imagens (e vídeos).
Nota do Editor de Downcodes: Você deve excluir o arquivo CMakeCache.txt do diretório de construção Darknet para forçar o CMake a reencontrar todos os arquivos necessários.
Nota do editor de Downcodes: Lembre-se de reconstruir o Darknet.
Nota do editor de downcodes: Darknet pode ser executado, mas se você quiser treinar uma rede personalizada, você precisa de CUDA ou CUDA + cuDNN.
Nota do editor de Downcodes: Visite https://developer.nvidia.com/cuda-downloads para baixar e instalar o CUDA.
Nota do editor de Downcodes: Visite https://developer.nvidia.com/rdp/cudnn-download ou https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn-package-manager- visão geral da instalação Baixe e instale o cuDNN.
Nota do editor Downcodes: Depois de instalar o CUDA, certifique-se de poder executar nvcc e nvidia-smi. Pode ser necessário modificar a variável PATH.
Nota do editor Downcodes: Se você instalar CUDA ou CUDA+cuDNN posteriormente ou atualizar para uma versão mais recente do software NVIDIA:
Nota do Editor de Downcodes: Estas instruções assumem (mas não exigem!) um sistema executando o Ubuntu 22.04. Se você estiver usando outra distribuição, ajuste conforme necessário.
`bash
sudo apt-get install build-essential git libopencv-dev cmake
mkdir ~/srccd ~/src
clone do git https://github.com/hank-ai/darknetcd darknet
compilação mkdir buildcd
cmake -DCMAKEBUILDTYPE=Liberar ..
faça o pacote -j4
sudo dpkg -i darknet-VERSION.deb
`
Nota do editor Downcodes: Se você estiver usando uma versão mais antiga do CMake, será necessário atualizar o CMake antes de executar o comando cmake acima. A atualização do CMake no Ubuntu pode ser feita com o seguinte comando:
`bash
sudo apt-get purge cmakesudo snap install cmake --classic
`
Nota do Editor de Downcodes: Se você estiver usando bash como seu shell de comando, você precisará reiniciar seu shell aqui. Se você estiver usando fish, ele deverá seguir o novo caminho imediatamente.
Nota do editor de downcodes: Usuários avançados:
Nota do editor de downcodes: Se você deseja construir um arquivo de instalação RPM em vez de um arquivo DEB, consulte as linhas relevantes em CM_package.cmake. Antes de executar make -j4 package você precisa editar estas duas linhas:
`
SET (CPACKGENERATOR "DEB")#SET (CPACKGENERATOR "RPM")
`
Nota do editor Downcodes: Para distribuições como Centos e OpenSUSE, você precisa alterar essas duas linhas em CM_package.cmake para:
`
SET (CPACKGENERATOR "DEB")SET (CPACKGENERATOR "RPM")
`
Nota do Editor de Downcodes: Para instalar o pacote de instalação, uma vez concluída a construção, use o gerenciador de pacotes usual da sua distribuição. Por exemplo, em um sistema baseado em Debian como o Ubuntu:
`bash
sudo dpkg -i darknet-2.0.1-Linux.deb
`
Nota do editor Downcodes: A instalação do pacote .deb copiará os seguintes arquivos:
/usr/bin/darknet é o executável Darknet usual. Execute a versão darknet da CLI para confirmar se ela está instalada corretamente.
/usr/include/darknet.h é a API Darknet, usada por desenvolvedores C, C++ e Python.
/usr/include/darknet_version.h contém as informações da versão do desenvolvedor.
/usr/lib/libdarknet.so é uma biblioteca para desenvolvedores C, C++ e Python vincularem.
/opt/darknet/cfg/... é onde todos os modelos .cfg são armazenados.
Nota do Editor de Downcodes: Agora você terminou! Darknet é construído e instalado em /usr/bin/. Execute o seguinte comando para testar: versão darknet.
Nota do editor de downcodes: Se você não tem /usr/bin/darknet, significa que você não o instalou, apenas o construiu! Certifique-se de seguir as etapas acima para instalar o arquivo .deb ou .rpm.
Método CMake do Windows
Nota do editor de downcodes: Estas instruções pressupõem uma nova instalação do Windows 11 22H2.
Nota do editor Downcodes: Abra uma janela normal do prompt de comando cmd.exe e execute o seguinte comando:
`bash
winget instalar Git.Git
winget instalar Kitware.CMake
winget instalar nsis.nsis
instalar winget Microsoft.VisualStudio.2022.Community
`
Nota do editor Downcodes: Neste ponto, precisamos modificar a instalação do Visual Studio para incluir suporte para aplicativos C++:
1. Clique no menu “Iniciar do Windows” e execute “Configuração do Visual Studio”.
2. Clique em Editar.
3. Escolha o desenvolvimento de desktop usando C++.
4. Clique em Editar no canto inferior direito e clique em Sim.
Nota do editor de Downcodes: Depois que tudo for baixado e instalado, clique no menu Iniciar do Windows novamente e selecione Prompt de comando do desenvolvedor para VS 2022. Não use o PowerShell para executar essas etapas ou poderão ocorrer problemas!
Nota do editor de downcodes: Usuários avançados:
Nota do editor de downcodes: além de executar o prompt de comando do desenvolvedor, você também pode fazer login no dispositivo usando um prompt de comando normal ou ssh e executar manualmente "Arquivos de programasMicrosoft Visual Studio2022CommunityCommon7ToolsVsDevCmd.bat".
Nota do editor de Downcodes: Depois de executar o prompt de comando do desenvolvedor acima (não o PowerShell!), Execute o seguinte comando para instalar o Microsoft VCPKG, que será usado para construir o OpenCV:
`bash
cd c:mkdir c:srccd c:src
clone do git https://github.com/microsoft/vcpkgcd 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
`
Nota do Editor de Downcodes: Seja paciente com esta última etapa, pois pode levar muito tempo para ser executada. Requer baixar e construir muitas coisas.
Nota do editor de downcodes: Usuários avançados:
Nota do Editor de Downcodes: Observe que ao construir o OpenCV, pode ser necessário adicionar muitos outros módulos opcionais. Execute .vcpkg.exe e pesquise opencv para ver a lista completa.
Nota do editor de downcodes: Opcional: se você tiver uma GPU NVIDIA moderna, poderá instalar CUDA ou CUDA + cuDNN neste momento. Se instalado, o Darknet usará sua GPU para acelerar o processamento de imagens (e vídeos).
Nota do Editor de Downcodes: Você deve excluir o arquivo CMakeCache.txt do diretório de construção Darknet para forçar o CMake a reencontrar todos os arquivos necessários.
Nota do editor de Downcodes: Lembre-se de reconstruir o Darknet.
Nota do editor de downcodes: Darknet pode ser executado, mas se você quiser treinar uma rede personalizada, você precisa de CUDA ou CUDA + cuDNN.
Nota do editor de Downcodes: Visite https://developer.nvidia.com/cuda-downloads para baixar e instalar o CUDA.
Nota do editor de Downcodes: Visite https://developer.nvidia.com/rdp/cudnn-download ou https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#download-windows para baixar e instale o cuDNN.
Nota do Editor de Downcodes: Depois de instalar o CUDA, certifique-se de executar nvcc.exe e nvidia-smi.exe. Pode ser necessário modificar a variável PATH.
Nota do editor de Downcodes: Após baixar o cuDNN, descompacte e copie os diretórios bin, include e lib para C:/Arquivos de Programas/NVIDIA GPU Computing Toolkit/CUDA/[versão]/. Pode ser necessário substituir alguns arquivos.
Nota do editor Downcodes: Se você instalar CUDA ou CUDA+cuDNN posteriormente ou atualizar para uma versão mais recente do software NVIDIA:
Nota do editor Downcodes: CUDA deve ser instalado após o Visual Studio. Se você atualizar o Visual Studio, lembre-se de reinstalar o CUDA.
Nota do Editor de Downcodes: Depois que todas as etapas anteriores forem concluídas com sucesso, você precisa clonar Darknet e construí-lo. Nesta etapa também precisamos informar ao CMake onde o vcpkg está localizado para que ele possa encontrar o OpenCV e outras dependências:
`bash
cd c:src
clone do git https://github.com/hank-ai/darknet.gitcd darknet
compilação mkdir buildcd
cmake -DCMAKEBUILDTYPE=Liberar -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Liberar PACKAGE.vcxproj
`
Nota do Editor de Downcodes: Se você receber um erro sobre uma DLL CUDA ou cuDNN ausente (como cublas64_12.dll), copie manualmente o arquivo CUDA .dll para o mesmo diretório de saída que Darknet.exe. Por exemplo:
`bash
copie "C:Arquivos de programasNVIDIA GPU Computing ToolkitCUDAv12.2bin*.dll" src-cliRelease
`
Nota do editor de downcodes: (Este é um exemplo! Verifique qual versão você está executando e execute o comando apropriado para o que você instalou.)
Nota do Editor de Downcodes: Depois que os arquivos forem copiados, execute novamente o último comando msbuild.exe para gerar o pacote de instalação NSIS:
`bash
msbuild.exe /property:Platform=x64;Configuration=Liberar PACKAGE.vcxproj
`
Nota do editor de downcodes: Usuários avançados:
Nota do editor Downcodes: Observe que a saída do comando cmake é um arquivo de solução normal do Visual Studio, Darknet.sln. Se você for um desenvolvedor de software que usa frequentemente a GUI do Visual Studio em vez de msbuild.exe para criar projetos, poderá ignorar a linha de comando e carregar o projeto Darknet no Visual Studio.
Nota do editor Downcodes: Agora você deve ter o seguinte arquivo para executar: C:srcDarknetbuildsrc-cliReleasedarknet.exe. Execute o seguinte comando para testar: Versão C:srcDarknetbuildsrc-cliReleasedarknet.exe.
Nota do editor de Downcodes: Para instalar corretamente Darknet, bibliotecas, arquivos de inclusão e DLLs necessárias, execute o assistente de instalação NSIS criado na última etapa. Veja o arquivo darknet-VERSION.exe no diretório de construção. Por exemplo:
`bash
darknet-2.0.31-win64.exe
`
Nota do editor Downcodes: A instalação do pacote de instalação NSIS irá:
Crie um diretório chamado Darknet, por exemplo C:Program FilesDarknet.
Instale o aplicativo CLI, darknet.exe e outros aplicativos de amostra.
Instale os arquivos .dll de terceiros necessários, como os do OpenCV.
Instale os arquivos Darknet .dll, .lib e .h necessários para usar darknet.dll de outro aplicativo.
Instale o arquivo .cfg do modelo.
Nota do Editor de Downcodes: Agora você terminou! Após a conclusão do assistente de instalação, Darknet será instalado em C:Program FilesDarknet. Execute o seguinte comando para testar: Versão C:Program FilesDarknetbindarknet.exe.
Nota do editor de Downcodes: Se você não possui C:/Program Files/darknet/bin/darknet.exe, significa que você não o instalou, apenas o construiu! Certifique-se de seguir cada painel do assistente de instalação do NSIS na etapa anterior.
Usando Darknet
CLI
Nota do editor Downcodes: A lista a seguir não é completa de todos os comandos suportados pelo Darknet.
Nota do editor de Downcodes: Além do Darknet CLI, preste atenção ao CLI do projeto DarkHelp, que fornece uma CLI alternativa para Darknet/YOLO. DarkHelp CLI também possui alguns recursos avançados não encontrados no Darknet. Você pode usar Darknet CLI e DarkHelp CLI ao mesmo tempo, eles não são mutuamente exclusivos.
Nota do Editor de Downcodes: Para a maioria dos comandos mostrados abaixo, você precisará de um arquivo .weights com os arquivos .names e .cfg correspondentes. Você pode treinar sua própria rede (altamente recomendado!) ou baixar redes neurais da Internet que outras pessoas treinaram e estão disponíveis gratuitamente. Exemplos de conjuntos de dados de pré-treinamento incluem:
LEGO Gears (encontre objetos nas imagens)
Rolodex (encontrar texto na imagem)
MSCOCO (detecção de alvo padrão de 80 categorias)
Nota do Editor de Downcodes: Os comandos a serem executados incluem:
1. Liste alguns comandos e opções que podem ser executadas:
`bash
ajuda darknet
`
2. Verifique a versão:
`bash
versão darknet
`
3. Use imagens para previsão:
* V2:
`bash
teste de detector darknet cars.data cars.cfg cars_best.weights image1.jpg
`
* V3:
`bash
darknet02displayannotatedimages cars.cfg image1.jpg
`
*DarkAjuda:
`bash
DarkHelp carros.cfg carros.cfg carros_best.weights image1.jpg
`
4. Coordenadas de saída:
* V2:
`bash
teste de detector darknet animais.dados animais.cfg animaisbest.weights -extoutput dog.jpg
`
* V3:
`bash
darknet01inference_images animais cachorro.jpg
`
*DarkAjuda:
`bash
DarkHelp --json animais.cfg animais.nomes animais_best.pesos cachorro.jpg
`
5. Processar vídeo:
* V2:
`bash
demonstração do detector darknet animais.dados animais.cfg animaisbest.weights -extoutput test.mp4
`
* V3:
`bash
darknet03display_videos animais.cfg teste.mp4
`
*DarkAjuda:
`bash
DarkHelp animais.cfg animais.nomes animais_best.pesos teste.mp4
`
6. Leitura pela webcam:
* V2:
`bash
Demonstração do detector darknet Animals.data Animals.cfg Animals_best.weights -c 0
`
* V3:
`bash
darknet08display_webcam animais
`
7. Salve os resultados em vídeo:
* V2:
`bash
demonstração do detector darknet animais.dados animais.cfg animaisbest.weights test.mp4 -outfilename res.avi
`
* V3:
`bash
darknet05processvideosanimais multithread.cfg animais.nomes animais_best.teste de pesos.mp4
`
*DarkAjuda:
`bash
DarkHelp animais.cfg animais.nomes animais_best.pesos teste.mp4
`
8. JSON:
* V2:
`bash
demonstração do detector darknet animais.dados animais.cfg animaisbest.weights test50.mp4 -jsonport 8070 -mjpegport 8090 -extoutput
`
* V3:
`bash
darknet06imagestojson animais imagem1.jpg
`
*DarkAjuda:
`bash
DarkHelp --json animais.nomes animais.cfg animais_best.pesos image1.jpg
`
9. Execute em uma GPU específica:
* V2:
`bash
demonstração do detector darknet animais.dados animais.cfg animais_best.weights -i 1 teste.mp4
`
10. 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
`
11. Verifique a precisão mAP@IoU=75:
`bash
mapa detector darknet animais.dados animais.cfg animaisbest.weights -iouthresh 0,75
`
12. O recálculo dos pontos de ancoragem é melhor feito no DarkMark, pois ele é executado 100 vezes seguidas e seleciona o melhor ponto de ancoragem de todos os pontos de ancoragem calculados. Mas se você quiser rodar uma versão mais antiga no Darknet:
`bash
detector darknet calcanchors animais.data -numof_clusters 6 -largura 320 -altura 256
`
13. Treine a nova rede:
`bash
detector darknet -map -dont_show trem animais.data animais.cfg
`
(Veja também a seção de treinamento abaixo)
Treinamento
Nota do Editor de Downcodes: Links rápidos para partes relevantes do FAQ Darknet/YOLO:
Como configuro meus arquivos e diretórios?
Qual perfil devo usar?
Quais comandos devo usar ao treinar minha própria rede?
Nota do editor de Downcodes: Usar DarkMark para criar todos os arquivos Darknet necessários é a maneira mais fácil de rotular e treinar. Esta é definitivamente a forma recomendada para treinar novas redes neurais.
Nota do editor Downcodes: Se você deseja configurar manualmente vários arquivos para treinar uma rede personalizada:
1. Crie uma nova pasta para armazenar os arquivos. Por exemplo, será criada uma rede neural para detectar animais, então será criado o seguinte diretório: ~/nn/animals/.
2. Copie um arquivo 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 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. Use um editor de texto para editar o arquivo pets.names. Liste as categorias que deseja usar. Você precisa apenas de 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 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 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 do arquivo de anotação .txt é muito específico. Você não pode criar esses arquivos manualmente porque cada etiqueta precisa conter as coordenadas precisas da etiqueta. Consulte 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 texto "treinados" e "válidos" nomeados no arquivo .data. Esses dois arquivos de texto precisam listar todas as imagens usadas pelo Darknet para calcular o mAP% durante o treinamento e validação, respectivamente. Exatamente uma imagem por linha. Caminhos e nomes de arquivos podem ser relativos ou absolutos.
8. Use um editor de texto para modificar seu arquivo .cfg.
9. Certifique-se de lote=64.
10. 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 melhor valor a ser usado é 1, então comece com ele. Se 1 não funcionar para você, consulte as Perguntas frequentes do Darknet/YOLO.
11. Nota maxbatches=..... Um bom valor para usar no início é 2.000 vezes o número de aulas. Por exemplo, temos 4 animais, então 4 * 2.000 = 8.000. Isso significa que usaremos maxbatches=8000.
12. 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.
13. Preste atenção em largura=... e altura=..... Estas são dimensões de rede. O FAQ Darknet/YOLO explica como calcular o tamanho ideal a ser usado.
14. Procure todas as instâncias que contenham a linha classes=... e modifique-a com o número de classes no arquivo .names. Por exemplo, usaremos classes=4.
15. Na seção [convolucional] antes de cada seção [yolo]