Respostas no Fórum

Visualizando 15 posts - 151 até 165 (de 402 do total)
  • Autor
    Posts
  • em resposta a: Segmentação de imagens de ruas e calçadas #43498
    Gabriel Alves
    Moderador

      Olá Carlos!

      Para isso você pode usar o DeepLab, que é mostrado na seção “Segmentação Semântica” (a partir da aula “DeepLab – intuição”). Inclusive, nessa implementação é disponibilizado um modelo pré-treinado que faz a detecção desse cenário que você comentou, ele já é treinado para detectar ruas, calçadas, carros, e outros objetos comuns nesse tipo de ambiente a ser analisado.

      Porém esses modelos já pré-treinados talvez não sejam capaz de segmentar certos objetos mais específicos que você queira (tipo boca de lobo), então caso não ache nos repositórios um modelo já preparado para detectar/segmentar tudo o que precisa então você terá que treinar um novo, fornecendo as imagens desse(s) objeto(s) durante o treinamento.

      Você pode treinar com o Mask R-CNN (segmentação de instâncias) ou U-Net (segmentação semântica), cujos passos de treinamento são mostrados no curso. Mas para esse tipo de cena, acho interessante testar o treinamento com o Detectron2, que demonstrou melhores resultados nesses cenários. Você pode conferir aqui uma explicação de como treinar um modelo para segmentar qualquer objeto customizado que queira.

      em resposta a: imagem com id diferente solicitado no código, aparece para mim #43496
      Gabriel Alves
      Moderador

        Olá Francisco!

        Isso na verdade é esperado, pois a ordem dos IDs é diferente da ordem alfabética. Nessa imagem que você mandou por exemplo, a amostra com id 7 é a 15º na ordem alfabética.

        Se você quer acessar uma imagem específica através do nome, você pode usar a função cv2.imread() do OpenCV, onde você deve fornecer como parâmetro o caminho da imagem. Em alternativa à essa função do OpenCV, para facilitar mais ainda a exibição no Colab pode usar a função de carregamento da biblioteca Pillow. Pegando como exemplo a primeira imagem na ordem alfabética, o código fica assim:

        from PIL import Image

        imagem = Image.open(“balloon/train/10464445726_6f1e3bbe6a_k.jpg”)
        imagem

        em resposta a: Gerar destaques de partida de futebol #43236
        Gabriel Alves
        Moderador

          Olá Alexandre!

          Com as técnicas mostradas nesse curso (e também em outros da Trilha de Visão Computacional) você consegue sim.

          Na verdade, a criação de um programa assim envolveria várias etapas e pode ser um projeto bastante complexo e nada óbvio já que teria uma possibilidade infinita de caminhos a seguir, pois vai depender totalmente do que você classificaria como “melhores momentos” por exemplo, quais condições para entrar nessa lista.

          Vou deixar alguns passos gerais que você poderia seguir:

          Detecção de Eventos de Interesse: Primeiro precisaria ter o modelo de detecção de objetos treinado para identificar jogadores, bola, árbitros, etc (caso não consiga achar um modelo treinado para isso, terá que treinar o seu, usando um dataset apropriado para os vídeos onde você rodará o programa). Em seguida, tendo esse modelo você consegue implementar a lógica para identificar eventos importantes, como gols, cartões, jogadas emocionantes, etc.

          Outra ideia que poderia facilitar: treinar um modelo para detectar exatamente a presença da bola dentro do gol, assim quando ocorrer isso você consegue determinar no programa o tempo exato que ocorreu (e o ideal seria voltar um pouco o número de frames para começar a gravação antes, já que não faz sentido começar a gravar só quando a bola já está no gol).

          Avaliação da Importância dos Eventos: basicamente, seria associar pontuações a diferentes eventos com base em sua importância.
          Por exemplo, um gol pode ter uma pontuação mais alta do que uma jogada/passe comum.

          Registro do Tempo: para registrar os tempos exatos em que cada evento ocorre, você pode usar o numero de frames como unidade de medida. assim consegue manipular lá para começar a gravar o momento a partir do frame numero x e terminar no frame número y (quando a bola deixa de ser detectada, por exemplo).

          Edição de Vídeo: use uma biblioteca de edição de vídeo para facilitar na hora de cortar os melhores momentos. Você pode usar a biblioteca moviepy para manipulação de vídeo em Python.

          Transmissão ao Vivo: Para transmissões ao vivo, você precisará integrar a detecção de eventos em tempo real. A própria biblioteca OpenCV (que é bastante usadas nesses cursos aqui) tem a função cv2.VideoCapture que possui suporte para captura em tempo real.

          Gabriel Alves
          Moderador

            Olá Fernando!
            Como a opção de montar só pode exibir os arquivos dentro do seu Drive (e não os “compartilhados comigo”) então você precisaria passar eles para sua conta. E parece que o Drive não disponibiliza mesmo um botão que automaticamente faz uma cópia de uma pasta completa para seu Drive (essa opção aparece apenas ao tentar copiar arquivos individuais), mas nesse caso você pode simplesmente fazer do modo normal, que é bastante simples: basta baixar (clicando sobre o nome da pasta principal e selecionando a opção “Fazer download”) e então após terminar de baixar em sua máquina você faz o upload para o seu Drive, colocando dentro do diretório desejado (igual quando você faz o upload normal de uma arquivo por lá). Ao baixar pelo drive o arquivo é compactado em um .zip, então você pode descompactar em sua máquina antes de subir, ou descompactar durante a execução do Colab se preferir (usando o comando !unzip).
            É basicamente só isso, mas caso fique alguma dúvida é só avisar.

            em resposta a: Análise de duas pastas #43231
            Gabriel Alves
            Moderador

              Olá Adriel!

              O que você precisaria é apenas englobar o que já existe em um laço de repetição que irá percorrer todas essas pastas (que possuem train e test como subpasta). Então, esse laço de repetição será responsável por percorrer todas essas subpastas e executar o código atual (esse trecho aqui) de modo que a variável caminho nessa função seja atualizada com base no valor daquela iteração.

              Ou seja, na parte que chama a função carregar_dataset() ao invés de passar como parâmetro diretamente o “drive_dataset” pro valor de path_dataset, você vai passar uma lista contendo os nomes de cada uma das pastas (ex: Pasta 1, Pasta 2, …). Essa lista você pode obter de modo automático (usando os métodos da biblioteca glob, conforme os exemplos que foram mostrados nessa e nas outras aulas) ou escrevendo manualmente o nome de cada pasta e colocando numa lista (ex: lista_pastas = “Pasta1”, “Pasta2”).

              Então ficaria assim a estrutura de diretórios:

               diretório principal > diretório contendo “pasta 1”, “pasta 2″… > subdiretórios (train e test)

              E o modo como vai juntar essas imagens no final pode depender um pouco também se essas imagens separadas em pastas diferentes são da mesma classe ou de classes diferente; se for da mesma você pode simplesmente unificar numa mesma lista e não exigiria fazer mais nada.

              em resposta a: Instalação no windows #43210
              Gabriel Alves
              Moderador

                Olá Fagner!

                Realmente o Triton no momento apresenta problemas de suporte ao Windows, porém descobri que algumas pessoas estão conseguindo usar. Para isso, utilizaram o seguinte comando:

                pip install https://huggingface.co/r4ziel/xformers_pre_built/resolve/main/triton-2.0.0-cp310-cp310-win_amd64.whl

                Há também uma thread atual aqui que aborda exatamente essas questão, se quiser dar uma olhada e testar em sua máquina.

                Porém acredito que esse repositório que foi usado pro curso não exija o triton, portanto poderia simplesmente pular o comando de instalação dele e continuar executando o restante normal.

                Mas caso se depare com algum problema no processo, peço que compartilhe aqui a mensagem de erro para que eu possa tentar ajudar melhor.

                em resposta a: NÃO POSSUI A OPÇÃO GPU O QUE FAZER? #43039
                Gabriel Alves
                Moderador

                  Olá Márcia!

                  A opção é essa mesma que mostra em sua imagem, a T4 GPU. Basta selecionar e clicar em Salvar. Depois disso, será reiniciado o ambiente de execução e você pode executar o código conforme mostrado em aula. Se aparecer alguma mensagem na hora de executar o código e que esteja te impedindo de prosseguir, peço que envie foto da mensagem exata que aparece.

                  Caso apareça a mensagem dizendo que excedeu o limite de uso, significa que você está usando o plano gratuito e usou por muito tempo seguido até o ponto de estourar a quota gratuita de uso (free tier), portanto se quiser usar mais GPU de imediato terá que pagar pelo Colab Pro; ou, se você puder aguardar algumas horas para poder continuar rodando novamente então não precisa pagar, basta aguardar um pouco e então você conseguirá utilizar a GPU de novo normalmente de forma gratuita.

                  O Colab até que disponibiliza uma quota bem interessante para uso gratuito da GPU, mas caso esteja fazendo um uso muito frequente e ver que está ficando sem acesso à GPU pode usar outros serviços também que oferecem acesso grátis à GPU, como o SageMaker Studio Lab.

                  em resposta a: VS Code #43015
                  Gabriel Alves
                  Moderador

                    Olá Raphael!

                    Para resolver esse erro no anaconda, execute o seguinte comando no prompt:

                    -m pip install –upgrade transformers

                    Esse mesmo comando deve resolver o problema, mas caso ainda assim continue peço que informe mais detalhes, como por exemplo a versão do diffusers que você instalou.

                    em resposta a: Adicionar a barra de probabilidades na imagem #42999
                    Gabriel Alves
                    Moderador

                      Olá Lara!

                      Pela imagem parece que é extremamente parecido com o “Modo detalhado” que desenvolvemos pro curso. Esse código foi feito para vídeos, mas se precisar usar em fotos também pode ser usado (até porque o código processa o vídeo em frames individuais – ou seja, imagens). Veja a aula BÔNUS 3: Reconhecimento de emoções em vídeos, o código no Colab pode ser acessado pelo link “Colab2” na aba “Materiais.

                      Link aqui: https://colab.research.google.com/drive/16bRqVnWpeoeacrF5_VFuwLobaOrOLrHN

                      Qualquer dúvida é só avisar!

                       

                      em resposta a: Não abre a pasta zip, conforme mensagem apresentada no codigo #42998
                      Gabriel Alves
                      Moderador

                        Opa, que bom que conseguiu resolver!

                        em resposta a: Não abre a pasta zip, conforme mensagem apresentada no codigo #42980
                        Gabriel Alves
                        Moderador

                          Olá Francisco!

                          Esses dois erros destacados na imagem ocorrem pois o arquivo .zip não foi localizado e portanto não foi copiado para o Colab ali no primeiro comando mais ao topo da imagem (o comando !cp, que nesse caso está fazendo uma cópia do arquivo salvo no seu Google Drive para a pasta /content/, que é dentro máquina virtual do Colab).

                          Ele não consegue localizar o arquivo pois o caminho para chegar até ele está diferente em seu Drive. Pro exemplo de aula, é => MyDrive/Cursos – recursos/Segmentação Imagens Python AZ/drive_dataset.zip

                          Já o seu caminho está diferente, repare ali no painel esquerdo do print que você enviou. A diferença é que em seu Drive a pasta “Segmentação Imagens Python AZ” não está dentro da pasta “Cursos – recursos”, mas de uma outra pasta. Ali no print está cortando o nome devido ao limite de caracteres, mas imagino que essa pasta tenha o mesmo nome da outra que está dentro dela (“Segmentação Imagens Python AZ”) portanto você precisa especificar isso no comando. Pois no comando deve ser passado como parâmetro o caminho exato onde está localizado o arquivo dentro de seu Drive.

                          Então, você deve substituir pelo nome exato das pasta que você deixou e colocar em seu comando. Se os nomes das pastas forem mesmo “Segmentação Imagens Python AZ”, então seu comando ficaria assim: !cp /content/gdrive/MyDrive/Segmentação\ Imagens\ Python\ AZ/Segmentação\ Imagens\ Python\ AZ/datasets/drive_dataset.zip /content/

                          E se após executar não aparecer a mensagem ali em baixo desse comando (“cp: cannot stat ‘…'”) então indica que foi certo, e os comandos seguintes deverão rodar sem problemas.

                          • Esta resposta foi modificada 1 ano, 7 meses atrás por Gabriel Alves.
                          em resposta a: Erro no treinamento personalizado 2 #42586
                          Gabriel Alves
                          Moderador

                            Olá Luana!

                            As etapas anteriores a essa não retornaram nenhum erro ou mensagem diferente ao executar?

                            Acredito que pode ser por causa do xformers, que está associado ao mesmo problema do outro tópico que você criou.

                            Para resolver, basta copiar e colar aquele comando no início desse seu código do treinamento personalizado:

                            !pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 torchtext==0.14.1 

                            Pelo que testei aqui, assim está funcionando. Mas caso não resolva, peço que se possível mudar a opção de compartilhamento desse Colab que você colocou ali na mensagem para assim eu conseguir te ajudar melhor. Para isso, abra seu Colab e clique lá em cima no botão Compartilhar, e abaixo de “Acesso geral” muda para “Qualquer pessoa com o link”. Ou aceite a solicitação que acabei de enviar.

                             

                            em resposta a: Segmentação de imagens #42582
                            Gabriel Alves
                            Moderador

                              Olá Heitor!

                              Sim, temos aqui na plataforma o curso Segmentação de Imagens com Python – de A à Z. Lá por exemplo mostra como usar a técnica Mask R-CNN, usado para detecção de instâncias (onde você pode diferenciar entre as várias instâncias dos objetos da mesma classe detectados na imagem). Nesse curso é mostrado como criar um modelo personalizado, mas para objetos mais comuns você pode usar o modelo pré-treinado, que já é capaz de detectar e segmentar corretamente esses objetos mais comuns como laranjas, maçãs, carros, pessoas, etc.

                              Se quiser, pode dar uma olhada também em outros cursos da Trilha de Visão Computacional.

                              em resposta a: Erro nas importações #42545
                              Gabriel Alves
                              Moderador

                                Oi, esse aviso não é para interferir no funcionamento do código implementado durante as aulas, apesar de aparecer essa mensagem você deve conseguir executar normalmente.

                                Caso deseje mesmo assim retirar esse aviso, você pode completar esse comando pip com mais alguns parâmetros, deixando assim:

                                !pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 torchtext==0.14.1

                                Mas caso ainda esteja com problemas para executar, peço para compartilhar aqui o seu Colab se possível para eu analisar melhor, pois nesse caso deve ter outra coisa interferindo.

                                em resposta a: Erro nas importações #42529
                                Gabriel Alves
                                Moderador

                                  Olá Luana!

                                  Parece que há uma incompatibilidade entre o xformers (módulo usado para otimizar a geração das imagens) e as versões mais recentes da biblioteca Pytorch, essas que passaram a ser atribuídas bem recentemente às novas sessões no Colab. Portanto, a recomendação é fazer o downgrade do torch para versão 1.13.1, já que atualmente o xformers funciona melhor para essa versão.

                                  Para isso, utilize esse comando abaixo:

                                  !pip install torch==1.13.1

                                  Basta copiar e executar esse comando por primeiro antes das demais linhas em seu código no Colab, e depois pode continuar executando normalmente o restante.
                                  (Reinicie o ambiente de execução, caso já tenha iniciado)

                                  Ou você poderia também simplesmente pular essa linha que gerou o erro, mas recomendamos usar o xformers; mudar a versão do pytorch aqui não terá qualquer outro impacto então você pode fazer isso e deve conseguir executar tudo normalmente.

                                  • Esta resposta foi modificada 1 ano, 8 meses atrás por Gabriel Alves.
                                Visualizando 15 posts - 151 até 165 (de 402 do total)