ONNX 및 YOLOv7 모델을 사용한 자동 주석(객체 감지)

3430 단어
주석은 매우 지루한 작업이므로 사용자 지정 학습 모델(ONNX 모델)을 사용하여 새 데이터에 주석을 달 수 있다고 생각합니다.

그래서 ONNX 모드를 사용하여 데이터 세트에 자동 주석을 달 수 있는 Python 모듈을 만들었습니다.

YOLOv7 모델(.pb)을 사용하여 새로운 Auto-Annotator도 추가했습니다.

GitHub 리포지토리 링크:-
https://github.com/naseemap47/autoAnnoter

다른 유형의 모델 Tensorflow(.pb) 또는 PyTorch(.pth) 또는 기타 모델을 ONNX로 변환할 수 있습니다. 그래서 저는 Auto-Annotator 모듈을 구축하기 위해 ONNX 모델을 선택했습니다.

ONNX 모델로 변환
  • Tensorflow에서(.pb)
    이를 위해 Object Detection API를 사용하고 있기를 바랍니다.

  • https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/index.html

    내보낼 때 다음을 사용하십시오.
    --input_type 이미지_텐서
    아니다
    --input_type float_image_tensor
    예시:-

    python .\exporter_main_v2.py --input_type image_tensor --pipeline_config_path .\models\my_ssd_resnet50_v1_fpn\pipeline.config --trained_checkpoint_dir .\models\my_ssd_resnet50_v1_fpn\ --output_directory .\exported-models\my_model
    


    pb에서 ONNX로
    tensorflow-onnx를 따르십시오:-
    https://github.com/onnx/tensorflow-onnx

    핍 설치 -U tf2onnx
    파이썬 -m tf2onnx.convert --저장 모델 텐서플로 모델 경로 --opset 16 --출력 모델.onnx
    ONNX opset의 기본값은 13입니다. 최신 opset이 필요하거나 이전 opset을 사용하도록 모델을 제한하려는 경우 명령에 --opset 인수를 제공할 수 있습니다. 사용할 opset이 확실하지 않은 경우 ONNX 연산자 설명서를 참조하세요.
  • Pytorch(.pth)에서 [pth에서 ONNX로]
    아래 체크아웃 링크:

  • 사용자 지정 .pth 모델을 .onnx로 변환하는 방법은 무엇입니까? · Issue #193 · danielgatis/rembg
    이봐, 먼저 훌륭한 작업을 공유해 주셔서 감사합니다! 문서에 설명된 대로 다음을 기반으로 사용자 지정 모델을 교육했습니다.
    github.com

    (선택 사항) PyTorch에서 ONNX로 모델 내보내기 및 ONNX 런타임 - PyTorch…
    이 튜토리얼에서는 PyTorch에 정의된 모델을 ONNX 형식으로 변환한 다음 ONNX로 실행하는 방법을 설명합니다.
    pytorch.org

    자동 주석 — ONNX 모델
    복제 Git 리포지토리:-

    자식 클론 https://github.com/naseemap47/autoAnnoter
    cd autoAnnoter
    필수 라이브러리 설치:

    pip3 설치 -r requirements.txt
    변수:

    -x , --xml _____ XML 주석용
    -t, --txt _____ (.txt) 형식으로 주석 달기
    -i, --dataset _ 데이터세트 경로
    -c, --classes _ classes.txt 파일 경로(객체 감지 클래스 이름)
    classes.txt의 예:

    자동차
    사람

    사과
    이동하는

    ....
    -m, --model__ ONNX 모델 경로
    -s, --size__ 객체 감지 모델을 교육하는 데 사용되는 이미지 크기
    -conf, --confidence __ 모델 감지 신뢰도(0XML 주석의 경우:

    python3 autoAnnot.py -x -i -c -m -s -conf
    TXT 형식 주석의 경우:

    python3 autoAnnot.py -t -i -c -m -s -conf
    모든 작업을 수행하고 프로세스가 끝나면 데이터 내부에 자동 주석 데이터가 표시됩니다.
    자동 주석 데이터는 해당 이미지 데이터와 함께 표시됩니다.
    이렇게 하면 주석이 올바른지 아닌지 쉽게 확인할 수 있습니다.

    자동 주석 YOLOv7 모델
    복제 Git 리포지토리:-

    자식 클론 https://github.com/naseemap47/autoAnnoter
    변수:

    -i, --dataset ____ 데이터세트 경로
    -m, --model ____ YOLOv7 모델(.pt)에 대한 경로
    -c, --confidence ___ 모델 감지 신뢰도(0
    python3 autoAnotYolov7.py -i -m -c
    모든 작업을 수행하고 프로세스가 끝나면 데이터 내부에 자동 주석 데이터가 표시됩니다.
    자동 주석 데이터는 해당 이미지 데이터와 함께 표시됩니다.
    이렇게 하면 주석이 올바른지 아닌지 쉽게 확인할 수 있습니다.

    자동 주석이 달린 데이터 정확도는 전적으로 사용자 정의 모델에 따라 다릅니다.
    따라서 주석이 올바른지 아닌지 확인하는 것이 좋습니다.
    Auto-Annotator에 대한 피드백을 알려주세요.
    고맙습니다…

    좋은 웹페이지 즐겨찾기