Respostas no Fórum

Visualizando 15 posts - 196 até 210 (de 402 do total)
  • Autor
    Posts
  • em resposta a: Imagens Vetorizadas #41066
    Gabriel Alves
    Moderador

      Olá Anthony!

      Tem como sim, você pode digitar termos como “vector graphic, black white, line art” ao final do seu prompt, e depois ir ajustando para ficar de acordo com o resultado desejado. Depois você pode buscar por uma ferramenta (online ou programa) para transformar a imagem jpg em vetor, como o https://www.vectorizer.io.

      Para gerar SVG e vetores com o Stable Diffusion eu recomendo você dar uma olhada no VectorStudio: https://github.com/GeorgLegato/stable-diffusion-webui-vectorstudio – Nesse repositório tem as ferramentas e comandos necessários para gerar bons resultados, assim economizando tempo.

      Ou, como alternativa, se quiser pode buscar por outra abordagem para geração de vetor SVG a partir de prompt de texto como o VectorFusion, que também é baseada em Stable Diffusion.

      em resposta a: Identificação de objetos errados nas imagens. #40924
      Gabriel Alves
      Moderador

        Olá Pedro!

        Primeiramente, ficamos felizes que esteja gostando do conteúdo do curso!

        Sobre sua dúvida, isso pode ser meio comum ocorrer mesmo, ainda mais quando há semelhanças discutíveis entre os objetos de interesse e os identificados de forma incorreta. Mas tem algumas sugestões que podemos testar para resolver.

        Qual o tamanho do seu conjunto de treinamento e o de validação? E por quantas épocas você treinou? E quais parâmetros para treinamento você deixou na hora de configurar a rede?

        A primeira sugestão e a mais relevante seria treinar por mais tempo ou ampliar seu dataset e retreinar (ou continuar treinamento), mas antes acho que seria melhor saber essas dúvidas.

         

         

        em resposta a: Como construir(treinar) o arquivo .xml ? #40922
        Gabriel Alves
        Moderador

          Olá! Para construir seu próprio haar cascade com o objeto que deseja detectar você pode seguir os passos explicados no curso Detecção de Objetos com Python & OpenCV aqui na plataforma, pois o processo de treinamento demanda muito mais detalhes então foi necessário um curso específico sobre essa abordagem.

          em resposta a: Código não identifica a palavra “begin” #40819
          Gabriel Alves
          Moderador

            Olá Artur!

            Isso ocorre porque provavelmente em uma versão recente da biblioteca houve uma alteração pequena no algoritmo mas que foi o suficiente para influenciar no reconhecimento de algumas imagens mais “desafiadoras” (como essa, de um cenário natural). Para identificar agora a palavra BEGIN com essa imagem precisa mudar o parâmetro, deixando “psm 11” por exemplo consegue fazer o OCR do texto na caneca dessa imagem. O código fica assim então:

            config_tesseract = "--tessdata-dir tessdata --psm 11"
            resultado = pytesseract.image_to_data(rgb, config=config_tesseract, lang="por", output_type=Output.DICT)

            Nas aulas das próximas sessões verá formas melhores de reconhecer textos em cenários naturais, então nem se preocupe muito agora em ficar escolhendo o melhor parâmetro para pegar o texto usando o Tesseract. Há métodos mais eficazes nessas situações (como por exemplo, fazer a detecção do texto antes do OCR, ou usar outro algoritmo como o EasyOCR que já oferece a localização de texto embutida no comando), e lá nessas aulas vai ser explicado o porquê são melhores nesses casos.

            em resposta a: VSCode #40818
            Gabriel Alves
            Moderador

              Olá Paulo!

              Consegue rodar em sua máquina local sim, você pode usar o mesmo código, só lembre que precisa ter uma GPU em funcionamento. Atualmente, a implementação do Stable Diffusion possui mais suporte para GPUs da Nvidia, porém se a sua for da AMD então recomendo seguir esses passos adicionais para conseguir rodar.

              em resposta a: Onde baixo os notebooks feitos pelo Jonas? #40739
              Gabriel Alves
              Moderador

                Olá Fabiano, que bom que conseguiu localizar!

                Bons estudos =)

                em resposta a: Resultados da segmentação #40738
                Gabriel Alves
                Moderador

                  Olá Julio!

                  Sim, a informação é acessível agora pelo resultado.mask.data, porém a API mudou recentemente e com isso tem que utilizar um outro algoritmo para poder desenhar as máscaras manualmente. Como ainda não temos esse código pronto, sugiro que para a segmentação utilize a implementação via CLI, pois irá funcionar corretamente e de modo mais prático.

                  em resposta a: Link para o google collab #40719
                  Gabriel Alves
                  Moderador

                    Olá Daniel! Que bom que já encontrou =) é ali mesmo, os Colabs se encontram no início da sessão (na verdade, na primeira aula onde o conteúdo a ser implementado é apresentado).

                    em resposta a: Erro list index out of range #40385
                    Gabriel Alves
                    Moderador

                      Olá Rodrigo, eu verifiquei aqui seu código e encontrei o motivo. O problema está na função mostra_reconhecimento(), na primeira linha (onde é declarado os parâmetros da função). Em seu código é definido a variável lista_nome, porém na linha seguinte é passado para a função reconhece_faces() a variável lista_nomes, com “s”, e o valor que você passou à função mostra_reconhecimento é lista_nome, sem o “s”. Na verdade então ele está passando ao reconhece_faces() a lista de nomes do seu exemplo anterior, cuja variável possui esse exato nome (e que contém 9 valores), e não a lista de nomes do dataset_celeb (que contém 55 valores); então por isso dá erro pois assim pode ocorrer de acessar um índice que não existe na lista, já que está passando a lista errada e com apenas 9 valores.

                      Portanto, para resolver basta corrigir em sua função o lista_nome, deixando lista_nomes.

                      def mostra_reconhecimento(imagem_teste, lista_encodings, lista_nomes, max_width = 700, tolerancia = 0.6):
                        localizacoes, nomes, confiancas = reconhece_faces(imagem_teste, lista_encodings, lista_nomes, tolerancia)
                        for face_lock, nome, conf in zip(localizacoes, nomes, confianca):
                          y1, x2, y2, x1 = face_lock [0], face_lock[1], face_lock[2], face_lock[3]
                          cv2.putText(imagem_teste, nome, (x1, y1 -10), cv2.FONT_HERSHEY_DUPLEX, 0.8, (0,0,255), 2)
                          cv2.rectangle(imagem_teste, (x1, y1), (x2, y2), (0, 10,255), 4)
                          print(conf)
                        if imagem_teste.shape[1] > max_width:
                          imagem_teste = imutils.resize(imagem_teste, width = max_width)
                        cv2_imshow(imagem_teste)

                      (ou, também para resolver poderia passar para a função reconhece_faces o lista_nome sem “s”, já que é esse valor que foi recebido como parâmetro).

                      em resposta a: Reconhecendo todas as imagems da lista #40361
                      Gabriel Alves
                      Moderador

                        Olá Rodrigo!

                        Esse erro geralmente ocorre quando há um problema ao ler a imagem, pode acontecer quando o caminho/nome (passado como parâmetro na função que faz a leitura da imagem) está incorreto, ou ainda a imagem pode estar corrompida de algum modo. Mas o Colab dizer que é por causa do “0” é estranho, se quiser que eu ajude a entender o motivo me passe qual aviso que o Colab mostrou para você pedindo para ajustar esse nome.

                        Mas que bom que já conseguiu resolver!

                        em resposta a: Erro list index out of range #40360
                        Gabriel Alves
                        Moderador

                          Olá Rodrigo!

                          Esse erro ocorre geralmente quando tentamos acessar um item de uma lista usando um índice que não existe na lista.

                          Verifique se o list_names (que você passou como parâmetro à função do mostra_reconhecimento) está contendo os valores esperados, pode ser dando um print() na variável mesmo.

                          Desse trecho de código que você mostrou na imagem parece estar correto, mas sugiro comparar com o restante do código do colab da aula (aqui). Se mesmo assim não descobrir o erro, peço que se possível compartilhe o seu Colab aqui para eu conseguir verificar melhor pois deve haver outra coisa no código interferindo e causando isso.

                          em resposta a: Erro na Deteccoes de descritores faciais #40358
                          Gabriel Alves
                          Moderador

                            Opa, que bom então que foi resolvido =)

                            disponha!

                            em resposta a: AttributeError: LEARNING_RATE #40315
                            Gabriel Alves
                            Moderador

                              Opa, nesse caso é um problema em relação ao limite de memória disponível mesmo. Para isso tem algumas coisas que podemos fazer. O que influencia um pouco também é o fato do Mask R-CNN atualmente não ser tão otimizado paras as versões mais recentes do Tensorflow (e não podemos mais fazer o downgrade para a versão 1.x pelo Colab infelizmente, para fazer isso teria que instalar localmente).

                              Mas enfim, para otimizar o uso da memória você pode tentar algumas coisas, que funcionou para os outros alunos que recomendamos:

                              Primeiro seria reduzir o tamanho das imagens do dataset, que estariam grandes para processar. Você pode tentar diminuir o tamanho das imagens, até porque na verdade ele não precisa ser tão grande assim. O tamanho é controlado pelos seguintes parâmetros IMAGE_MIN_DIM e IMAGE_MAX_DIM.

                              Os valores padrões são 800 e 1024, respectivamente, então podemos reduzir já que não há a necessidade de um tamanho tão grande, ainda mais para um dataset cujo objeto possui um formato onde não há detalhes tão pequenos. Então, podemos tranquilamente abaixar para 512 por exemplo, desse modo conseguimos executar no Colab sem erros.

                              Já aproveitando, sugiro também mudar o valor do VALIDATION_STEPS para = 5, já que devido ao número de passos definido ele não precisa ser tão grande também.

                              Mas apenas com essa alteração já consegui rodar aqui usando o mesmo Colab, se quiser confira aqui e compare com seu código.

                               

                              Uma segunda opção para otimizar o uso da memória seria mudar a rede de backbone, que por padrão é a resnet101 porém você pode mudar para a resnet50 e assim reduzir o uso da memória, além de treinar mais rápido.

                              Mas isso só precisa fazer caso mesmo com a mudança no tamanho ele ainda ultrapasse o limite de memória.

                              Você pode testar aquela alteração antes, e se ocorrer o erro, faz essa outra mudança também. Porém apenas mudando o tamanho já é para funcionar com esse dataset dos balões pelo menos, e mais outros que testamos. Se for um dataset muito mais complexo então pode ser que realmente precise de mais essas outras configurações adicionais para conseguir rodar no Colab.

                               

                              Obs: Esses parâmetros você define lá na classe ConfigRede.

                              Veja que lá já tem alguns parâmetros definidos, como o IMAGES_PER_GPU = 2

                              para definir esses outros basta colocar ele dentro da classe, entre o “class ConfigRede(Config):” e o “config = ConfigRede()”. É igual ao padrão que estão nos outros ([Parâmetro] = [Valor]), por exemplo assim:

                              IMAGE_MIN_DIM = 512

                              IMAGE_MAX_DIM = 512

                               

                              em resposta a: Erro na Deteccoes de descritores faciais #40314
                              Gabriel Alves
                              Moderador

                                Olá Rodrigo!

                                Você está executando com GPU ou CPU apenas? Porque se você mudou nas configurações do ambiente para usar GPU então esse problema não vai ocorrer (acabei de testar o código novamente no Colab e está ok, se quiser revisar se está exatamente igual ao seu veja aqui).

                                Mas para executar no Colab sem GPU então você precisa fazer uma pré-configuração antes de executar o restante do código.

                                Para conseguir rodar, execute os seguintes comandos (reinicie a sua sessão, caso já tenha importado o dlib)

                                !pip uninstall dlib
                                !sudo pip install -v --install-option="--no" --install-option="DLIB_USE_CUDA" dlib

                                E então, em seguida você vai executar o import dlib e o restante do código.

                                Assim é para funcionar mesmo sem GPU, mas qualquer dúvida é só avisar.

                                em resposta a: Falta do COLAB #40291
                                Gabriel Alves
                                Moderador

                                  Olá Ian!

                                  Obrigado por avisar, o link do Colab não estava aparecendo mesmo para essa aula em específico, mas agora já está corrigido e acessível.

                                Visualizando 15 posts - 196 até 210 (de 402 do total)