Home › Fóruns › Fórum Detecção de Objetos com YOLO, Darknet, OpenCV e Python › converter_annotations.py não está inserindo o ID da classe.
Marcado: Criação da base de imagens 2
- Este tópico contém 3 respostas, 2 vozes e foi atualizado pela última vez 10 meses, 1 semana atrás por
Gabriel Alves.
- AutorPosts
- 7 de janeiro de 2021 às 19:42 #23382
Olá, estou testando fazer a detecção de outros objetos, Bull, por exemplo, sigo o curso e executo o converter_annotations.py, eu acessei os arquivos .txt gerados e em todos os casos não constam o ID da classe e sim o nome. Por exemplo:
.txt original, contido na pasta LABEL
Bull 121.35593999999999 726.8065280000001 317.633935 905.723904
.txt gerado com o converter_annotations.py
Bull 0.222696385786802 0.7966860625000001 0.19926700000000003 0.17472399999999988
Ou seja, não muda o ID.
16 de janeiro de 2021 às 11:26 #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.
17 de janeiro de 2021 às 12:02 #23698Olá, obrigada pelo retorno.
Acredito que o problema tenha sido nos nomes das classes, eu havia colocado em pt no arquivo classes.txt.
Alterei para o inglês e deu certo.
Obrigada 🙂
15 de maio de 2024 às 22:32 #44901Ótimo saber que você conseguiu resolver 🙂
- AutorPosts
- Você deve fazer login para responder a este tópico.