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.