Forum Replies Created

Viewing 15 posts - 181 through 195 (of 415 total)
  • Author
    Posts
  • in reply to: ERRO #42019
    Gabriel Alves
    Keymaster

      Olá Brendo!

      Primeiramente verifique se após executar a instalação da biblioteca face_recognition não foi retornado nenhum erro; em seguida, reinicie a IDE, depois tente executar novamente o programa.

      Para a instalação do face_recognition você usou o mesmo método mostrado na aula “Projeto: captura de faces pela webcam”?

      Tente desinstalar a biblioteca usando pip uninstall e em seguida execute o comando “pip3 install face_recognition” (“pip3” ao invés de “pip”).

      Em alguns casos, talvez seja necessário antes de instalar o face_recognition instalar o cmake (pip install cmake).
      Isso geralmente resolve, mas se o problema persistir então peço que informe qual versão do Python está usando. Aliás, verifique se o seu código está sendo executado no ambiente correto, onde está instalado o face_recognition (geralmente esse é o principal motivo desse problema).

      in reply to: Erro na importacao de bibliotecas #42018
      Gabriel Alves
      Keymaster

        Disponha, David!

        in reply to: Erro na importacao de bibliotecas #41949
        Gabriel Alves
        Keymaster

          Olá David!

          Essa mensagem realmente aparece no output da célula, mas na verdade esse aviso não deveria influenciar o funcionamento do restante do código, portanto deveria estar dando para executar o código normalmente. Se não estiver rodando para você, poderia compartilhar aqui o seu Colab? Assim eu posso analisar melhor o que pode estar acontecendo e se há outra coisa interferindo, pois hoje fiz mais um teste com o mesmo código e rodou normalmente.

          in reply to: Karras Sigmas, Denoise e Refiner Strength #41794
          Gabriel Alves
          Keymaster

            Olá Wellington!

            O denoise é implementado por padrão pelo método usado para criar a pipeline, então você pode fornecer esse parâmetro junto com os demais (prompt, prompt negativo, cfg, etc.). Para saber como usar, veja a aula “Parâmetros – inference step” (“inference step” nesse contexto é o mesmo que “denoising step”).

            Quanto ao Karras sigmas, parece que já possui suporte no diffusers para todos os schedulers mais populares. Para implementar, você tem que passar o parâmetro assim: “use_karras_sigmas=True”.

            Já o Refiner também é possível, porém ele é usado mais no contexto do SDXL (Stable Diffusion XL), mais detalhes.

            in reply to: Faltam os arquivos das imagens #41705
            Gabriel Alves
            Keymaster

              Olá Rogério,

              As imagens usadas no curso estão na pasta do Drive compartilhada na aula “Recursos para download”.

              Esse link: https://drive.google.com/drive/folders/1jcWIoIWlFJ2ocERjW0p2W1cZ4LRMEjM5?usp=sharing

              Para as aulas do YOLOv8, as imagens estão na pasta “Atualização YOLOv8 > fotos_teste”.

              Caso não tenha encontrado alguma imagem, por gentileza informe qual para podermos lhe auxiliar.

              in reply to: GRID e SUBPLOT #41703
              Gabriel Alves
              Keymaster

                Olá Wellington!

                Quando são geradas múltiplas imagens de uma única vez, o resultado da função pipe (ou outro nome que você definiu) é uma lista, então para acessar uma imagem específica basta acessar através do índice. Por exemplo, para acessar a primeira foto da lista você pode simplesmente colocar em uma célula assim: imgs[0] (supondo que imgs é o nome que escolheu para a variável que recebe o resultado da geração). Portanto, para a segunda imagem é imgs[1].

                Abaixo deixo um exemplo de código que salva a segunda imagem da lista em uma variável, e depois você pode fazer o que quiser e como quiser, basta referenciar essa variável contendo a imagem como uma próxima etapa para o algoritmo ou para a rede que fará a manipulação desejada, como por exemplo o upscale. Nesse exemplo, deixo ao final uma linha de comando para salvar a imagem em um arquivo


                imgs = pipe(prompt, generator=generator).images

                resultado = imgs[1]

                resultado.save(“resultado.png”)

                Gabriel Alves
                Keymaster

                  Olá Wellington!
                  Esse “seed = 777″ ficou ali inicialmente pois a ideia era reaproveitar essa parte das aulas anteriores e mostrar como o código era reaproveitável, porém logo nos primeiros exemplos com o modelo gerado pelo fine-tuning ficou mais interessante deixar um trecho de código que gera um valor aleatório para o seed a cada execução. Assim é melhor nesse contexto já que agora é um cenário de uma aplicação mais realista e nesses casos você geralmente vai querer fazer testes com vários seeds e portanto é conveniente deixar eles aleatórios. E a vantagem de gerar o seed no programa é que conseguimos printar ele, assim caso gere uma sequência de imagens que achemos interessante nós podemos anotar o seed e trabalhar melhor os ajustes nos parâmetros (para melhorar certos aspectos da imagem por exemplo) usando esse valor como seed para a próxima geração (aí basta definir manualmente, igual com o “seed = 777”).

                  in reply to: detecção de objetos personalizados #41672
                  Gabriel Alves
                  Keymaster

                    Olá Heitor!

                    Você está executando no Colab mesmo? Ou em qual ambiente / sistema operacional?

                    Recomendo reiniciar a sessão e tente checar se executou na ordem todas as mudanças necessárias para compilação do Darknet (se possível tente clonar novamente o repositório antes). Caso o erro persista, por gentiliza compartilhe aqui o seu Colab pois assim consigo te auxiliar melhor e verificar se pode não haver alguma outra coisa no código ou na instalação interferindo.

                    E caso esteja executando em outro serviço cloud (como o AWS por exemplo) dê uma olhada nessa solução aqui.

                    in reply to: Dúvida StableDiffusion local #41671
                    Gabriel Alves
                    Keymaster

                      Olá! Na verdade os comandos você executa no prompt mesmo (todos os comandos que possuem ! no Colab, porém localmente você vai executar sem a exclamação no início), e depois de feita as instalações você executa o código no PyCharm. Só certifique antes que está executando no PyCharm com o ambiente virtual que você instalou o diffusers, já que você pode ter mais de um ambiente.

                      Caso você esteja executando no Windows saiba que é bem comum dar algum problema de incompatibilidade, pelo menos alguns têm reclamado quanto a isso, então se for o seu caso eu sugiro dar uma olhada nesse guia e seguir os passos, pois essa parece ser atualmente a forma mais garantida.

                      in reply to: Dúvida StableDiffusion local #41632
                      Gabriel Alves
                      Keymaster

                        Olá Edinalso!

                        Para a implementação do Stable Diffusion nesse curso foi feito baseado em código, pois permite algumas vantagens e ainda a possibilidade de deixar “programático” e facilmente reproduzível. Mas caso você deseje executar localmente e usando interfaces então saiba que pode sim sem problemas, assim como no método mostrado no artigo de exemplo, porém aqui você não usará mais comandos ou código, você ficará dependente da interface e portanto para gerar as imagens terá que fazer a partir das opções do menu presente nelas (o que é simples, pelo menos a maioria das interfaces usadas para implementar o SD hoje são bastante intuitivas).

                        No entanto, se você deseja instalar localmente usando essa mesma implementação do curso (que é baseada em código) então basta executar os mesmo comandos, para clonar o repositório oficial do diffusers e então importar as funções necessárias. Caso tenha qualquer dúvida enquanto você estiver tentando usar localmente fique à vontade para perguntar, nós iremos auxiliar.

                        Gabriel Alves
                        Keymaster

                          Olá Rafael!

                          Eu testei novamente todo o código da aula (treinamento e teste) e não gerou esse erro, rodou sem problemas. Pode ter ocorrido ou algum problema na hora de salvar o modelo treinado, ou ficou diferente alguma parte do seu código.

                          Em todo o caso, considerando a possibilidade que seja a segunda opção, sugiro dar uma olhada aqui no código da aula: https://colab.research.google.com/drive/11aOxCRQegn6GbpOzoHeO6pVq5K7bRzHc#scrollTo=Lnz1W0v97fR6

                          Caso persista, tente carregar o modelo disponibilizado na pasta do Drive (o arquivo “rede_neural”).

                          Se ainda estiver com dificuldades para resolver, peço que compartilhe o seu Colab, pois assim vou conseguir auxiliar melhor, já que pode haver outra coisa em seu código interferindo.

                          in reply to: Como eu adquiro essas imagens positivas e negativas ? #41622
                          Gabriel Alves
                          Keymaster

                            Olá! Esse cascade que você cita foi treinado com imagens do “frontal CALTECH dataset”, nesse github há mais detalhes caso tenha curiosidade.

                            Mas para treinar seu próprio detector de faces, pode usar imagens positivas de qualquer dataset que contenha na imagem o “objeto” que você deseja detectar; e as negativas seriam qualquer outra coisa que não contenha o seu objeto.

                            Tem alguns datasets bastante conhecidos e usados (principalmente em trabalhos de pesquisa) como o AT & T Database e o Yale Face Database B. Na verdade, há tantos datasets que vou deixar abaixo dois artigos que reúne dezenas deles:

                            Você pode dar uma olhada neles e escolher qual se adequada melhor aos seus objetivos, ou também nada impede de usar múltiplos datasets (o que pode ser o ideal caso deseja tornar seu modelo mais robusto).

                             

                            in reply to: Abrir arquivos TIFF #41621
                            Gabriel Alves
                            Keymaster

                              Olá Fernando!

                              Para ler imagens nesse formato, você pode usar a própria biblioteca matplotlib (exemplo). Ou, você pode usar a função open() da biblioteca PIL, que já possui suporte a esse formato (mais detalhes aqui). Algumas pessoas já relataram certo problema ao tentar ler esse formato no geral, então como alternativa o que eu recomendo caso isso aconteça com você é fazer antes a conversão do formato .tiff para o .jpg ou .png (png de preferência, para evitar compressão) caso isso não comprometa a sua imagem, claro; assim, você terá uma garantia que poderá carregar suas imagens sem problemas de compatibilidade, pois são formatos mais “universais” e aceitos pelas bibliotecas mais comuns de machine learning e visão computacional. A conversão pode ser feita manualmente usando uma ferramenta como o convertIO, mas se você está trabalhando com muitas imagens isso não é viável, então você pode utilizar um script em python para fazer isso de modo automático, desse modo.

                              Gabriel Alves
                              Keymaster

                                Olá Roberto!

                                Nesse curso você encontra diversas abordagens usadas para segmentação, se a ideia for construir esse programa do zero então encontrará as técnicas de segmentação que são envolvidas nesse processo. Se o seu objetivo é fazer isso voltado para reconhecimento de caracteres, sugiro dar uma olhada também no nosso outro curso Reconhecimento de Textos – com OCR e Python, em um dos projetos mostra como treinar do zero um modelo para fazer a classificação de caracteres – porém é uma abordagem baseada em redes neurais artificiais.

                                Entretanto, se entendi bem a descrição do seu problema, eu acho que ele se refere a classificar números digitais com base no preenchimento ou não de determinadas regiões. Há um artigo que explica como fazer exatamente isso, você pode visualizá-lo aqui. Nesse artigo o autor explica detalhadamente como criar uma lógica de segmentação+classificação usando como base o display de sete segmentos, que é a forma mais popular e conhecida para exibição de números digitais. Acredito que seria bem próximo ou até exatamente o que você precisa, mas caso não seja, peço que forneça mais detalhes do seu projeto.

                                in reply to: Reconhecimento de textos em imagem #41618
                                Gabriel Alves
                                Keymaster

                                  Opa! Disponha, Carlos! Que bom que funcionou bem para você =)

                                  Realmente o tempo de processamento pode ser bem elevado nesses casos pois o OCR é executado dezenas de vezes na mesma imagem, por isso é bem interessante pensar nessas formas de otimização que você comentou. O que ajuda bastante é processar na GPU, caso já não esteja fazendo isso. Mas no geral, para aperfeiçoar a performance em si vai exigir muita tentativa e erro para tentar ajustar ao máximo, por exemplo se for manter a detecção de círculos em seu algoritmo é interessante testar com diferentes parâmetros para manter somente os círculos mais perfeitos ou não tão pequenos – dá para facilmente criar um filtro com base na área em pixels do círculo, assim ignorando os círculos muito pequenos ou muito grandes detectados na imagem e que portanto seriam falsos-positivos, já que todos os círculos de interesse (que possuem o número dentro) tem o mesmo tamanho.

                                  Em último caso, se a sua aplicação não exigir que o resultado seja apresentado instantaneamente no mesmo segundo então seria interessante se concentrar mais agora em maneiras de garantir a precisão do que garantir a velocidade, portanto seguindo essa mesma lógica já pode ser o suficiente.

                                Viewing 15 posts - 181 through 195 (of 415 total)