Forum Replies Created

Viewing 15 posts - 301 through 315 (of 435 total)
  • Author
    Posts
  • Gabriel Alves
    Keymaster

      Olá Gabriel!

      Qual versão do OpenCV você está usando? Pode ser algum bug com a versão, pois aqui com o mesmo código ele roda sem esse problema.
      Se puder conferir também se todas as variáveis anteriores estão com os valores esperados, pois as vezes tem ali algum detalhe (ex: alguma linha executada fora de ordem) que deixou com esse comportamento.

      Mas se conferiu e está tudo certo então tenta substituir o XVID por mp4v (tem que ser minúsculo).

      in reply to: Couldn’t open file: /data/train.txt #36798
      Gabriel Alves
      Keymaster

        Olá Felipe!

        Pela mensagem de erro, o darknet não conseguiu localizar o arquivo .txt de treinamento. Verifique se o comando  (!./darknet detector …) foi executado no diretório correto, conforme mostrado em aula, ou se foi executado a partir de outro diretório. Pois nesse caso ele não vai encontrar o arquivo no caminho especificado em obj.data. Então você pode conferir se está no diretório relativo correto; ou atualizar o caminho no obj.data e colocar o caminho absoluto.

        in reply to: Emissão do Certificado #36797
        Gabriel Alves
        Keymaster

          Olá Gustavo! Tudo bem?

          Para quais aulas exatamente está acontecendo isso para você? Se puder informar o nome, que iremos verificar aqui e resolver para você.

          in reply to: Problemas para concluir o curso #36795
          Gabriel Alves
          Keymaster

            Olá Vitoriano!

            Só para avisar que o problema já foi corrigido, caso não tenha visto.

            A aula que faltava você dar check já foi reconhecida no seu progresso (marcada como visualizada), portanto quando você quiser já pode acessar a página Meus Cursos e fazer o download do seu certificado!

            in reply to: Segmentação de objetos no YoLov7 #36500
            Gabriel Alves
            Keymaster

              Olá Leandro!

              Para segmentação, veja aqui o código.

              Ele foi lançado muito recentemente, então sugiro dar uma olhada no repositório oficial, até mesmo para acompanhar pois eles podem fazer alguma correção de bugs ou problemas: https://github.com/WongKinYiu/yolov7

              in reply to: Treinamento da Rede Neural #36499
              Gabriel Alves
              Keymaster

                Opa, disponha =)

                in reply to: Treinamento da Rede Neural #36473
                Gabriel Alves
                Keymaster

                  Olá Fogaça!

                  Sim, você pode continuar o treinamento usando como peso “inicial” aquele que você já treinou antes, então não há a necessidade de treinar tudo do zero. Seria como continuar o treinamento interrompido (conforme mostrado em aula), basta informar como parâmetro os pesos que foram treinados anteriormente. Além disso, antes de executar o comando novamente você precisa certificar também de fazer as modificações necessárias no arquivo .cfg para atualizar lá onde precisa indicar o número de classes treinadas, filtros, etc. E também é necessário atualizar todos os arquivos onde é definido informações sobre as classes que serão treinadas. Recomendo que ao fazer isso você carregue junto também as imagens usadas para o treinamento anterior, junto com as anotações – ou seja, estaria na prática apenas continuando o treinamento e adicionando mais imagens ao seu dataset (embora sejam imagens de classes antes não vistas).

                  in reply to: Onde estao os .py ? #36146
                  Gabriel Alves
                  Keymaster

                    Olá Eduardo!

                    O Drive com todos os recursos do curso (assim como os arquivos .py que você citou) estão no link compartilhado dentro da aula Recursos para download, na seção de Introdução.

                    in reply to: duvida na segmentação por regiões #36145
                    Gabriel Alves
                    Keymaster

                      Olá Matheus!

                      Esse é um problema que depende da imagem e que passou a acontecer após alguma atualização bem recente das bibliotecas. É um erro relacionado ao formato e tipo da imagem que é exibido, para resolvê-lo de forma prática basta mudar o type através da função .astype()

                      Portanto, acima de

                      mostrar(seg_regiao)

                      basta adicionar

                      seg_regiao = seg_regiao.astype(np.uint8)

                      Ou pode adicionar direto, assim mostrar(seg_regiao.astype(np.uint8))

                      in reply to: Detecção de faces com CNN e Dlib #36144
                      Gabriel Alves
                      Keymaster

                        Olá Julio!

                        Esse problema pode ocorrer dependendo de qual GPU foi atribuída em sua sessão do Colab. Na verdade, foi devido a uma mudança muito recente que esse erro começou a acontecer, mais especificamente após uma atualização do Dlib, que gerou um conflito com a GPU utilizada pelo Colab. Portanto, a solução é utilizar uma versão anterior àquela em que ocorre o problema. Escolhi a 19.22.1, que é uma versão recente também (e antes daquela que começou a dar esse problema) então se você usar essa versão o erro não ocorrerá.

                        Então, para resolver esse erro você precisa executar antes de import dlib a linha abaixo:

                        !pip install dlib==19.22.1
                        em seguida, execute import dlib. Se você já importou o dlib nesta sessão, basta reiniciar o ambiente de execução (selecione Runtime > Restart runtime).

                        A melhor solução acredito ser essa, até o problema ser resolvido em alguma versão futura.

                        Qualquer coisa, veja aqui o Colab da aula atualizado.

                        in reply to: Download de quantidade grande de imagens #36135
                        Gabriel Alves
                        Keymaster

                          Olá Jardel!

                          O limite de imagens a ser baixado pelo comando !python main.py downloader é feito através do parâmetro –limit  basta alterar o valor dele

                          *por exemplo, nesse caso aqui definimos que queremos baixar 500 imagens para cada classe escolhida

                          !python main.py downloader –classes Apple Coffee_cup Horse –type_csv train –limit 500 –multiclasses 1

                          in reply to: Implementação fora da Nuvem #36134
                          Gabriel Alves
                          Keymaster

                            Opa, imagina!

                            Mas é uma boa ideia essa Jean, caso você queira ter mais garantia de que não encontrará algum conflito entre versões.

                            Obrigado e bons estudos!

                            in reply to: Implementação fora da Nuvem #35985
                            Gabriel Alves
                            Keymaster

                              Olá Jean!

                              É possível rodar tudo em sua máquina local sim. Aliás, se você usa linux é até mais fácil pois pode usar os mesmos comandos que usamos no Colab (que roda Ubuntu) então provavelmente será compatível para você. Sugiro usar os mesmos comandos, mas caso encontre algum erro durante a instalação podemos te ajudar também (caso tenha dúvidas, veja aqui).

                              O único detalhe é que com o Colab temos disponíveis GPUs para realizar o treinamento do modelo, o que acaba acelerando bastante o processo, até por esse motivo que ele acaba sendo muito útil. Portanto, caso você tenha uma GPU que seja suportada pelas bibliotecas então fica melhor ainda, pois você pode configurar e ter uma velocidade tão boa quanto (ou até superior) à vista no Colab. Mas caso não tenha (ou não seja compatível) não tem problema, dá para ter ótimo desempenho também (será melhor que o processamento por CPU no Colab, já que a usada lá é bem simples).

                               

                              E obrigado, tenha igualmente uma ótima semana!

                              in reply to: Semantic segementation com imagens categorizadas #35983
                              Gabriel Alves
                              Keymaster

                                Olá Felix!

                                Seria recomendável que a estrutura de pastas seja semelhante à mostrada pois assim ficará mais fácil de gerenciar e até mesmo alterar o dataset no futuro, caso seja necessário. É assim pelo seguinte motivo: podem haver imagens que contenham dois objetos (ou mais) de classes diferentes que você marcou, então nesse caso não teria como fazer essa divisão de imagens em pastas já que essa imagem só poderia estar em uma única pasta nomeada pela classe (a não ser que você duplicasse a imagem por exemplo e copiasse essa mesma para a outra pasta, mas depois seria muito pior de gerenciar o dataset caso queira excluir ou adicionar imagens, e sem falar que é ruim ter imagens desnecessariamente duplicadas lá se não precisa).

                                Caso você usasse um arquivo de anotações então não precisaria mais nada pois nele já está informado essa relação de classe<->imagem para o algoritmo, por isso é mais usado quando se deseja segmentar múltiplas classes. Mas se você pretende usar máscaras binarizadas para a anotação, poderia usar essa estrutura que você comentou sim, basta adaptar o código para que na hora da leitura consiga ler a máscara e saiba exatamente qual classe ela está associada (da para fazer isso modificando o laço de repetição) e uma forma seria ler o nome do subdiretório mesmo. De qualquer forma, sugiro dar uma olhada na seção “Segmentação Semântica” onde é mostrado como treinar o U-net. Mas para múltiplas classes é um pouco diferente e você irá precisar customizar o código para atender ao seu dataset, então minha recomendação é dar uma olhada nesse exemplo aqui que mostra uma forma como pode ser feito.

                                E no que você comentou sobre dizer a qual classe pertence aquele objeto, isso é possível já sem nenhuma modificação pois um dos parâmetros retornados pela rede é a classe detectada, qualquer dúvida veja as aulas onde é testado os resultados com o Mask R-CNN.

                                in reply to: Mask sem json #35982
                                Gabriel Alves
                                Keymaster

                                  Olá Felix!

                                  Sim, se você tiver uma imagem para fazer o mascaramento do objeto ou da instância (aquela imagem onde a cor branca indica a presença do objeto e a cor preta indica a não-presença) então não precisa do .json, pois ele é uma outra forma de representar as annotations. Se quiser fazer dessa forma, veja a seção “Segmentação Semântica” (logo no início, onde é mostrado como fazer o treinamento do modelo U-net), lá é mostrado um exemplo de base de imagens que contém apenas as masks, além claro da imagem original.

                                Viewing 15 posts - 301 through 315 (of 435 total)