Support for YOLO-style / modern object detection models (2D and 3D)
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- python, pytorch
調査の方向性
まず monai/apps/detection/retinanet_detector.py と retinanet_network.py を読み、次に、検出を支援する transforms、anchor utilities、metrics、および既存の RetinaNet tutorial を調べます。現在の DetectorNetwork API と box の規約を、要求されている YOLO-style の 2D および 3D のスコープと比較します。完了条件には、合意された detector のスコープ、API integration、box-format handling、tests、および tutorial を含める必要があります。
索引モデルが issue の本文から書いたものです。
説明
Is your feature request related to a problem? Please describe.
MONAI currently ships a single object-detection architecture — RetinaNet —
under monai/apps/detection/ (retinanet_detector.py, retinanet_network.py),
with supporting anchor utilities, COCO-style mAP metrics, and box transforms. This
is a solid anchor-based, two-stage-style foundation and works in both 2D and 3D.
However, the detector zoo stops there. Users who want fast single-stage or
anchor-free detectors most notably the YOLO family — have no native path.
The existing guidance (see #903) is essentially "use MONAI transforms inside your
own YOLO pipeline," which leaves the detector itself, training loop, box-format
handling, and metrics outside MONAI's guarantees. #292 raised YOLO/COCO/Pascal-VOC
box-format support in transforms years ago but there is no dedicated tracking
issue for native modern detectors, and #8519 lists surgical instrument
localization/detection as a target without naming an architecture.
Describe the solution you'd like
Expand monai/apps/detection beyond RetinaNet to include modern detectors, with
YOLO as the flagship because of its strong fit for 2D medical / endoscopy /
surgical-tool and microscopy use cases (real-time inference, anchor-free variants,
mature ecosystem). Concretely:
- A YOLO-style detector network (e.g. an anchor-free YOLO head) integrated into
the existingDetectorNetwork/ detector API so it reuses MONAI's box
transforms, anchor/anchor-free utilities, ATSS-style matching, and mAP metrics. - Native handling of the YOLO box format (normalized cx, cy, w, h) in the
detection transforms, alongside the existing corner/CCWH conventions (follow-up
to #292). - A tutorial mirroring the existing RetinaNet LUNA16 / detection tutorial so the
new detector is a drop-in alternative. - (Optional / stretch) Room in the API for other modern detectors such as
DETR-family or FCOS, so this is an extensible "detector zoo" rather than a
one-off.
Note: interest in YOLO-inspired 3D detection
MONAI's biggest differentiator over general-purpose CV libraries is first-class
3D support — RetinaNet here already runs on volumetric data. If there is
community/maintainer interest, a YOLO-inspired 3D detector (a single-stage /
anchor-free volumetric detection head operating on 3D feature maps, predicting
6-DoF axis-aligned 3D boxes) would be a genuinely novel and high-value addition:
few libraries offer a fast single-stage 3D detector, and use cases like nodule /
lesion / landmark detection in CT and MR volumes would benefit directly. I'd be
happy to help scope and prototype this if the maintainers see value — please
comment if there's appetite for the 3D direction specifically.
Describe alternatives you've considered
- Continuing to use RetinaNet only (works, but no fast single-stage/anchor-free
option, and no YOLO ecosystem interop). - Running an external YOLO (ultralytics etc.) alongside MONAI purely for transforms
(the current #903 answer) — loses MONAI's metric/box/3D guarantees and
reproducibility.
Additional context
- Existing detection module:
monai/apps/detection/(RetinaNet). - Related prior discussions: #292 (box-format transforms), #903 (YOLO usage
question), #8519 (MICCAI submissions incl. surgical detection/localization). - Willing to contribute an implementation and tutorial, and specifically to
prototype the 3D variant if there's interest.
- 主要言語
- Python
- スター
- 8.7k
- フォーク
- 1.6k
- 平均マージ
- 4日 8時間
- マージ済み PR(30日)
- 21
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
Project-MONAI/MONAI のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
Project-MONAI/MONAI#9068 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
Project-MONAI/MONAI#9046 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
Project-MONAI/MONAI#9026 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
Project-MONAI/MONAI#9132 ·
-
CI/CD
Project-MONAI/MONAI#9119 · コメント 1 件 · 担当者 1 名 ·
Project-MONAI/MONAI の issue をすべて見る
似ている issue
-
bug confirmed issue
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
open-webui/open-webui#30750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
OpenwaterHealth/openmotion-bloodflow-app#604 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 90/100