Respostas no Fórum
- AutorPosts
Olá Gustavo!
Nós fizemos uma análise geral no sistema e não conseguimos localizar nenhum problema que pudesse estar causando esse comportamento para você, e ainda mais por ser um comportamento que somente ocorre nessas aulas em específico (que não tem nada diferente nas configurações).
Mas eu acho que sei o que pode estar confundindo, pois na hora que fomos nos certificar que estava tudo ok eu pensei nisso também. O botão “Marcar como concluído” fica desabilitado até o momento que você chega ao final da aula, e assim que você chega ao final ele é instantaneamente habilitado. Então, você precisa chegar até o final dela para poder marcar a aula como concluída. Se você por um acaso chegou ao final dela porém saiu da página (ou fechou o navegador por exemplo) e não clicou no botão então quando voltar àquela aula pode ser que precise chegar ao final do vídeo novamente, pois pode ser que o navegador não tenha salvo que você chegou ao final do vídeo logo antes de você fechar a página e portanto o sistema ainda identifica como se faltasse você completar a aula. E se você já assistiu toda a aula e não assistirá novamente basta clicar na barrinha de progresso do vídeo para que pule até o ultimo segundo.
Resumindo: basta chegar até o final da aula e (nessa mesma sessão em que a página estiver aberta) clicar no botão, que ficará habilitado (verde) assim que chegar ao final da aula.
Para te facilitar nós já marcamos aqui para você essas aulas como visto, já que você comenta que passou por elas então podemos deixá-las como concluídas.
Portanto, quando quiser já pode lá baixar seu certiticado 😉
Olá!
Para colorir a “área” de cada porco seria aconselhável você treinar novamente com Mask R-CNN pois ele é próprio para segmentação, e com detecção você apenas consegue as coordenadas da caixa delimitadora. Mas se você já tem o modelo treinado com YOLO então você pode tentar algumas opções.
A primeira alternativa seria usar um detector de contornos como o Canny Edge (mostrado no curso), e após processar a imagem fazer o preenchimento do objeto central. Tem um código aqui completo que mostra como fazer isso. Essa imagem processada pode ser usada como a máscara de uma outra imagem, que será uma imagem do tamanho da imagem original e preenchida inteiramente com a cor desejada (e aí você pode aplicar uma transparência a ela, que já é feito pelas funções nativas do repositório do mask R-CNN mas se você quiser implementar manualmente pode fazer como demonstrado aqui).
Observação: essa operação é feita para cada ROI (região de interesse) detectada, ou seja, para cada pedaço da imagem dentro de cada uma das caixas delimitadoras, pois todo o resto da imagem não é de interesse então pode ser ignorado.
Essa opção exige bastante ajustes e testes pra deixar o contorno bem perfeito, então se quiser algo mais “pronto” e genérico pode usar uma técnica para extração do objeto principal da imagem usando deep learning, como essa aqui https://towardsdatascience.com/background-removal-with-deep-learning-c4f2104b3157 (também são usadas para remoção de fundo). Novamente, deve ser aplicado a cada caixa delimitadora, e será mais custosa computacionalmente pois envolve deep learning só para essa função.
4 de outubro de 2022 às 11:52 em resposta a: Erro FFMPEG: tag 0x44495658/’XVID’ is not supported with codec id 12 and #37208Opa!
Então quanto à versão, você pode usar a mesma que está sendo usado pelo Colab, conforme no código fonte aqui, que está em funcionamento (recomendo também dar uma olhada no código e comparar com o seu).
Segundo o comando cv2.__version__, a versão é a 4.6.0.
Recomendo verificar mais duas coisas:
- Se pro tamanho do vídeo lá em cv2.VideoWriter() foi passado como parâmetro a altura e largura exatas que estão sendo salvas os frames (com o salvar_video.write()). Tem que estar o mesmo tamanho, ou ele vai dar esse problema no salvamento do vídeo e o arquivo ficará com poucos bytes de tamanho.
- Se mudou para .avi a extensão do arquivo salvo (saída). Se sim, me passe a mensagem que aparece (se aparecer) ou qual tamanho ficou o arquivo.
Mas em último caso você pode desinstalar mesmo o OpenCV e instalar novamente essa versão. Pois pode ser até o caso de estar faltando alguma config necessária para os vídeos, para visualizar essas informações execute print(cv2.getBuildInformation()) e veja por exemplo se lá em “Video I/O” o “FFMPEG” está como “YES”.
Olá!
Nesse caso recomenda-se fazer a anotação de todos os porcos pois o algoritmo tenta associar as regiões não marcadas como sendo o “fundo”, ou seja funciona parecido com essa ideia das imagens negativas. Portanto, o ideal é que todos os “objetos” da classe específica estejam marcados, de modo que não confunda o modelo e assim acabe gerando resultados menos confiáveis. Ou seja, é recomendado fazer a anotação de todos mesmo que dê mais trabalho, vai garantir resultados melhores, não apenas porque há mais instâncias anotadas mas também por esse outro motivo, que querendo ou não pode ter um certo impacto (mesmo que não seja tão considerável, dependendo do caso).
27 de setembro de 2022 às 09:48 em resposta a: Erro FFMPEG: tag 0x44495658/’XVID’ is not supported with codec id 12 and #36890Opa!
Experimente fazer a seguinte substituição: de cv2.VideoWriter_fourcc(*’mp4v’) para cv2.VideoWriter_fourcc(‘m’, ‘p’, ‘4’, ‘v’)
Faça essa mudança, tente executar e veja se dá certo (se não, me passe o erro exato que apareceu agora, caso seja diferente). Se não der tente também remover a extensão “.mp4” do nome do arquivo, que foi passado como parâmetro.
A propósito, no nome do arquivo você tava colocando de início para salvar em .mp4 ou .avi? Então tente salvar direto na extensão .avi mesmo, basta mudar o nome do arquivo ali na variável resultado, ficando assim: resultado = ‘../content/gesture1_novo.avi′ e mude novamente para cv2.VideoWriter_fourcc(*’XVID’)
Caso realmente isso não funcione também aí sugiro fazer o downgrade de sua versão do OpenCV pois pode ser até que seja algum bug recente, mas acredito que fazendo essa mudança já funcione aí em seu ambiente.
23 de setembro de 2022 às 18:30 em resposta a: Como contar quantos objetos existem na imagem ? #36860Olá Felipe!
Para imagens é mais fácil, você só precisa contar quantas detecções houveram para determinada classe. Para isso pode usar por exemplo uma condição if para conferir se a classe do objeto x na imagem corresponde à classe que deseja contar. Isso é explicado também na aula “Contagem de objetos em múltiplas imagens”, no módulo “Detecção de objetos com YOLO e OpenCV”.
23 de setembro de 2022 às 18:24 em resposta a: Erro FFMPEG: tag 0x44495658/’XVID’ is not supported with codec id 12 and #36858Olá Gabriel!
Qual versão do OpenCV você está usando? Pode ser algum bug com a versão, pois aqui com o mesmo código ele roda sem esse problema.
Se puder conferir também se todas as variáveis anteriores estão com os valores esperados, pois as vezes tem ali algum detalhe (ex: alguma linha executada fora de ordem) que deixou com esse comportamento.Mas se conferiu e está tudo certo então tenta substituir o XVID por mp4v (tem que ser minúsculo).
- Esta resposta foi modificada 2 anos, 8 meses atrás por
Gabriel Alves.
Olá Felipe!
Pela mensagem de erro, o darknet não conseguiu localizar o arquivo .txt de treinamento. Verifique se o comando (!./darknet detector …) foi executado no diretório correto, conforme mostrado em aula, ou se foi executado a partir de outro diretório. Pois nesse caso ele não vai encontrar o arquivo no caminho especificado em obj.data. Então você pode conferir se está no diretório relativo correto; ou atualizar o caminho no obj.data e colocar o caminho absoluto.
Olá Gustavo! Tudo bem?
Para quais aulas exatamente está acontecendo isso para você? Se puder informar o nome, que iremos verificar aqui e resolver para você.
Olá Vitoriano!
Só para avisar que o problema já foi corrigido, caso não tenha visto.
A aula que faltava você dar check já foi reconhecida no seu progresso (marcada como visualizada), portanto quando você quiser já pode acessar a página Meus Cursos e fazer o download do seu certificado!
Olá Leandro!
Para segmentação, veja aqui o código.
Ele foi lançado muito recentemente, então sugiro dar uma olhada no repositório oficial, até mesmo para acompanhar pois eles podem fazer alguma correção de bugs ou problemas: https://github.com/WongKinYiu/yolov7
Opa, disponha =)
Olá Fogaça!
Sim, você pode continuar o treinamento usando como peso “inicial” aquele que você já treinou antes, então não há a necessidade de treinar tudo do zero. Seria como continuar o treinamento interrompido (conforme mostrado em aula), basta informar como parâmetro os pesos que foram treinados anteriormente. Além disso, antes de executar o comando novamente você precisa certificar também de fazer as modificações necessárias no arquivo .cfg para atualizar lá onde precisa indicar o número de classes treinadas, filtros, etc. E também é necessário atualizar todos os arquivos onde é definido informações sobre as classes que serão treinadas. Recomendo que ao fazer isso você carregue junto também as imagens usadas para o treinamento anterior, junto com as anotações – ou seja, estaria na prática apenas continuando o treinamento e adicionando mais imagens ao seu dataset (embora sejam imagens de classes antes não vistas).
Olá Eduardo!
O Drive com todos os recursos do curso (assim como os arquivos .py que você citou) estão no link compartilhado dentro da aula Recursos para download, na seção de Introdução.
Olá Matheus!
Esse é um problema que depende da imagem e que passou a acontecer após alguma atualização bem recente das bibliotecas. É um erro relacionado ao formato e tipo da imagem que é exibido, para resolvê-lo de forma prática basta mudar o type através da função .astype()
Portanto, acima de
mostrar(seg_regiao)
basta adicionar
seg_regiao = seg_regiao.astype(np.uint8)
Ou pode adicionar direto, assim mostrar(seg_regiao.astype(np.uint8))
- AutorPosts