Koldim2001/YOLO-Patch-Based-Inference
Python library for YOLO small object detection and instance segmentation
What it solves
此函式庫解決了在高解析度影像中偵測小物件的挑戰——在標準神經網路中,這些小物件常會遺失或被降採樣。它簡化了「基於補丁的推論」(類似 SAHI)的流程,將影像切割成更小且有重疊的裁切區塊,以確保小物件以較高的相對尺度被捕捉。
How it works
函式庫實作了兩步驟的管線,用於目標偵測與實例分割:
- Cropping:
MakeCropsDetectThem類別依使用者自訂的尺寸與重疊比例將影像分割成多個補丁,然後在每個補丁上執行支援的 YOLO 模型。 - Consolidation:
CombineDetections類別合併所有重疊裁切的結果,並使用 IoU 或 IoS 指標進行非極大值抑制(NMS),移除重複偵測。
它支援廣泛的 Ultralytics 模型,包括 YOLOv8、v9、v10、v11、v12、FastSAM 與 RTDETR。
Who it’s for
適用於需要在大型影像中偵測小物件的電腦視覺開發者與研究者,使用基於 YOLO 的模型並希望以簡化的方式處理切片與結果合併。
Highlights
- Broad Model Support:相容幾乎所有最新的 Ultralytics 偵測與分割模型。
- Flexible Tiling:可自訂裁切尺寸與重疊比例,以最佳化偵測精度。
- Advanced NMS:提供「智慧排序器」與類別無關的 NMS 選項,提升重複抑制效果。
- Custom Visualization:內建
visualize_results函式,可對邊界框與分割遮罩進行時尚且可自訂的渲染。 - Performance Options:支援批次推論以加速處理,並提供
memory_optimize開關,在記憶體使用與分割精度之間取得平衡。