Forum Replies Created

Viewing 15 posts - 166 through 180 (of 428 total)
  • Author
    Posts
  • in reply to: Erro ao gerar imagens #44099
    Gabriel Alves
    Keymaster

      Olá Heitor!

      Devido a algumas incompatibilidades com versões mais recentes das bibliotecas, é necessário agora algumas pequenas mudanças no código do repositório. A maneira mais fácil de resolver é a seguinte:

      1) Alterar a primeira linha (que clona o repositório) agora deverá ser assim:

      !git clone https://github.com/davidstap/AttnGAN.git

      (ou seja, mudou de dvschultz para davidstap)

      2) A linha de código onde atualmente está assim

      !pip install torchvision==0.11.1
      !pip install pyyaml==5.4.1

      Deverá agora ficar assim:

      !pip install torch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 torchdata==0.5.1 torchtext==0.14.1
      !pip3 install “cython<3.0” wheel && pip3 install –no-build-isolation “pyyaml==5.4.1” 

      Se preferir, pode acessar o código da seção aqui.

      in reply to: AttributeError: module ‘numpy’ has no attribute ‘bool’. #44091
      Gabriel Alves
      Keymaster

        Olá Matheus!

        Para mais detalhes veja a aula “Aviso sobre atualização no Colab”, mas resumidamente, a recomendação é acessar o Colab da aula e copiar de lá os passos de instalação e configuração do ambiente, assim fica mais fácil e rápido.

        O Colab referente à primeira aula sobre Mask R-CNN é esse: https://colab.research.google.com/drive/1u32bsDb9M8ir2VaZvkOyUfJJV3v6OEML?usp=sharing

        E o Colab para as aulas sobre o treinamento customizado é esse: https://colab.research.google.com/drive/1CEu9aKbtM0jDZMUN2282fMwV4c-fEn5O

        As mudanças estão comentadas logo no início do Colab, o que precisa fazer é basicamente baixar o repositório contendo o código atualizado para a versão 2.x do Tensorflow.

        Depois disso é para conseguir executar normalmente sem essa mensagem. Mas caso continue a ver algum erro que impeça a execução do restante do código então peço que compartilhe aqui o seu Colab, pois pode haver alguma outra coisa interferindo.

        in reply to: Não consigo fazer oque o professor fez na aula #44090
        Gabriel Alves
        Keymaster

          Olá Sandro!

          Esse erro é devido a uma incompatibilidade recente que ocorreu com a versão automaticamente atribuída para o pytorch na sessão.

          Para evitar essa mensagem de erro, basta executar o comando abaixo logo no início do Colab, executando toda vez que iniciar a sessão

          !pip uninstall torch -y
          !python -m pip install torch==2.0.1 torchvision==0.15.2 –extra-index-url https://download.pytorch.org/whl/cu118

          Em seguida, pode continuar a rodar o restante do código.

          Basta colar no início do Colab e executar, mas se tiver dúvidas confira aqui o Colab oficial da aula pois lá já se encontra atualizado.

          in reply to: ERRO #44057
          Gabriel Alves
          Keymaster

            Olá! Isso ocorre pois você passou da quota limite permitida para uso gratuito da GPU. Para resolver basta esperar algumas horas e então o Colab reseta essa quota e conseguirá usar a GPU de novo, mas dependendo do caso pode ser necessário aguardar até o dia seguinte. Se precisar acessar com certa urgência, use uma conta Google reserva e então conseguirá usar normalmente até que se passe algumas horas e consiga usar de novo a outra conta.

            Mas essa parte do código em questão ainda não é necessário usar GPU, então você pode executar pela CPU mesmo (que não possui limites, apenas o limite máximo de duração de uma sessão que é de 12h, mas se chegar a usar tudo isso direto basta reiniciar a sessão).

            Para mudar para CPU, selecione no menu do topo: Ambiente de execução > Alterar o tipo de ambiente de execução.
            e em Acelerador de Hardware mude para CPU.

            in reply to: Treinamento de IA #43951
            Gabriel Alves
            Keymaster

              Olá Niko e Abraão!

              Recomendo seguir esse artigo pois apresenta um checklist do que fazer para treinar no AWS, talvez o problema seja devido à falta de algum detalhe (tem um vídeo bom também explicando, veja aqui).

              Mas ainda quanto ao fato de desconectar do Colab, você disse que fez um bot para ficar mexendo a tela né, sugiro você também testar esse código aqui: https://stackoverflow.com/a/60579132 feito para evitar as desconexões. Teste e me avise qualquer coisa por aqui.

               

              E quanto à sua dúvida Abraão, você pode facilmente baixar o código em um arquivo no formato .py, ou seja, o formato esperado pelo PyCharm e VSCode. Para isso, basta ir abrir o Colab que deseja baixar, e no menu do topo selecione a opção Arquivo > Fazer download > Fazer do download de .py

              in reply to: Pasta “Treinamento YOLO.zip” não aparece para mim #43872
              Gabriel Alves
              Keymaster

                Olá Abraão!

                Tem como sim. Para rodar no Pycharm, basicamente você só precisar copiar os códigos e reunir num único arquivo e só cuidar quando for “converter” de .ipynb (formato usado pelo Colab, que é baseado no Jupyter Notebook) para .py. Você pode fazer isso manualmente, é bem simples, só precisa se atentar à algumas funções que são usadas no Colab, como o cv2_imshow, que ficará cv2.imshow em .py. Ou ainda, você pode simplesmente baixar o código já em .py direto pelo Colab. Para isso, selecione a opção do menu: Arquivo > Download > Download .py

                Se for usar a implementação com OpenCV pelo módulo DNN você precisa apenas instalar as bibliotecas necessárias (mostradas em aula) e importá-las corretamente em sua IDE, já que não estará utilizando o Darknet então não precisa executar aqueles procedimentos para compilar.

                Caso use a implementação com Darknet, você precisa executar os comandos pelo Terminal / prompt de comando, então sugiro usar a IDE apenas pra executar os scripts em python. Para compilar no Windows você precisa fazer isso usando o CMake, conforme é explicado aqui (ou também pode usar esse método).

                in reply to: Marcar como completo #43777
                Gabriel Alves
                Keymaster

                  Olá Anderson!

                  Esse botão só libera quando conclui a aula. Ou seja, precisa chegar até o fim do vídeo e aí sim pode marcar como concluído. Eu tentei acessar aqui essa mesma aula desse curso e deu certo.

                  Portanto verifique se o botão continua cinza (e não clicável), avance a até chegar ao final do vídeo e verifique então se o botão se torna verde e clicável. Se isso não acontecer, aí pode ser alguma outra coisa realmente, mas a princípio deveria estar ok e é só esse pequeno detalhe que impede de clicar nele.

                  in reply to: Região de Interesse #43735
                  Gabriel Alves
                  Keymaster

                    Olá Rafael!

                    Para a detecção apenas eu acho que você poderia incorporar as técnicas de pré-processamento de imagem para extrair regiões específicas nesse documento. Mas também pode ser interessante treinar uma rede neural só para essa detecção, se houver muita variedade nas imagens testadas.

                    Eu recomendo dar uma olhada nesse artigo pois é mostrado exatamente como fazer essa extração das regiões de interesse na imagem (no exemplo ele usa uma CNH, mas pode ser adaptado para qualquer tipo de documento), e além disso ele aborda o reconhecimento do texto (OCR).

                    Gabriel Alves
                    Keymaster

                      Olá Carlos! Esse é um assunto realmente mais desafiador, mas aos poucos você vai pegando a intuição geral do assunto e tudo fará mais sentido. Embora seja explicado a parte mais técnica, ela não é necessária para se implementar, se quisesse poderia apenas considerar a parte prática (pegar e executar o código), mas se você quiser customizar e entender como realmente funciona é importante sim essa explicação mais teórica.

                      Mas caso não tenha entendido algo sobre o assunto, fique à vontade para enviar sua mensagem aqui.

                      E quanto sua dúvida, para trocar o nome das classes para português é necessário fazer uma modificação manual da função draw_panoptic_seg_predictions(), que é responsável por desenhar a segmentação sobre a imagem (e escrever os nomes das classes dentro de cada segmento). São duas listas que contém os nomes dos objetos, que são acessíveis por meta.stuff_classes e meta.thing_classes, informando esses valores durante a execução do programa você consegue visualizar todas as classes. Esses nomes são carregados através do pacote “MetadataCatalog” da biblioteca Detectron2, e infelizmente no momento ele não permite sobrescrever esses valores direto pelo próprio programa (atribuindo por exemplo ao valor de meta.stuff_classes para que seja = à uma lista que você criou, essa que conteria os nomes traduzidos) então acredito que o jeito de traduzir esses nomes seria modificando a função draw_panoptic_seg_predictions(). Dentro dessa função, você poderia por exemplo passar um dicionário Python (mais detalhes aqui), com ele você pode facilmente mapear os nomes das classes (inglês->português) e assim definir para que antes de escrever o texto seja substituído o termo em inglês pelo português.

                      in reply to: Pasta “Treinamento YOLO.zip” não aparece para mim #43531
                      Gabriel Alves
                      Keymaster

                        Olá Francisco!

                        O arquivo .zip mencionado nessa aula seria o TreinamentoYOLO.zip, que se encontra dentro da pasta /recursos no Drive oficial do curso (link aqui https://drive.google.com/drive/folders/1pI0ImWiFNpSqaKXAqbDXXV30EueF3LGP).

                        Dentro desse .zip vai ter os scripts utilizados para fazer os processamentos e conversões na base de dados.

                        in reply to: Criar caixas de identificação de objetos #43516
                        Gabriel Alves
                        Keymaster

                          Olá Francisco, primeiramente ficamos felizes por estar gostando do conteúdo!

                          Quanto à dúvida, o que você deseja é filtrar a detecção com base na classe, isso? Por exemplo, só detectar e exibir a caixa delimitadora para objetos da classe “cachorro” (e ignorar objetos de outras classes, como “pessoas” ou “carros”). Para isso, veja a aula “Detecção somente de objetos específicos”, onde é mostrado como fazer exatamente. Se quiser conferir direto o código pelo Colab, é esse trecho aqui https://colab.research.google.com/drive/190Xm4YdjQg_WA6mdWxdJSo8n0qPtHFIj?usp=sharing#scrollTo=1jKBfDS-nkbn

                          Já se deseja filtrar qual a instância detectada (ou seja, um objeto específico dentro todo os objetos detectados, seja da mesma classe ou outras classes diferentes) aí você precisa modificar o loop for, assim você pode configurar para que seja exibida a caixa delimitadora somente para uma detecção específica, e para as demais ignore.

                          in reply to: Segmentação de imagens de ruas e calçadas #43498
                          Gabriel Alves
                          Keymaster

                            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.

                            in reply to: imagem com id diferente solicitado no código, aparece para mim #43496
                            Gabriel Alves
                            Keymaster

                              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

                              in reply to: Gerar destaques de partida de futebol #43236
                              Gabriel Alves
                              Keymaster

                                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
                                Keymaster

                                  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.

                                Viewing 15 posts - 166 through 180 (of 428 total)