Respostas no Fórum

Visualizando 15 posts - 286 até 300 (de 405 do total)
  • Autor
    Posts
  • em resposta a: Detecção por Raspbarry #35981
    Gabriel Alves
    Moderador

      Olá! Esse arquivo é usado para informar ao YOLO quais são os nomes das classes associadas ao modelo (para o COCO são 80 classes, portanto 80 nomes, 1 por linha. veja o conteúdo aqui). Para editar esse arquivo você pode usar qualquer programa de editor de textos. Recomendo dar uma olhada na aula “Criação da base de imagens 4”, onde é mostrado exatamente como editar esse arquivo com extensão .names (é mostrado para o modelo customizado que estamos criando, mas pode ser feito para o COCO da mesma forma já que se trata de apenas editar os nomes).

      em resposta a: Erro em OCR – Reconhecimento de Texto #35938
      Gabriel Alves
      Moderador

        Olá Jonas,

        Parece ser um problema do módulo ao ler essa imagem em png. Ocorre apenas com essa imagem? Tente primeiro trocar o nome da imagem (na linha onde você define o caminho/nome da imagem) de “.png” para “.PNG” (ou vice versa) e verifique se a imagem não está corrompida ou algo assim – uma maneira de testar é mostrar a imagem na tela antes. Se não funcionar, tente carregar a imagem através da biblioteca PIL mesmo, usando a função Image.open (exemplo aqui). Outra solução também poderia ser converter para jpg e testar ver se funciona, já que com essa extensão não deve ocorrer tal erro.

        em resposta a: Medida de área #35937
        Gabriel Alves
        Moderador

          Olá Matheus!

          Sim é possível, você poderia implementar algum algoritmo próprio por exemplo (basta procurar por algoritmos para cálculo de perímetro de formas/objetos usando python) ou, para facilitar, você pode usar o módulo measure da biblioteca scikit-image (skimage). Veja a documentação, lá verá que tem por exemplo uma função própria para calcular o perímetro (skimage.measure.perimeter).

          Ou você pode usar a função regionprops() que retorna uma lista extensa de propriedades, incluindo o perímetro. Assim você tem acesso aos valores necessários para determinar o comprimento e largura (para saber isso você pode simplesmente usar as medidas da caixa delimitadora, ou seja, o valor associado ao bbox). Caso queira um exemplo de como implementar, confira aqui.

           

          em resposta a: Detecção por Raspbarry #35936
          Gabriel Alves
          Moderador

            Para exemplo de código recomendo verificar o primeiro link na minha resposta anterior, lá tem um código pronto para usar e mostra certinho como rodar em tempo real.

            em resposta a: Segmentação panóptica – implementação 2 #35875
            Gabriel Alves
            Moderador

              Olá! Sim consegue. Para a segmentação panóptica pode ser um pouco mais difícil comparado aos outros pois é uma técnica mais nova e possui ainda pouca documentação e exemplos prontos de como treinar um modelo customizado, mas usando o Detectron2 é bem mais fácil de fazer o treinamento, dê uma olhada aqui:  https://www.celantur.com/blog/panoptic-segmentation-in-detectron2/

              em resposta a: Detecção por Raspbarry #35874
              Gabriel Alves
              Moderador

                Olá! Consegue sim, quanto a rodar YOLO no Raspberry Pi também sugiro dar uma olhada nesse artigo, que pode ser bem útil. Só tem que ver se ele vai rodar a uma boa taxa de FPS, na verdade isso vai depender totalmente do tipo de sua aplicação (especialmente se ela exige processar tudo em tempo real e se depende de uma taxa alta de FPS), por isso é bom testar e ver qual vai ser o tempo de inferência. Caso a taxa de FPS seja muito baixa sugiro treinar com o Tiny-YOLO.

                Gabriel Alves
                Moderador

                  Olá Jardel!

                  Para fazer isso você pode simplesmente juntar de maneira manual com o dataset que você baixou com o OID, ou seja deixar na mesma pasta, lembrando de deixar a estrutura das subpastas e padrão de nomeação dos arquivos exatamente como mostramos, pois tem que estar tudo no mesmo formato. Se você não tiver feito a anotação das imagens ainda, veja a aula “Criação do seu dataset de imagens manualmente”.

                  em resposta a: Treinamento Personalizado no DeepLab #35872
                  Gabriel Alves
                  Moderador

                    Olá Renato!

                    Sim é possível treinar um modelo personalizado com o DeepLab, não mostramos no curso pois a arquitetura escolhida para mostrar como treinar um modelo personalizado para segmentação semântica foi o U-Net. Mas se deseja saber como fazer sugiro dar uma olhada nesse artigo aqui: https://rockyshikoku.medium.com/train-deeplab-v3-with-your-own-dataset-13f2af958a75 (e tem um Colab com código mais detalhado aqui, creio que vai ajudar).

                    em resposta a: Dúvida sobre arquitetura #35871
                    Gabriel Alves
                    Moderador

                      Opa interessante, boa sorte em seus estudos. Sobre esse tema, recomendo dar uma olhada nessa abordagem também que é usada para detecção de leucócitos: https://github.com/mikeszabi/WBC/blob/master/WBC_detection.ipynb

                      (e tem essa outra abordagem mais simples com equalização de histograma e canny edge, parecido com o que fizemos: https://www.geeksforgeeks.org/python-blood-cell-identification-using-image-processing/  e depois aplicar o watershed)

                      em resposta a: Segmentação panóptica – Introdução #35869
                      Gabriel Alves
                      Moderador

                        Olá Wesley, para qual aula exatamente está acontecendo isso? Na de introdução também? E para todas as demais carregou normal?

                        Experimente fazer um recarregamento forçado (ctrl+shift+R) e tentar esvaziar o cache da página, mas caso não funcione nos avise.

                        em resposta a: Dúvida sobre arquitetura #35833
                        Gabriel Alves
                        Moderador

                          Olá Lucas!

                          Além da detecção você precisa segmentar o objeto também, isso? Ou apenas a detecção? Acredito que poderia usar a R-CNN mesmo ou algum modelo baseado ainda em alguma CNN mais complexa como o Xception, que é recomendada para imagens microscópicas inclusive. Na verdade depende também quais as características das imagens microscópicas vocês irá trabalhar. Mas quanto a usar o watershed para segmentar e enviar para a rede, é bem interessante e já li sobre alguns projetos que fizeram isso para obter melhores resultados. Sobre isso aliás, se quiser ver uma pipeline de como poderia ficar essa implementação: https://www.researchgate.net/figure/Pipeline-of-the-proposed-method-combining-CNN-and-watershed-The-method-has-three-steps_fig1_324120625

                          em resposta a: Segmentação panóptica – Introdução #35775
                          Gabriel Alves
                          Moderador

                            Olá Lucas,

                            Verifique se não é algum problema na conexão de internet, que pode atrasar o carregamento e fazer com que certos elementos não carreguem (ou demorem muito para carregar e pareça que não está carregando).

                            em resposta a: Imagens microscópicas 3 #35774
                            Gabriel Alves
                            Moderador

                              Olá Lucas!

                              Isso, na verdade essa forma que você sugere inicialmente é para manter os elementos separados e portanto seria para Segmentação de Instâncias. Nesse caso nós estamos concatenando máscaras das imagens do dataset pois queremos fazer a Segmentação Semântica. Já se a ideia é fazer a segmentação de instâncias (e diferenciar cada instância do objeto) então o caminho seria não juntar as máscaras, mas sim mantê-las separadas para cada anotação individual.

                              em resposta a: cannot open resource frame #35732
                              Gabriel Alves
                              Moderador

                                Olá Daiana!

                                Após executar o comando “!pip install Pillow==9.1.0” clique no botão [Restart Runtime] que irá aparecer na tela, na saída da célula onde esse comando foi executado (ou selecione manualmente a opção “Reiniciar ambiente de execução” no menu ao topo) e após aguardar poucos segundos você pode executar normalmente o restante do código, na ordem como está no Colab. Eu fiz aqui nesse seu Colab que você mandou e funcionou tudo certinho.

                                em resposta a: Pose de mais de uma pessoa #35665
                                Gabriel Alves
                                Moderador

                                  Olá Júlio!

                                  É possível sim. Um maneira de fazer isso e provavelmente garantir maior confiabilidade seria fazer a detecção da pessoa antes (através de um detector de objetos robusto como o YOLO) – em seguida, através das coordenadas retornadas você irá extrair a região de interesse (ROI) de cada pessoa e para cada região será feita a estimação de pose. Ou seja, será passado para a rede neural a imagem da região de interesse apenas – e a região de cada pessoa. Para isso basta fazer um laço de repetição para percorrer cada detecção/pessoa (pode usar o mesmo usado para desenhar a caixa delimitadora sobre a imagem) e para cada iteração passar a imagem da região para a rede fazer o pose-estimation; assim, ao final vai garantir que será feito para cada pessoa presente na imagem/frame (caso tenha dúvidas de como extrair certa região de interesse da imagem a partir das coordenadas veja aqui).

                                  Outra maneira (se deseja mesmo um código meio pronto) poderia ser feita assim: https://github.com/nicknochnack/MultiPoseMovenetLightning/blob/main/MultiPose%20MoveNet%20Tutorial.ipynb

                                  • Esta resposta foi modificada 3 anos, 2 meses atrás por Gabriel Alves.
                                Visualizando 15 posts - 286 até 300 (de 405 do total)