Respostas no Fórum

Visualizando 15 posts - 301 até 315 (de 402 do total)
  • Autor
    Posts
  • em resposta a: Como usar o PointRend em um modelo personalizado #35113
    Gabriel Alves
    Moderador

      Olá! Depende das configurações que você usou, qual dos materiais que você usou como referência?

      Pode também estar ocorrendo devido a algum erro na versão que você baixou, mas antes recomendo revisar as configurações que você definiu para treinamento e também testar outros valores (como por exemplo aqui).

      Como esse é um erro bem específico acho que talvez não encontre uma solução que resolva ele de modo fácil, portanto o que você pode fazer além de tentar outra versão (se isso não ajudar) é alterar manualmente o código e fazer algumas pequenas modificações necessárias para que não ocorra esse problema e assim consiga prosseguir com o treinamento. Para esse erro em específico, talvez isso aqui seja o suficiente para evitar o problema.

      em resposta a: Criação de um modelo customizado de pilha de madeira #35111
      Gabriel Alves
      Moderador

        Olá! A cada 1000 iterações treinadas o darknet salva os pesos em um arquivo .weights dentro daquele diretório que você especificou para salvar o backup do modelo treinado. Então se você treinou 3000 iterações é para ter lá yolov4_custom_1000.weights, yolov4_custom_2000.weights e yolov4_custom_3000.weights (por exemplo, considerando que definiu o nome do arquivo como “yolov4_custom”) – e além disso tem o “_last.weights” (com os ultimos pesos salvos) e o “_best.weights” (contendo os pesos da iteração onde o darknet definiu como os que obtiveram melhores resultados).

        Quantos arquivos diferentes foram salvos para você? É assim que você vai saber até quantas iterações foi treinado.

        Se não apareceu o bounding box de nada mesmo diminuindo consideravelmente o threshold então parece que ocorreu algum problema na definição do treinamento, pode ter sido na etapa onde define-se as configurações do modelo treinado ou até mesmo na criação do dataset. Mas antes, sugiro você fazer um teste, montando um dataset com outros 2 objetos (exatamente como mostramos em aula, usando o dataset OID) e assim fazer o passo a passo lá, fazendo isso verifique se ele vai treinar certinho ou não. Seria só para fins de teste mesmo, pois provavelmente é algum detalhezinho na criação do dataset ou nas configurações do arquivo .cfg (por isso veja se definiu os valores seguindo aquelas fórmulas que mostramos em aula).

        Fazendo esses testes acredito que vai descobrir onde está o problema, mas caso não consiga é só avisar.

        em resposta a: Criação de um modelo customizado de pilha de madeira #34967
        Gabriel Alves
        Moderador

          Olá Bruno!

          Experimente reduzir o limiar da confiança da detecção, para ele exibir detecções “menos confiáveis”. Pois pode ser que ainda seja necessário treinar mais até conseguir deixar o detector mais preparado e assim mais “confiante” da detecção. Ou, pode ser ainda que a partir de certo estágio do treinamento ele decaiu a precisão, é bem difícil mas não impossível de acontecer e vai depender da complexidade do dataset e de quantas iterações você treinou (se puder informar esse valor).
          Se mesmo reduzindo ele não mostrar, ou exibir detecções muito erradas, talvez seja algum problema ali na criação do dataset, ou ainda na definição das variáveis do arquivo de configuração (aquele que é usado para definir como o modelo será treinado).

          Então por isso recomendo antes só revisar isso e qualquer dúvida avise. Baixando o limiar da confiança você vai conseguir saber se o problema é devido a ainda não estar treinado o suficiente ou se foi algum problema ali na configuração do treinamento.

          em resposta a: Rede Neural Artificial  #34596
          Gabriel Alves
          Moderador

            Olá, verifique se está fazendo certo o processamento dos seus dados, eles estão incompatíveis com o shape que você definiu ali. Não sei se você está usando algum tutorial de referência ou se está tentando por conta própria mas é bom só revisar essa parte, até porque dependendo como for vai ser necessário fazer umas mudanças na declaração do modelo. Tem que ver se foi o reshape corretamente, pois como pode ver ali na mensagem de erro, há essa discrepância em relação ao que você definiu já que o esperado seria 28×28 e não 784 (28×28).

            Se realmente estiver certo o pré-processamento, outra solução poderia ser passar para a função Dense o shape do input do modelo para ser o numero do shape do set, tipo assim:

            input_shape=(x_train.shape[1])  (isso você adicionaria entre o primeiro e o segundo parâmetro do tf.keras.layers.Dense)

            em resposta a: Rede Neural Artificial  #34544
            Gabriel Alves
            Moderador

              Olá Matheus,

              Para uma classificação não binária (ou seja, para múltiplas classes) é utilizada a função de ativação softmax. Já se for classificação multi-label (o que significa que um mesmo pode pertencer a 2 classes distintas ou mais) então a função permanece a sigmoide.

              em resposta a: Criação Modelo Reconhecimento de Imagens #34543
              Gabriel Alves
              Moderador

                Disponha, Bruno!

                em resposta a: Como usar o PointRend em um modelo personalizado #34508
                Gabriel Alves
                Moderador

                  Olá Ítalo!

                  Primeiramente, ficamos felizes que esteja gostando do curso!

                  Sobre sua dúvida, se você quer usar o PointRend em um dataset personalizado é um pouco diferente, é uma técnica mais especifica então não da para implementar usando as mesmas funções que apresentamos na seção sobre treinamento. Então você vai precisar utilizar algumas funções do Detectron2. Aqui nessa discussão tem algumas referências sobre como fazer: https://github.com/facebookresearch/detectron2/issues/1017

                  (aqui tem mais informações também sobre o treinamento).

                  em resposta a: Criação Modelo Reconhecimento de Imagens #34506
                  Gabriel Alves
                  Moderador

                    Olá Bruno, que bom que esteja gostando dos cursos! =)

                    Sobre sua dúvida, para fazer o que você deseja pode utilizar as técnicas de segmentação de instâncias ou utilizar um detector de objetos como o YOLO, que provavelmente nesses cenários dará resultados mais precisos. E para fazer a contagem dos objetos dê uma olhada no curso Detecção de Movimentos, lá tem uma seção onde mostra como implementar um contador de carros e caminhões em vídeos, basta adaptar para o objeto que você precisa.

                    E em relação à sua outra dúvida, se refere à projetos práticos? Em quase todos os cursos (mais pro final) tem uma seção onde mostra algum projeto de como pode ser usado em um cenário real, como o curso de OCR por exemplo. Em outros fazemos em forma de mini projetos durante o curso (como você pode ver nesse curso sobre segmentação), com vários mini projetos ao longo das aulas, nesse caso é mais apropriado pois como pôde ver são muitas técnicas a serem abordadas.

                    • Esta resposta foi modificada 3 anos, 2 meses atrás por Gabriel Alves.
                    em resposta a: Acesso ao código em MaskRcnn e ao Unet? #34453
                    Gabriel Alves
                    Moderador

                      Opa, esse erro acontece quando o programa não encontra o arquivo no diretório especificado. Verifique se o diretório que você informou no comando é exatamente o mesmo que está em execução no Colab – e se o balloon_dataset.zip está mesmo naquela pasta (ou seja, verifique se os nomes das pastas são exatamente aqueles, é normal que o nome de pelo menos uma das pastas possa estar diferente para você). Se após conferir que o diretório está correto e ainda assim o problema persistir, então peço que compartilhe aqui seu Colab, pois pode ter outra coisa em seu código interferindo.

                      em resposta a: Mrcnn #34359
                      Gabriel Alves
                      Moderador

                        Olá Luiz!

                        Qual erro que aparece? Se puder verificar se você está no diretório certo (com o comando pwd).

                        Sugiro fazer o seguinte: Reinicie o ambiente de execução no Colab e execute novamente os mesmos códigos e comandos apresentados em aula, naquela mesma ordem. Qualquer coisa, você pode também comparar com esse código aqui => https://colab.research.google.com/drive/1u32bsDb9M8ir2VaZvkOyUfJJV3v6OEML?usp=sharing

                        em resposta a: Visao Computaciona #34358
                        Gabriel Alves
                        Moderador

                          Olá Emerson!

                          Mas em qual seção exatamente você não encontrou o arquivo? O Colab de cada seção vista no curso se encontra na primeira aula da seção, dentro da aba Materiais. Por exemplo, para a seção “Detecção de objetos com YOLO e Darknet” o link pro Colab se encontra na aula “Configuração do ambiente”. Veja que ao acessar essa aula, vai ter abaixo do título duas abas: Tópico (que já está selecionado e é onde aparece o vídeo) e Materiais. Ao clicar nessa aba Materiais vai aparecer um link, que redireciona para o Colab que contém o código das aulas em sequência do curso (nesse caso, o código da seção).

                          Quanto à sua outra dúvida, não da para fazer uma comparação exata pois o TensorFlow na verdade é uma biblioteca e o YOLO é um algoritmo, que também pode ser referenciado como a arquitetura. A “melhor” vai depender muito do seu objetivo, até porque depende de qual técnica exatamente você vai implementar através do TensorFlow, mas ultimamente as versões mais modernas do YOLO têm demonstrado resultados bem interessantes. Mas caso esteja em dúvida entre o que usar, veja essa discussão aqui.

                          em resposta a: Acesso ao código em MaskRcnn e ao Unet? #34219
                          Gabriel Alves
                          Moderador

                            Olá Luiz,

                            Os links para os Colabs contendo o código completo da seção estão na primeira aula de cada uma das seções. Basta acessar a aula e verá que vai ter uma aba com o nome “Materiais”, então ao clicar nessa opção será exibido o link pro Colab. Por exemplo, para o Colab do Unet que você citou, vá até a primeira aula da seção “Segmentação semântica” (aula chamada “Introdução”) e veja que lá vai ter essa aba “Materiais” conforme eu descrevi (que leva para esse link aqui).

                            Já para o Mask R-CNN, caso você se refira ao Colab do treinamento então não é o que está na aula de introdução do módulo de Segmentação de instâncias (que é o com a implementação que usa o modelo pré-treinado), mas sim o link anexo na aula “Treinamento personalizado – balões 1”, que é a aula onde de fato iniciamos a implementação do treinamento personalizado (link). Ou seja, os links para os códigos estão na aba Materiais da primeira aula sobre o conteúdo da seção a ser visto.

                            em resposta a: Aula de implementação do Soebel e do Canny #34217
                            Gabriel Alves
                            Moderador

                              Olá Sergio!

                              O que aconteceu na verdade é que essas duas aulas em específico (“Operador Sobel – implementação” e “Canny Edge – implementação”) estavam fora da ordem na listagem, após feita uma alteração, o que fazia com que essas duas aulas aparecessem mais pro final do módulo. Mas só para avisar que já foi retornado ao normal e agora já está na ordem correta.

                              Quanto ao código, ele está disponível no Colab disponibilizado na primeira aula dessa seção (aula “Introdução”), na aba Materiais, então caso queira acessar esse colab com o código completo basta ir até essa aula e acessar o link lá (ou clique direto aqui).

                              • Esta resposta foi modificada 3 anos, 3 meses atrás por Gabriel Alves.
                              em resposta a: [Recomendação] Anotação de imagem automatizada #33810
                              Gabriel Alves
                              Moderador

                                Olá Eduardo,

                                Primeiramente, que bom que tenha gostado do curso!

                                Sobre sua dúvida, acho difícil encontrar alguma solução open source que possua a mesma precisão dessas ferramentas que você citou, que são privadas e portanto foi provavelmente investido bastante para transformar em um serviço pago. Por enquanto não encontrei alguma que possa oferecer resultados parecidos, mas como sugestão deixarei abaixo o link para um artigo bom que reúne algumas das melhores ferramentas open source para fazer a anotação de imagens, só que o detalhe é que muitas dessas ferramentas oferecem funções de automatização ou até mesmo funções baseadas em algoritmos de machine learning que permitem identificar facilmente as bordas do objeto (por exemplo), dessa maneira tornando o processo de anotação muito mais rápido e eficiente.

                                https://humansintheloop.org/10-of-the-best-open-source-annotation-tools-for-computer-vision-2021/

                                Encontrei também essa abordagem que pode ser útil dependendo do seu caso (link pro repositório).

                                Ainda sobre o tema, tem também esse artigo que pode dar algumas ideias.

                                em resposta a: Erro na geração do arquivo vetorizado #33809
                                Gabriel Alves
                                Moderador

                                  Olá Fernando!

                                  Esse erro pode acontecer quando ao criar o vetor é inserido um tamanho diferente daquele que foi treinado. O tamanho da largura (-w) e altura (-h) deve ser o mesmo informado nessas etapas.

                                  Por exemplo, se na hora de gerar o vetor você colocar -w 24 -h 24 mas na hora de treinar colocar -w 20 -h 20 então vai gerar essa mensagem de erro.

                                  Esse é o motivo mais provável, mas esse erro também pode ocorrer quando o valor informado nos parâmetros não é compatível com o que tem disponível na pasta. Exemplo: quando você informa como parâmetro um certo número de imagens negativas porém na pasta possui uma quantidade de imagens menor que a informada.

                                  Verifique também se o caminho das imagens está correto (na etapa de geração do .vec).

                                  Portanto, verifique se em todas as etapas o tamanho é o mesmo. Se continuar esse erro tente refazer as etapas e mudar as dimensões (-w e -h) para ver se permanece assim. É bom conferir pois as vezes pode acontecer do OpenCV mudar as dimensões no processo (embora seja raro, mas pode acontecer caso uma etapa não ocorra como esperado).

                                  Se mesmo assim verificar que ocorre o erro, sugiro executar o mesmo comando que foi mostrado em aula (mesmos parâmetros de tamanho) e a partir daí você consegue ir testando e modificando aos poucos cada parâmetro e verificar exatamente quando (nesse caso, após qual mudança) que ocorre o erro.

                                Visualizando 15 posts - 301 até 315 (de 402 do total)