Respostas no Fórum

Visualizando 15 posts - 196 até 210 (de 394 do total)
  • Autor
    Posts
  • 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.

                  em resposta a: Erro #40290
                  Gabriel Alves
                  Moderador

                    Olá, que bom que já conseguiu identificar o erro!

                    Estamos à disposição.

                    em resposta a: Erro ao executar comando lbph_face_classifier.predict() #40289
                    Gabriel Alves
                    Moderador

                      Olá, que bom que já encontrou o erro!

                      Qualquer coisa é só avisar

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

                        Olá! Se você reiniciar a sessão e executar novamente todo o código anterior o erro permanece durante o treinamento?

                        Se sim, poderia compartilhar aqui o seu Colab, se possível? Para conseguir analisar melhor essa questão e ver se há outra coisa interferindo.

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

                          Olá Pedro!

                          Então ele treinou corretamente da primeira vez, mas quando você continuou com o treinamento ele apareceu esse erro, isso? E ocorreu na mesma sessão onde foi feito o treinamento inicial, ou esse erro ocorreu somente em outra sessão?

                          Me passe qual a versão do tensorflow que seu Colab está usando.    (recomendo usar a 2.9.2 para evitar possíveis problemas, para isso tem que executar o comando !pip install tensorflow==2.9.2 e !pip install tensorflow-gpu==2.9.2 antes de fazer o import)

                          E verifique se deixou o código da configuração igual à aqui https://colab.research.google.com/drive/1CEu9aKbtM0jDZMUN2282fMwV4c-fEn5O?usp=sharing

                          Caso esteja e mesmo assim o erro persistir, por favor compartilhe seu Colab por aqui se possível, assim consigo verificar com mais detalhes se há outra coisa interferindo.

                          em resposta a: [Recomendação] Detecção de falha em uma imagem personalizada #40250
                          Gabriel Alves
                          Moderador

                            Olá Michael! Primeiramente, ficamos felizes que esteja gostando do curso =)

                            Você poderia treinar um modelo personalizado de detecção para isso, mais especificamente os métodos com deep learning, que são abordados a partir da segunda seção. Ou ainda, poderia tentar até treinar um modelo de detecção de objetos (como o YOLO), caso segmentar a região exata não seja uma necessidade, apenas detectar a presença ou não (e a localização).

                            Pode ser que seja muito inviável ajustar o modelo customizado, já que são detalhes bastante “finos”, nesse caso eu sugiro você tentar antes alguma técnica de processamento de imagem.
                            Pode ser que usando uma combinação de técnicas você consiga um resultado até bem melhor ainda, sem falar que não exige treinar um modelo novo e também vai ser bem mais rápido para processar do que usando deep learning. Poderia talvez usar como base inclusive uma das técnicas de segmentação de abordagem clássicas, como a limiarização por exemplo.

                            Veja aqui um exemplo de código, onde é possível programar um modo de automaticamente segmentar a linha mais longa na imagem. Fazendo os ajustes necessários você poderia adaptar o código para detectar a linha mais “relevante” e alta na imagem, que nesse caso representa a falha. Essa é uma ideia, mas possivelmente precise de vários ajustes pois nesse caso não é uma linha exatamente.

                            Uma outra sugestão para usar em conjunto com essa técnica que comentei acima é criar uma função para detectar a variação de luminosidade na imagem, conforme percorre de cima à baixo na imagem (passando de cima à baixo como se fosse descendo as linhas de uma tabela, por exemplo) – assim, consegue programar para identificar em que altura da imagem há uma diferença de claridade fora do padrão (o que na prática é uma característica da falha em si).

                            Edit:

                            Enquanto eu pesquisava, encontrei bastante coisa ao usar os termos “tire-defect detection”, recomendo bastante procurar, vai te dar algumas boas ideias.

                            Exemplo: https://www.mdpi.com/1424-8220/21/21/7073

                            Outra coisa que você pode tentar é procurar por técnicas de detecção de anomalias. Pesquise por “anomaly detection” e de preferência associado aos termos “computer vision” e/ou “manufacturing”. Você vai encontrar uma boa lista de técnicas e artigos que propõem diversas alternativas para solucionar esse problema, cada um se adequando à necessidade do cenário.

                            Porém nesse caso creio que será mais difícil “calibrar” já que os detalhes com falha são realmente bastante sutis na imagem.

                             

                            em resposta a: Dúvida quanto ao treinamento #40064
                            Gabriel Alves
                            Moderador

                              Olá Matheus!

                              Isso mesmo haha sua dúvida é explicada logo em uma próxima aula, na “Treinamento customizado 6”. Não foi explicado na mesma aula onde é executado o treinamento pela primeira vez, mas se quiser saber como fazer isso basta ver essa aula e lá tá explicado com detalhes.

                              em resposta a: Instalação das bibliotecas tensorflow 1.14 #40021
                              Gabriel Alves
                              Moderador

                                Olá Gabriel!

                                Infelizmente nos últimos dias o Colab retirou o suporte que faltava para execução do tensorflow 1.x, antes já havia removido porém para essa implementação ainda havia uma alternativa, agora parece mesmo com as correções não está funcionando pois não tem como fazer o downgrade de certos pacotes que são necessários também, devido à impossibilidade de mudar a versão do Python (até tem um “hack” para mudar no Colab, porém dá problema ao usar a GPU). Enquanto buscamos por uma solução alternativa (ou aguardamos uma correção por parte dos desenvolvedores, o que nem espero pois se sair vai levar muito tempo) eu sugiro apenas assistir às aulas e pular a implementação, ou se desejar implementar pode tentar instalar em sua máquina local, pois lá você não terá limitação para usar a versão 1.x do tensorflow — obs: só recomendo fazer isso em um ambiente virtual com python versão 3.7.x, já que as superiores você pode encontrar algum problema.

                                Outra alternativa ainda é usar a implementação feita para o tensorflow 2.x que roda no Colab, porém essa é diferente em alguns detalhes – mas se quiser fazer veja aqui.

                                Ou se não quiser, pode pular direto para a próxima seção e apenas assistir às aula do ProGAN, que na verdade ele acaba sendo até opcional nesse curso, já que o foco maior seria o StyleGAN que é uma evolução dele.

                                (a propósito, não é todo dia que vejo outro Gabriel Alves haha…)

                                • Esta resposta foi modificada 2 anos, 1 mês atrás por Gabriel Alves.
                                em resposta a: Erro ao gerar a imagem #39918
                                Gabriel Alves
                                Moderador

                                  Olá Caio!

                                  Isso acontece quando o valor de threshold é extremamente baixo, pois ele passa a exibir todas as caixas detectadas sem filtrá-las com base no score.

                                  Qual valor de limiar você passou? Poderia me passar o comando exato? Tente com diferentes valores.

                                  E também teste a implementação com OpenCV e observe se o problema continua, mas acredito que seja apenas na implementação do darknet, pode ser algum detalhe quando à sintaxe do comando. Mas se o problema persistir e você conferiu realmente se está tudo certo essas questões, pode ser até mesmo algum tipo de bug que ocorre em algumas versões muito específicas do MacOS por exemplo, nesse caso teria que ver qual a sua versão e até reinstalar o repositório se possível.

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