ONNX 및 YOLOv7 모델을 사용한 자동 주석(객체 감지)
그래서 ONNX 모드를 사용하여 데이터 세트에 자동 주석을 달 수 있는 Python 모듈을 만들었습니다.
YOLOv7 모델(.pb)을 사용하여 새로운 Auto-Annotator도 추가했습니다.
GitHub 리포지토리 링크:-
https://github.com/naseemap47/autoAnnoter
다른 유형의 모델 Tensorflow(.pb) 또는 PyTorch(.pth) 또는 기타 모델을 ONNX로 변환할 수 있습니다. 그래서 저는 Auto-Annotator 모듈을 구축하기 위해 ONNX 모델을 선택했습니다.
ONNX 모델로 변환
이를 위해 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 연산자 설명서를 참조하세요.
아래 체크아웃 링크:
사용자 지정 .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 __ 모델 감지 신뢰도(0
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에 대한 피드백을 알려주세요.
고맙습니다…
Reference
이 문제에 관하여(ONNX 및 YOLOv7 모델을 사용한 자동 주석(객체 감지)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/naseemap47/auto-annotation-using-onnx-and-yolov7-model-object-detection-29e9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)