Respostas no Fórum
- AutorPosts
- 28 de junho de 2024 às 08:14 em resposta a: curso de visao computacional-Carregamento e processamento da imagem #45501
Olá Victor!
Para fazer uma cópia do arquivo da aula no Colab, selecione a opção “Arquivo > Fazer uma cópia no Drive”, no menu do topo.
Caso tenha dúvidas, veja a aula “Carregamento e processamento da imagem”, isso é mostrado no minuto 1:33 do vídeo.Como alternativa você pode fazer o download do .ipynb dentro da mesma opção Arquivo e depois fazer o upload no Colab, mas desse modo acima acaba sendo mais prático.
O link para o Colab contendo o código está presente sempre na primeira aula da seção, ou da primeira aula onde aquele código é exibido. E quanto aos demais arquivos que serão usados ao longo do curso, estão no drive da aula “Recursos para download”.
Olá!
Na verdade está um pouco invertido de acordo com a ordem que você apresentou. O correto seria:
- Verdadeiro Positivo = 129
- Falso Positivo = 60 (pois a predição foi ‘isoladores’ e o real era ‘fundo’, portanto é incorretamente marcado como positivo)
- Falso Negativo = 89 (pois a predição foi ‘fundo’ mas na realidade era ‘isoladores’, portanto é incorretamente marcado como negativo)
- Verdadeiro Negativo = (não aplicável)
Portanto, talvez assim estaria mais próxima da ordem que você mencionou estar mais acostumado, embora não exatamente ainda. Aliás, acredito que não deve haver uma forma “correta”, se for pesquisar verá que não há uma unanimidade nesse sentido pois pode-se encontrar diversos materiais e artigos sérios onde tanto o FP quanto o FN estão em cima, ou outros onde segue essa mesma ordem que você passou. No entanto, possivelmente a ordem mais usada é onde o Verdadeiro Positivo esteja no canto superior esquerdo e o Verdadeiro Negativo esteja no canto inferior direito (aliás, se pesquisar em inglês observará que é mais comum ainda seguirem essa mesma ordem que o YOLO usa).
Olá Brenda!
Para saber qual a época que corresponde ao melhor modelo treinado (o best.pt) você pode consultar o arquivo results.csv que é executado durante o treinamento. Este arquivo registra métricas como precisão, recall, mAP e perda de valor para cada época. Procure a época com melhor desempenho (geralmente a menor perda de validação ou o maior mAP, dependendo de qual best.pt foi selecionado) para identificar a época a que corresponde o seu modelo best.pt. Lembrando que esse arquivo best.pt (contendo os pesos salvos para o melhor resultado) também está acessível dentro do diretório de treinamento, junto ao last.pt (os pesos mais recentes salvos, independente de serem os melhores ou não).
Olá Brenda!
A estimativa de pose do YOLOv8 pode ser feita usando os recursos implementados nessa seção. Para carregar o modelo você pode usar o mesmo método “YOLO()” porém ao invés de passar como parâmetro o nome do arquivo contendo os pesos do modelo de detecção você vai colocar o nome do modelo de estimativa de pose.
Para ver um exemplo e mais informações sobre os parâmetros, veja aqui https://docs.ultralytics.com/pt/tasks/pose/#models
Disponha =)
6 de junho de 2024 às 00:40 em resposta a: Como instalar o automatic1111 (local) com esses plugins? #45333Olá Arthur!
Deve estar mostrando diferente por causa das extensões, para deixar com a configuração mais próxima à do curso eu sugiro executar os comandos listado no bloco dentro do passo 2 (Instalação das bibliotecas e recursos essenciais). Pode deixar na mesma ordem que eles aparecem lá.
Nesse bloco é feita a instalação de algumas bibliotecas e de várias extensões diferentes que serão carregadas ao abrir o Automtic1111. Cada linha contendo o git clone corresponde a uma extensão/plugin diferente. Por exemplo, o comando “!git clone –depth 1 https://github.com/ahgsql/StyleSelectorXL” irá instalar a extensão de seletor de estilos. Ao executar localmente, a única diferença é que você deve retirar a exclamação do início do comando (já o resto pode deixar igual).
Olá Francisco!
Esse conceito de ‘background’ existe no contexto da matriz de confusão e é usado para indicar previsões falso-positivas do seu modelo quando ele vê objetos inexistentes em segundo plano. Ou seja, o background (fundo) seria aquilo que não é o objeto, desse modo é possível calcular e visualizar melhor os falsos positivos, que são os objetos incorretamente detectados.
Os demais conceitos são os mesmos encontrados em qualquer tipo de matriz de confusão. Não sei o quão familiarizado está com esse método de avaliação, mas só para lembrar rapidamente que a matriz de confusão é uma tabela que compara as previsões do modelo com os valores reais, organizada de forma que as linhas representam as classes reais e as colunas representam as classes preditas. Cada célula da matriz contém o número de amostras que correspondem a uma combinação específica de classe real e classe predita. Os valores dentro da matriz são divididos em quatro categorias principais: Verdadeiro Positivo (TP), Verdadeiro Negativo (TN), Falso Positivo (FP) e Falso Negativo (FN). TP indica o número de instâncias em que o modelo corretamente previu a classe positiva; TN é o número de instâncias corretamente identificadas como negativas; FP refere-se às instâncias incorretamente classificadas como positivas; e FN são as instâncias que foram incorretamente classificadas como negativas. O eixo X (horizontal) da matriz de confusão corresponde às classes classes reais, enquanto o eixo Y (vertical) corresponde às preditas.
Nesse diagrama aqui é mostrado o processo de criação da matriz de confusão. Se desejar uma explicação bem mais detalhada do processo, recomendo esse artigo.
Olá, que ótimo!
Quanto ao exemplo fornecido, o que pode estar dificultando o reconhecimento é a perspectiva de placa na foto, veja que pelo fato de não estar alinhada o texto fica na diagonal e isso pode dificultar o OCR. Para corrigir isso, você pode usar alguns conjuntos de técnicas de processamento para fazer a correção da perspectiva, veja esse código aqui de exemplo.
Olá Jailson!
Sobre SSD temos sim, no curso Detecção / Reconhecimento Facial com Python. E agradecemos sua sugestão
O YuNet é ótimo realmente, ele por coincidência foi publicado logo junto com o lançamento desse curso então não teria como colocar em sua grade. Mas se busca por técnicas de detecção mais modernas, recomendamos abordagens como o YOLOv8 por exemplo que é abordado no curso dessa técnica (aqui), é ainda mais recente e poderoso.
Olá Rodrigo!
Você já tentou alterar os parâmetros, como o –psm?
Outra coisa, apesar de ter detectado você consegue verificar se foi detectada exatamente a região correta da placa? Para isso, retire do comentário a linha de código show_img(processed_plate)
Pois nesse código está programado para mostrar que houve a detecção, mas em alguns casos não foi a região certa da placa.
Sugiro testar também o EasyOCR, caso não tenha testado ainda, pois ele tem uma tendência a funcionar melhor para imagens em situações inseridas no mundo real (em “cenários naturais”) exigindo menos esforço para se conseguir melhores resultados. Também pode conseguir resultados ótimos com o Tesseract, porém exige um pouco de atenção a mais para as técnicas de pré-processamento de imagem. Por isso, recomendamos explorar todas as citadas na seção “Técnicas para pré-processamento de imagens”.
Já se você verificou ali que o problema foi em detectar corretamente a região da placa, então você pode customizar os parâmetros do código de detecção, ou (mais indicado) usar alguma técnica mais moderna baseada em deep learning, como o YOLO, assim garantirá uma detecção mais precisa da placa para as imagens que vier a testar. Você pode encontrar um código completo com a versão mais recente do YOLO nesse repositório.
Então se houver dificuldade na detecção da placa eu sugiro usar logo algumas dessas técnicas baseadas em deep learning para garantir maior precisão, exigindo menos tempo para adaptar o algoritmo. Como o foco do curso acaba sendo o OCR então isso não foi abordado, porém visto que essas técnicas modernas de detecção hoje em dia permitem uma implementação mais fácil então eu sugiro usá-las.
Olá!
Referente ao IP Adapter, ele funciona em modelos XL porém tem que usar o modelo IP Adapter próprio para esse tipo de versão, o link pra download está listado no .ipynb mas está com comentário; seria esse link aqui https://huggingface.co/h94/IP-Adapter-FaceID/resolve/main/ip-adapter-faceid-plusv2_sdxl.bin (para face). E no mesmo repositório tem também os demais modelos. Já o modelo IP Adapter “geral” (não focado em faces) está no outro repositório do mesmo autor, aqui https://huggingface.co/h94/IP-Adapter/tree/main/sdxl_models
E quanto aos resultados com ControlNet em modelos XL, assim como em versões 1.5 pode ser necessário mexer um poucos nos parâmetros até encontrar um equilíbrio interessante. Você chegou a testar em quais deles? Aliás, pediria que se possível mandar um print da seção de sua interface onde aparece o ControlNet, logo após você testar a imagem e ver que não deu certo (ou seja, mande print dessa parte, com as exatas configurações que testou e que não retornaram um resultado correto, assim como o prompt e parâmetros usados) – desse modo podemos tentar analisar melhor.
Outro detalhe que observei após rever sua resposta anterior: você mencionou que está usando o Dream Shaper XL com o scheduler DPM++2M SDE Karras, isso? Sugerimos deixar o DPM++ SDE Karras, sem o 2M, pois ele tende a funcionar bem melhor para esse modelo já que foi treinado desse modo.
28 de maio de 2024 às 00:17 em resposta a: Erro ao executar o treinamento usando o exemplo dos balões (6) #45286Olá Fernando!
Isso pode ocorrer em algumas versões mais recentes, portanto para uma maior compatibilidade eu sugiro você se basear no Colab da aula: https://colab.research.google.com/drive/1CEu9aKbtM0jDZMUN2282fMwV4c-fEn5O?usp=sharing
ali tem algumas pequenas mudanças, para tornar compatível com as versões mais recentes das bibliotecas, então recomendamos fazer uma cópia desse notebook e fazer as suas alterações a partir dele. Com isso é para dar certo, mas caso ocorra algum outro erro e que te impeça de realizar o treinamento então nos passe aqui mais informações sobre ele para tentarmos ajudar.
28 de maio de 2024 às 00:10 em resposta a: Não cria as pasta Cursos – recursos e a pasta Imagens no Mydrive #45285Olá!
Na verdade essas pastas não são criadas com o comando fornecido no print. Essas pastas você cria manualmente, e depois na hora de ler você especifica no comando qual é o diretório exato dentro do seu Drive. Ou seja, você pode ou renomear as pastas e deixar exatamente igual foi feito em aula; ou pode mudar o comando, para colocar o caminho/diretório correspondente a como está em seu Drive. Caso esteja na dúvida, sugerimos deixar o mesmo nome e na mesma localização, assim pode-se usar o mesmo comando.
Olá, tudo bem?
Você pode encontrar o link para baixar todos os recursos do curso acessando a aula “Recursos para download” dentro da seção Introdução, lá contém o link pro Google Drive onde estará disponível para download todos os arquivos usados durante o curso (link aqui).
Já o código fonte do Google Colab pode ser acessado clicando na aba Materiais na primeira aula de cada seção.
Boa tarde! Para controlar a pose usando esse modelo terá que usar o modelo ControlNet OpenPose adaptado para modelos XL, esse aqui.
A linha de código para baixar esse modelo se encontra já no .ipynb, basta tirar o comentário dela e executar. O link é esse abaixo:
https://huggingface.co/lllyasviel/sd_control_collection/resolve/main/thibaud_xl_openpose_256lora.safetensors
Ou seja, ao invés do outro (usado junto com os modelos SD 1.5 para realismo) agora carregará no lugar esse outro modelo controlnet, já que está a usar um modelo SDXL.
Quanto à roupa, verifique o nível de descrição que você forneceu no prompt, veja se é possível ser mais específico ainda e tente enfatizar um pouco (adicionando um pouco de peso à palavra-chave usada). Se mesmo sendo bastante específica no prompt ainda não conseguir manter a mesma roupa, então pode usar a técnica IP Adapter (vista na seção “Edição de imagens”) e assim manter constante a roupa entre as diferentes gerações. E para arrumar as mãos também pode usar a técnica de Inpainting, presente nessa mesma seção (caso já tenha tentado e mesmo assim sem sucesso, me avise pois podemos sugerir ainda alguma alternativa).
- Esta resposta foi modificada 11 meses, 1 semana atrás por
Gabriel Alves.
- AutorPosts