converter_annotations.py não está inserindo o ID da classe.

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.

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Autor
    Posts
  • #23382
    Flalouzeiro
    Participante

    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.

    #23681
    Gabriel Alves
    Moderador

    Olá! 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.

    #23698
    Flalouzeiro
    Participante

    Olá, 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 🙂

Visualizando 3 posts - 1 até 3 (de 3 do total)
  • Você deve fazer login para responder a este tópico.