Forum Replies Created
- AuthorPosts
Olá! Tudo bem?
Só uma dúvida antes, foi adicionado o caminho (path) para o openCV, igual foi feito na aula “Instalação e configuração do OpenCV” (no minuto 6:00)?
Pois esse erro em específico ocorre exatamente quando a IDE não encontra o OpenCVMas no Eclipse mesmo é um pouco diferente, portanto sugiro dar uma olhada nesse link que explica como deixar funcionando no Eclipse para macOS
https://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.htmlCaso não resolva, então a segunda “solução” depende de qual versão do OpenCV você instalou. Um outro aluno solucionou esse problema desinstalando uma versão mais recente (4.2) e instalando uma um pouco mais antiga, como a 3.2 (essa tem tudo o que é necessário para o curso, aliás até versões bem mais antigas terão todas as funções necessárias)
Já teve outro que resolveu simplesmente reinstalando e instalando tudo novamente.
Acho que daria para tentar essas duas alternativas também.Fazendo uma dessas 3 coisas é quase certeza que já tenha resolvido, mas caso ainda assim não funcione para você então sugiro que você faça a instalação dessa forma aqui:
https://www.tutorialspoint.com/how-to-setup-opencv-java-with-eclipseOutra alternativa (que na verdade muitos preferem) é usando o Maven, através da biblioteca JavaCV (https://github.com/bytedeco/javacv). Ali no README do repositório explica já como fazer, mas é bem simples, basta carregar os JARs. Aí não precisa fazer o link com a dll.
Qualquer coisa é só avisar.
- This reply was modified 3 years, 10 months ago by
Gabriel Alves.
3 de May de 2021 at 11:26 in reply to: Erro ao treinar rede neural personalizada – AULA TREINAMENTO DO YOLO2 #28544Olá Gustavo,
Que bom que já conseguiu descobrir o erro, e obrigado por postar sua solução!
Olá Igor,
que bom que já conseguiu resolver o problema, e obrigado por postar sua solução!
Olá Guilherme!
Sim está no caminho certo, o recomendado seria aprender antes como criar o detector de objetos com algumas técnicas mais simples, como o haarcascade do OpenCV e em seguida o Dlib. Mas se você desejar pular direto para o YOLO também pode fazer isso, pois o curso foi feito para quem nunca trabalhou com detecção de objetos antes conseguir entender todos os conceitos (até porque o funcionamento dessas técnicas é bem diferente). O YOLO é sem dúvidas uma das melhores e mais modernas abordagens para detecção de objetos hoje em dia, portanto eu recomendaria usar ele.
O haarcascade também é muito usado hoje ainda porém mais para coisas específicas, principalmente para faces, já que ele é uma alternativa de custo computacional bem menor quando comparado com as outras técnicas. No entanto, as melhores técnicas hoje em dia são as baseadas em Redes Neurais Convolucionais (Deep Learning) como é o caso do YOLO.
Olá!
Acho que infelizmente ocorreu um erro com o envio da sua mensagem por aqui. O Colab seria esse? https://colab.research.google.com/drive/1H5RfIcGVbtmSYxrMRqy875gs2WpNAEkd?usp=sharing ele está com acesso restrito, então precisa mudar para a opção “qualquer um com o link” assim eu consigo visualizar aqui (para mostrar essa opção basta clicar novamente no botão Compartilhar).
Mas de qualquer forma, se preferir pode se basear nesse Colab aqui: https://colab.research.google.com/drive/1IiUfQ7ZO8gpZcw5X50jfYDBPOHw9r_lU?usp=sharing
que é praticamente o mesmo da aula, só que esse possui alguns comentários a mais (é só aquilo que foi explicado nas aulas mas em forma de texto mesmo)
Se mesmo assim o erro persistir então é aquilo que comentei na resposta anterior, portanto sugiro só verificar antes (se quiser pode conferir se o seu classes.txt ficou igual ao usado nesse Colab que mandei acima)
Olá Rodrigo!
O código fonte do converter_annotations.py está correto na verdade então não deveria ocorrer esse erro, por isso to achando que é outra coisa.
Antes só confira se os nomes das classes dentro do arquivo classes.txt estão escritos corretamente.
Por exemplo, o nome da xícara precisa estar exatamente assim Coffee cup, com apenas a primeira maiúscula.
Só estou comentando pois imagino que o motivo desse erro possa ser esse, já que ali na mensagem diz que não conseguiu converter o nome da classe para float, só que nessa linha onde ocorreu o erro o nome da classe já deveria ter sido substituído pelo ID dela (nesse exemplo, “1”) então se ele não conseguiu substituir é provavelmente porque não encontrou o nome correspondente dentro do .txt. Ou também porque não conseguiu ler o conteúdo do .txt, pode ser isso também, por isso é bom só verificar se o .txt está com o conteúdo certo e no diretório correto.
Caso você tenha verificado isso e esteja tudo correto mesmo peço que se possível compartilhe seu Colab por aqui para eu dar uma olhada, assim consigo ver melhor o que mais poderia estar acontecendo no seu arquivo que possa ocasionar esse problema.
Olá Jackson!
Se você deseja rodar em sua máquina local ao invés do Colab eu recomendo fazer isso usando o Jupyter Notebook ao invés do Pycharm, pelo menos nesse curso, pois nele estamos trabalhando com arquivos .ipynb ao invés de .py. Ou se achar melhor pode até converter de .ipynb para .py, o que não é difícil porém é um pouco trabalhoso apenas. Mas caso precise mesmo usar o Pycharm da para editar esses tipos de arquivo normalmente por lá (por exemplo).
(Caso tenha dúvidas de como instalar o Jupyter Notebook, veja aqui)
Olá Rafael!
Não há a necessidade de usar GPU, porém nós recomendamos usar caso tenha disponível pois a detecção será muito mais rápida, principalmente indicado se sua aplicação for para vídeos e não para fotos somente.
Se você for usar apenas CPU para o processamento então recomendo utilizar a implementação que usa o módulo DNN do OpenCV, já que é mais otimizada que a implementação com darknet (ou seja, terá um custo computacional menor e é mais adequado para CPU’s).
Quanto à instalação, para usar com a implementação DNN/OpenCV basta você instalar o Jupyter Notebook (caso já não tenha instalado, veja aqui) e instalar também a biblioteca OpenCV. Depois de fazer a instalação e configuração, você já pode simplesmente rodar o programa, basta passar o caminho correto para os arquivos de configuração e peso do modelo (exatamente igual é feito no Colab).
Já se quiser usar a implementação Darknet no Windows: https://www.youtube.com/watch?v=eb6-CzDUNXY
E se por um acaso você for usar GPU veja esse: https://www.youtube.com/watch?v=saDipJR14Lc (para implementação com OpenCV sugiro ver diretamente a aula “OpenCV e GPU”)
Disponha! Qualquer dúvida estamos à disposição =)
Olá! Acabei de verificar o que ocorreu.
Na verdade o seu progresso nesse curso estava como 9% mesmo, o que estava marcado como “concluído” era apenas os tópicos do curso (no caso, o início dos tópicos) e não as aulas, portanto isso deve ter confundido pois ele aparece o “check” ao lado do nome do tópico lá na exibição da página do curso, mas se você clicar em Expandir verá que as aulas não estão marcadas como concluídas. Portanto, precisa clicar no botão “Marcar como completo” ao finalizar as aulas também. Ao clicar nesse botão ele automaticamente avança pra aula seguinte então recomendo optar por clicar nesse botão ao invés do “próxima lição/tópico”.
Ou seja, precisa marcar cada aula como completa para ele atualizar o progresso e a porcentagem, é assim pois dessa forma você tem mais controle do que já viu ou realmente concluiu.
Para esse seu caso como você comentou que já terminou o curso então eu aproveitei e dei um comando aqui para marcar todas as aulas como concluídas, portanto se você for visualizar lá vai ver que está indicando como curso completo já. Mas para as próximas vezes basta marcar a aula visualizada como “concluída” e assim ele salva seu progresso certo.
Olá Lucas! Que bom que está gostando da plataforma e dos cursos hehe ficamos felizes
Quanto à sua dúvida, se quiser utilizar sua webcam para processar em tempo real você deve instalar essas ferramentas em seu computador para realizar os processamentos, basta instalar o Python e o OpenCV (caso já não tenha baixado em seu PC), de preferência recomendo instalar o Jupyter Notebook para ler o arquivo em .ipynb mesmo, mas se preferir pode instalar o Pycharm e deixar o código em .py. Caso tenha duvida de como instalar veja aqui.
Quanto ao código que faz a detecção, você precisa mudar apenas o parâmetro do VideoCapture para que ao invés do caminho do arquivo coloque a ID do seu dispositivo (para webcams geralmente esse valor será 0)
onde atualmente está assim
arquivo_video = "video_pessoas01.mp4" cap = cv2.VideoCapture(arquivo_video) conectado, video = cap.read()
terá que ser assim
cap = cv2.VideoCapture(0) conectado, video = cap.read()
Ou, caso o acima nao dê certo, troque 0 por -1
cap = cv2.VideoCapture(-1)
Isso vai fazer com que a função VideoCapture não leia os frames de um arquivo de vídeo mas sim de sua webcam.
Esse mesmo princípio usamos no curso Reconhecimento Facial com Python e OpenCV, portanto se estiver com dúvidas nessa parte de processar em tempo real pela webcam recomendo bastante ver o curso a partir da aula “Detecção das faces pela webcam” pois lá tem um exemplo pronto real com esse código que passei acima. Mas fazendo apenas essa modificação que descrevi logo acima você já deve conseguir fazer.
Olá! Tudo bem?
Vamos verificar aqui o que aconteceu no seu caso, pois ele deveria aparecer o mesmo progresso independente de ser pelo desktop ou celular.
Ao finalizar a aula você clicou no botão para marcar como concluído? Aproveite e verifique se fez isso para as aulas anteriores também.
Se puder também me informe aqui exatamente o progresso que aparece em seu celular e o progresso que aparece no desktop para você (se ficar mais fácil pode mandar imagem, ou pode apenas escrever o numero de aulas que mostra como concluído em cada dispositivo).
Olá Jorge! Tudo bem?
Esse erro ocorre porque a versão do arquivo whl é diferente da sua plataforma, portanto precisa escolher algum outro compatível. Nesse caso eu recomendo tentar instalar direto pelo Pycharm que é mais fácil.
Para isso, vá em: File > Settings > [Selecione o projeto] (Project) e abra Project Interpreter. No lado superior direito clique em “+”. Pesquise na lupa por “opencv-contrib-python” e clique em “Install”.
Só verifique se a versão correta do Python está selecionada no Project Interpreter do PyCharm (File > Settings > [Selecione o projeto] (Project) => Project Interpreter).
Olá Ruyter!
Recomendo nesse seu caso instalar diretamente pelo Pycharm, dessa maneira resolveu para os outros alunos que tiveram esse problema com a instalação ou para usar o OpenCV no Pycharm. Para fazer isso faça assim:
No Pycharm vá em: File > Settings > [Selecione o projeto] (Project) e abra Project Interpreter. No lado superior direito clique em “+”. Pesquise na lupa por “opencv-contrib-python” e clique em “Install”.
Só verifique se a versão correta do Python está selecionada no Project Interpreter do PyCharm (File > Settings > [Selecione o projeto] (Project) => Project Interpreter).
Casô dê algum erro na instalação (ou após) vai ser necessário desinstalar o OpenCV que você instalou antes usando o pip (através do comando pip uninstall opencv-contrib-python).
16 de January de 2021 at 11:26 in reply to: converter_annotations.py não está inserindo o ID da classe. #23681Olá! Tudo bem?
Primeiramente desculpe a demora para responder sua questão.
Acredito que isso possa estar acontecendo pois houve algum problema para ler as classes contidas no arquivo classes.txt, ou talvez até um erro para ler e processar o arquivo. Lembrando que o padrão que ele deve estar é o nome da classe em cada linha separada.
Creio que possa ser isso já que o código está correto e funcionou em nossos testes e para as outras pessoas (só pra conferir, você usou esse código aqui né?)
Portanto ele deveria fazer essa substituição, tanto que o trecho do código responsável por isso é esse aqui:
for line in f:
for class_type in classes:
line = line.replace(class_type, str(classes.get(class_type)))Também verifique se o arquivo classes.txt está no mesmo diretório onde você executou o converter_annotations.py, ou se não estiver precisa colocar o caminho correto dele em with open(“classes.txt“, “r”) as myFile:
Se ele não substituiu provavelmente houve algum problema nesse while acima, onde ele deveria ler as linhas desse classes.txt e criar um dicionário que conterá o ID associado ao nome da classe.
Portanto faça essa verificação que comentei e veja se da certo, se mesmo assim o erro continuar peço que me avise para nós vermos o que mais da para tentar.
- This reply was modified 3 years, 10 months ago by
- AuthorPosts