Skip to content

feat(v0.1.0): instance segmentation, GPU mask decode, RAII wrappers, internal header reorg, docs overhaul - #1

Merged
farukalamai merged 3 commits into
developfrom
feat/instance-segmentation
Jun 27, 2026
Merged

feat(v0.1.0): instance segmentation, GPU mask decode, RAII wrappers, internal header reorg, docs overhaul#1
farukalamai merged 3 commits into
developfrom
feat/instance-segmentation

Conversation

@farukalamai

Copy link
Copy Markdown
Member

Description

Adds instance segmentation support, RAII CUDA memory management, internal header reorganization, GPU mask decode kernel, and a full documentation overhaul.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 📝 Documentation update
  • ⚡ Performance improvement
  • 🔨 Refactoring (no functional changes)
  • 🔧 Chore (deps, configs, CI)

Motivation

Extends the library from detection-only to full instance segmentation. RAII wrappers eliminate manual CUDA memory management. Internal headers moved out of the public API surface to enforce PIMPL boundaries. GPU mask decode replaces the CPU resize+threshold path for significantly lower postprocessing latency.

Closes #

Changes Made

  • Add RFDetrSegmenter task class with segment() and segment_batch() APIs
  • Add maskDecodeKernel — GPU bilinear upsample + threshold, parallelized across all detections via blockIdx.z
  • Add DevPtr / HostPtr RAII wrappers replacing raw void* buffers in TrtSession and ImagePreprocessor
  • Move trt_session.hpp, cuda_preprocess.cuh, trt_logger.hpp, cuda_check.hpp to src/internal/ with backward-compat shims
  • Add cuda_graph_active() accessor on both RFDetrDetector and RFDetrSegmenter
  • Add [[nodiscard]] across all public task methods
  • Add schema_version field to EngineMeta
  • Overhaul README: merged benchmark tables, removed duplicate sections, added OpenCV/GPU arch badges
  • Add apps/CLI_TOOLS.md, benchmarks/BENCHMARKING.md, trt-files/INT8_QUANTIZATION.md, examples/EXAMPLES.md
  • Add GitHub Actions auto-assign workflow

Checklist

  • Builds cleanly (cmake --build build)
  • Tested locally (CLI or C++ API)
  • README / API header updated if public interface changed
  • No unrelated changes included

@farukalamai farukalamai self-assigned this Jun 27, 2026
@farukalamai farukalamai added the enhancement New feature or request label Jun 27, 2026
@farukalamai
farukalamai merged commit 63280ce into develop Jun 27, 2026
@farukalamai
farukalamai deleted the feat/instance-segmentation branch June 30, 2026 12:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant