OMDet-Turbo

OMDet-Turbo는 Om AI Lab이 개발한 실시간 오픈 보캐뷸러리 객체 탐지기로, 클래스 임베딩을 언어 작업 프롬프트와 분리합니다. LibreYOLO는 이를 오픈 보캐뷸러리 탐지기 계층의 예측 전용 계열로 래핑합니다.

작업
detection
크기
t at 640 px
설치
pip install libreyolo
지원 티어
별도 티어, v부터 지원. 자체 팩토리와 계약을 갖춘 별도의 제품 영역입니다.
업스트림
Om AI Lab의 OMDet-Turbo, Apache-2.0. 논문, 소스
라이선스
코드 MIT, 가중치 Apache-2.0. 상업적 사용

설치

OMDet-Turbo는 openvocab extra가 필요한 LibreYOLO의 오픈 보캐뷸러리 탐지기 계층으로 불러옵니다.

bash
pip install "libreyolo[openvocab]"

이 extra는 해당 계층이 호출하는 Hugging Face 라이브러리인 transformerstimm을 가져옵니다. OMDet-Turbo의 Swin 백본은 transformersTimmBackbone 래퍼를 통해 불러옵니다.

예측

OMDet-Turbo는 LibreYOLO가 LibreYOLO()로 불러오는 체크포인트가 아닙니다. 형제 팩토리인 LibreOpenVocab으로 불러오며, 처음 사용할 때 Hugging Face 스냅샷을 내려받아 weights/ 아래에 캐시합니다.

Python
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("omdet-turbo")model.set_classes(["person", "dog", "skateboard"]) result = model.predict(SAMPLE_IMAGE, conf=0.3)for box in result.boxes:    print(box.cls, box.conf, box.xyxy)
사용자 지정 NMS 임계값
from libreyolo import LibreOpenVocab, SAMPLE_IMAGE model = LibreOpenVocab("omdet-turbo")model.set_classes(["traffic light", "bicycle"]) # OMDet-Turbo는 이 계층에서 iou=를 적용하는 유일한 계열입니다. 자체# 후처리가 억제 임계값을 인수로 받으며 iou=를 설정하지 않으면# 기본값은 0.5입니다.result = model.predict(SAMPLE_IMAGE, conf=0.3, iou=0.7)print(result.names, len(result))

set_classes()는 유지되는 텍스트 보캐뷸러리를 설정합니다. 목록 전체를 바꾸려면 다시 호출하고 기본 COCO-80 레이블을 유지하려면 생략합니다. 빈 결과도 오류가 아니라 유효한 결과입니다. Grounding DINO와 달리 OMDet-Turbo는 클래스 임베딩을 언어 작업 프롬프트와 분리하므로 transformers 후처리가 반환하는 레이블은 구문 모호성 해소 단계 없이 쿼리한 클래스 목록으로 바로 매핑됩니다.

OMDet-Turbo에는 텍스트 토큰 임계값이 없습니다. conf만 탐지를 필터링하며 text_threshold를 전달하면 오류가 발생합니다. 이 계층에서 자체 NMS를 post_process_grounded_object_detection 내부에서 실행하는 유일한 계열이므로 iou는 경고 대신 적용됩니다. imgszaugment=True는 즉시 거부됩니다. transformers 프로세서가 크기 조정을 담당하며 테스트 시점 증강은 이 계층의 범위를 벗어납니다. 단일 이미지의 predict()는 목록이 아닌 하나의 Results를 반환합니다. 여러 결과를 얻으려면 디렉터리나 이미지 목록을 전달하거나 비디오 소스에 stream=True를 사용합니다. 이 계열에는 CLI 경로가 없습니다. libreyolo predictLibreYOLO()를 통해 .pt 체크포인트만 불러오므로 LibreOpenVocab 계열은 Python에서 실행합니다. 소스 유형과 스트리밍은 예측을 참조합니다.

변형

체크포인트는 이 계층의 유일한 크기인 t 하나입니다. 고정된 업스트림 리비전의 omlab/omdet-turbo-swin-tiny-hftransformersOmDetTurboForObjectDetection을 통해 미러링하며, 미러링된 가중치 파일은 해당 업스트림 스냅샷과 바이트 단위로 동일합니다. 이 계열의 정확도 또는 지연 시간 수치는 아직 게시되지 않았습니다.

학습, 데이터셋 검증, 내보내기는 모두 이 계층의 범위를 벗어납니다. train(), val(), export()는 모두 조건 없이 NotImplementedError를 일으킵니다. 공개된 체크포인트를 감싼 예측 전용 래퍼입니다.

체크포인트

이 계열에서 공개된 모든 가중치 파일입니다.

파일입력(px)가중치 라이선스
Detection
LibreOMDetTurbot.pt640apache-2.0

위의 모든 파일은 현재 LibreYOLO 조직에 있으며 처음 사용할 때 내려받습니다.

라이선스

내려받는 특정 가중치의 Hugging Face 저장소에서 라이선스를 확인하십시오. LibreYOLO 조직의 모든 체크포인트에는 라이선스가 있으며 한 계열 안에서도 항상 같지는 않습니다. 해당 저장소가 신뢰할 수 있는 기준입니다. 아래 요약은 이 페이지를 마지막으로 검증했을 때 적용된 내용을 설명합니다.

관련 라이선스에 관한 설명이며 법률 자문이 아닙니다. 상업적으로 중요한 사안이라면 라이선스를 직접 읽고 별도의 법률 자문을 받으십시오.

원작
OMDet-Turbo, Om AI Lab
업스트림 라이선스
Apache-2.0
업스트림 소스
github.com/om-ai-lab/OmDet
LibreYOLO 코드
MIT
가중치
Apache-2.0, huggingface.co/LibreYOLO에 다시 게시됨
해석
Apache-2.0 is a permissive license, so this checkpoint can be used in commercial and closed-source products. It asks you to keep the license text and attribution notices with any copy of the weights you redistribute, and it grants a patent license. LibreYOLO vendors no OMDet-Turbo model source of its own: LibreOMDetTurbo calls the Apache-2.0 `transformers` implementation, `OmDetTurboForObjectDetection`, directly. The mirrored checkpoint is a byte-identical copy of `omlab/omdet-turbo-swin-tiny-hf` at a pinned upstream revision, verified against a recorded SHA-256 checksum before it is used.

인용

@article{zhao2024real,
  title={Real-time Transformer-based Open-Vocabulary Detection with Efficient Fusion Head},
  author={Zhao, Tiancheng and Liu, Peng and He, Xuan and Zhang, Lu and Lee, Kyusong},
  journal={arXiv preprint arXiv:2403.06892},
  year={2024}
}

github.com/om-ai-lab/OmDet#citation에 있는 저자의 인용 블록에서 복사했습니다.

LibreYOLO v1.5.0에서 검증되었습니다. 이 페이지의 지원 표, 체크포인트, 벤치마크 수치는 출시된 라이브러리와 공개된 가중치에서 생성되며 수동으로 작성되지 않습니다.