Respostas no Fórum
- AutorPosts
Olá Cassio!
O uso da GPU na implementação do OpenCV só é explicada na aula “OpenCV e GPU”, antes dessa aula o curso aborda apenas como fazer mas usando CPU. Isso porque para fazer o uso da GPU com o OpenCV é necessário realizar algumas outras configurações a mais antes, e como elas dependem de qual o modelo que está sendo usado nós preferimos separar entre “com CPU” e “com GPU” para ficar melhor.
Qualquer dúvida veja também no Colab: https://colab.research.google.com/drive/1DFtI2m83c47vMmle0vCnLy7zWc5Uq2ee?usp=sharing
Olá! Conseguiu prosseguir com o treinamento dessa forma?
Realmente é estranho ocorrer esse travamento em uma fase tão inicial do treinamento, nos meus testes ocorria depois de umas 1000 iterações pelo menos, justamente por conta daquele motivo que falei.
A propósito, esses travamentos tem ocorrido sempre quando atinge esse número de iterações ou isso ta variando?
Realmente o Chrome abusa no uso da RAM hehe, a minha sugestão seria fazer o teste com outro navegador só para ver se o problema pode ser isso mesmo. Ah e também experimente fechar todas as outras abas e programas que tem aberto (tipo o Pycharm que vi que estava aberto ali no print, dependendo do que está aberto ele utiliza muito da sua memória).
Quanto à pergunta do Colab que você fez, utilizo ele normalmente assim pelo navegador. Uma opção é usar o Jupyter Notebook em sua máquina local porém só se você possuir uma GPU da Nvidia à disposição, se não o tempo de treinamento vai ser MUITO maior.
Qualquer dúvida é só avisar 🙂
Olá Lúcio!
Qual iteração que você parou? E quanto tempo demora até começar a travar?
Sobre esse problema da página inteira preta, infelizmente nunca vi e pelo que pesquisei não teria uma causa específica, se for erro no Colab ele sempre vai exibir alguma mensagem (ou ficar como “carregando…”) mas não é para ficar uma tela preta. Imagino que possa ser porque o Colab está usando muito da memória RAM e isso fez “travar” essa página do navegador (está usando o Chrome?)
Aliás, quando isso ocorre aparece mais alguma mensagem antes? Geralmente um aviso no meio da página
Comigo aconteceu parecido algumas vezes (tirando a parte da tela preta) quando minha memória RAM estava sendo muito utilizada, então experimentei fechar as outras coisas e as outras abas do navegador (tenho o costume de deixar várias abertas) e fazendo isso resolveu a princípio. Mas depois voltou (lá pela iteração 2500) pois tive que voltar a abrir outros programas, mas aí decidi interromper o treinamento e terminar uma outra hora.
No próximo teste só antes verifique o uso de sua memória ou CPU durante o treinamento, já que quanto mais tempo ficar rodando mais é para usar de memória. Por esse motivo eu recomendo também ficar limpando os outputs da célula de vez em quando, pois lembre que a cada segundo são adicionadas várias linhas de texto na página (referentes ao treinamento), então é esperado que depois de um tempo ela fique bem mais pesada por causa desse monte de conteúdo.
- Esta resposta foi modificada 4 anos, 7 meses atrás por
Gabriel Alves.
Olá Roberto!
Pode ser usada sim, normalmente. Está dando algum problema para você?
- Esta resposta foi modificada 4 anos, 10 meses atrás por
Gabriel Alves.
Olá Roberto!
Esse erro acontece quando o OpenCV não consegue ler o arquivo haarcascade (o .xml), geralmente porque o nome e o caminho do arquivo está errado ou porque o arquivo está inválido. Verifique se o arquivo está dentro do diretório adequado, conforme mostrado em aula, e também verifique se o nome do arquivo xml é exatamente o mesmo que você informou no código. Caso mesmo assim não funcione me avise, mas provavelmente é esse o motivo.
Olá Michael!
Acho que você pode conseguir isso que deseja através do fine-tuning. Se quiser se aprofundar mais no tema e ir além do que abordamos no curso então recomendo a leitura desse artigo: https://www.pyimagesearch.com/2019/06/03/fine-tuning-with-keras-and-deep-learning/
Ali explica exatamente como implementar usando o Tensorflow 2 / Keras.
Também recomendo dar uma olhada nesse paper que foi publicado há pouco tempo, onde o autor demonstrou como conseguiu um resultado superior ao primeiro lugar na competição usando a arquitetura VGG (fine-tuned VGG-face).
Se o seu objetivo é melhorar o modelo para utilizá-lo em uma aplicação então eu também sugiro adicionar mais imagens de treinamento, de preferência usando as outras bases comentadas em aula, além do fer2013.
- Esta resposta foi modificada 4 anos, 11 meses atrás por
Gabriel Alves.
2 de julho de 2020 às 17:52 em resposta a: Imports javacv 1.5 – FaceRecognizer, EigenFaceRecognizer, etc… #17172Que estranho, eu testei aqui no meu e não aparece esse erro com os imports. Consegue me mandar quais imports estão aparecendo o erro?
Confira aí se os imports estão assim:
Captura.java
import java.awt.event.KeyEvent; import java.util.Scanner; import org.bytedeco.opencv.opencv_core.Mat; import org.bytedeco.opencv.opencv_core.Rect; import org.bytedeco.opencv.opencv_core.RectVector; import org.bytedeco.opencv.opencv_core.Scalar; import org.bytedeco.opencv.opencv_core.Size; import static org.bytedeco.opencv.global.opencv_imgcodecs.imwrite; import static org.bytedeco.opencv.global.opencv_imgproc.COLOR_BGRA2GRAY; import static org.bytedeco.opencv.global.opencv_imgproc.cvtColor; import static org.bytedeco.opencv.global.opencv_imgproc.rectangle; import static org.bytedeco.opencv.global.opencv_imgproc.resize; import org.bytedeco.opencv.opencv_objdetect.CascadeClassifier; import org.bytedeco.javacv.CanvasFrame; import org.bytedeco.javacv.Frame; import org.bytedeco.javacv.FrameGrabber; import org.bytedeco.javacv.OpenCVFrameConverter; import org.bytedeco.javacv.OpenCVFrameGrabber;
Treinamento.java
import java.io.File; import java.io.FilenameFilter; import java.nio.IntBuffer; import static org.bytedeco.opencv.global.opencv_core.*; import org.bytedeco.opencv.opencv_core.*; import org.bytedeco.opencv.opencv_face.*; import static org.bytedeco.opencv.global.opencv_imgcodecs.*; import static org.bytedeco.opencv.global.opencv_imgproc.resize;
Reconhecimento.java
import org.bytedeco.javacpp.DoublePointer; import org.bytedeco.javacpp.IntPointer; import static org.bytedeco.opencv.global.opencv_imgproc.FONT_HERSHEY_PLAIN; import org.bytedeco.opencv.opencv_core.*; import org.bytedeco.opencv.opencv_face.*; import static org.bytedeco.opencv.global.opencv_imgproc.COLOR_BGRA2GRAY; import static org.bytedeco.opencv.global.opencv_imgproc.cvtColor; import static org.bytedeco.opencv.global.opencv_imgproc.putText; import static org.bytedeco.opencv.global.opencv_imgproc.rectangle; import static org.bytedeco.opencv.global.opencv_imgproc.resize; import org.bytedeco.opencv.opencv_objdetect.CascadeClassifier; import org.bytedeco.javacv.CanvasFrame; import org.bytedeco.javacv.Frame; import org.bytedeco.javacv.FrameGrabber; import org.bytedeco.javacv.OpenCVFrameConverter; import org.bytedeco.javacv.OpenCVFrameGrabber;
2 de julho de 2020 às 11:59 em resposta a: Imports javacv 1.5 – FaceRecognizer, EigenFaceRecognizer, etc… #17165Olá!
Dentro do arquivo de Download disponibilizado na aula “Recursos para download” tem um zip chamado “Mudanças-JavaCV-1.5.zip”. Nele vai ter o código atualizado para essa versão do JavaCV, contendo exatamente o código dos imports, assim você não vai precisar ficar conferindo 1 por 1 pra atualizar manualmente.
Foi esse que você tentou e não deu certo?
Qualquer dúvida é só avisar.
Olá Israel,
Primeiro verifique se foram seguidos todos os passos de instalação e se não retornou nenhum erro durante o processo.
E verifique também se a versão correta do Python está selecionada no Project Interpreter do PyCharm (File > Settings > [Selecione o projeto] (Project) => Project Interpreter).
Caso tenha dado tudo certo na instalação então 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”.
Isso irá instalar o OpenCV diretamente pelo Pycharm, o que não deve mais causar esse problema.
Olá Israel!
Quanto à parte de reconhecimento dos objetos, você terá todo o conhecimento necessário para implementar isso se fizer os cursos “Detecção de Objetos com Python e OpenCV” ou “Reconhecimento de Faces e de Objetos com Python e Dlib”. Eu recomendaria você fazer os dois, para ter um conhecimento maior e assim ver qual das duas abordagens será mais adequada para a sua aplicação. Pelo que vi no vídeo é feito também um reconhecimento de cores, nesse caso você pode tratar o reconhecimento de cor como uma etapa separada (e dessa forma executar a detecção da cor mais predominante após já ter feita a detecção daquele objeto) ou treinar o próprio classificador de objetos para reconhecer o objeto com aquela cor (porém nesse caso precisaria ser uma abordagem que faça a distinção da cor do objeto e não apenas a forma do objeto, o que não é o caso do haar cascade por exemplo pois este trabalha em grayscale). Eu recomendo (em situações normais) o primeiro caso mas teria que ver qual dessas é melhor para a sua aplicação.
Olá Cassio!
Pelo prompt do Anaconda acho que da certo, chegou a testar?
E o path exato pode variar, uma forma facil de descobrir é seguindo essa dica aqui https://docs.anaconda.com/anaconda/user-guide/tasks/integration/python-path/- Esta resposta foi modificada 4 anos, 7 meses atrás por
- AutorPosts