Toposync first-party extension: task-oriented vision operators.
Project description
Toposync Vision extension
First-party extension focused on public task-oriented vision operators for the Pipelines runtime.
What it provides
vision.detectvision.trackvision.segment_instancesvision.pose_estimate(skeleton only; not launched yet)
The public surface is task-based, not vendor-based. The official first-party runtime is ONNX Runtime, with CPU as the default execution path.
Dependencies
- The default
toposyncapplication bundle includes the first-party ONNX Runtime CPU stack. - The GPU-oriented first-party bundles are published separately:
toposync-vision-cudatoposync-vision-directml
- The official extension package now also includes the first-party tracker stack:
simple_iou_kalmannorfair
Notes
vision.detectresolvesModelManifestentries and builds an ONNX Runtime backend automatically whenruntime=onnxruntime.- By default, the ONNX Runtime backend prefers
CPUExecutionProvider. Optional acceleration is opt-in via thetoposync-vision-cuda/toposync-vision-directmlbundles orTOPOSYNC_VISION_ONNXRUNTIME_PROVIDERS. - Manifest files can be loaded from
TOPOSYNC_VISION_MANIFESTS_DIRorTOPOSYNC_VISION_MANIFEST_PATHS. - Custom manifests imported from the UI are persisted under
.toposync-data/vision-manifests/for the selected processing server. - Built-in first-party manifests ship inside the wheel, but their ONNX weights do not. When no checkout-local artifact exists, official model ids resolve to
TOPOSYNC_DATA_DIR/vision-models/...(or.toposync-data/vision-models/...by default). - The extension now ships a built-in RTMDet detection shortlist in
extensions/vision/manifests/:rtmdet_det_tinyrtmdet_det_smallrtmdet_det_medium
- The extension now also ships a built-in RF-DETR detection shortlist in
extensions/vision/manifests/:rfdetr_det_nanorfdetr_det_smallrfdetr_det_medium
- In a source checkout, existing local artifacts under
extensions/vision/models/...are still honored. - In installed environments, official artifacts belong under the managed model store in
TOPOSYNC_DATA_DIR/vision-models/...and are intentionally not bundled in the published package. - The validated manual provisioning flow is documented in
docs/VISION_MODEL_PROVISIONING.md. - The initial assisted-provisioning foundation for RTMDet detection is already exposed in catalog metadata:
- upstream checkpoint/config/metafile/paper links
- planned local builder backend
- planned supported platforms
- explicit-consent requirement
- The UI can also trigger installation for models that have an admin-configured source. Supported source env vars are:
TOPOSYNC_VISION_MODEL_SOURCE_<MODEL_ID>TOPOSYNC_VISION_MODEL_URL_<MODEL_ID>TOPOSYNC_VISION_MODEL_PATH_<MODEL_ID>TOPOSYNC_VISION_OFFICIAL_MODEL_SOURCE_DIRTOPOSYNC_VISION_OFFICIAL_MODEL_BASE_URL
- RTMDet detection now also has an experimental assisted local build path:
- Linux only in this phase
- requires a local container runtime (
dockerorpodman) on the processing server - still downloads the upstream checkpoint directly on that machine
- still validates the exported
end2end.onnxagainst the manifest checksum - now records provenance per job, including actor, accepted upstream sources, builder metadata, and final ONNX sha256
- still keeps manual upload as the stable fallback path
- can be started from the model recovery card or the Processing Servers screen
- RF-DETR detection now also has an experimental assisted local build path:
- supports
linux,darwin, andwindowshosts in this phase - uses a host Python builder (
rfdetr[onnx]) instead of MMDeploy - downloads the upstream checkpoint directly on that machine before exporting the ONNX locally
- keeps manual ONNX upload available as the stable fallback path
- is prioritized in the operator UI when nothing is installed and the local builder is actually available on that machine
- supports
- Remote download sources are only enabled when the manifest explicitly allows redistribution. The current built-in RTMDet/RTMDet-Ins manifests do not, so the safe first-party flow is local admin-managed copy.
- Product policy: RTMDet and RTMDet-Ins stay on
guided_uploadfor now. RF-DETR is available only through assisted local build in this phase; it is not mirrored, bundled, or redistributed by TopoSync. - Product policy: Ultralytics/YOLO is not part of the official first-party vision runtime path.
- The extension now also ships a built-in RTMDet-Ins segmentation shortlist:
rtmdet_ins_tinyrtmdet_ins_smallrtmdet_ins_medium
- RTMDet manifests use the dedicated
mmdet_rtmdetparser, letterbox preprocessing, and COCO-80 labels. - RF-DETR manifests use the dedicated
rfdetr_detrparser and the official DETR-styledets+labelsONNX outputs. - RTMDet-Ins manifests use the dedicated
mmdet_rtmdet_insparser and produce real binary mask artifacts. - The processing server status now exposes:
- heuristic hardware recommendations
- runtime upgrade suggestions for CUDA / DirectML bundles
- a per-task model catalog with availability (
available,manifest_only,incompatible) - installation capability and progress for models that can be fetched/copied automatically
- badges such as
recommended,fastest,best_quality,edge
vision.detectcan either filter the stream to packets that contain detections (emit_mode="events") or keep every frame annotated (emit_mode="annotate").vision.trackis now first-party and detector-agnostic: it consumespayload["vision"]["detections"].- Every
TrackedObjectnow carriescamera_id, and can optionally carryworld_anchorplusappearance_embedding_artifact_namefor future multi-camera association work. vision.segment_instanceswritespayload["vision"]["segmentations"], attaches mask artifacts when enabled, and exposes the top mask as the semantic image keymask.vision.pose_estimatealready reserves the public operator id, config schema, packet contract, andtask=poseregistry path so future pose models can land without breaking the architecture.- Tracking contracts already carry optional keypoints, so future pose-aware trackers do not require a structural rewrite.
ModelManifestnow also accepts optionalcapabilitiessuch asreid, so future re-identification models can be cataloged without changing the registry shape.- The pipeline editor now chooses models by task, not framework/vendor id. Basic setup is guided for common users, while advanced details expose runtime/model internals and custom manifest import when needed.
- The first-party tracking backends are:
simple_iou_kalmannorfair
vision.tracksupports:emit_mode="events"for split-stream lifecycle packets per objectemit_mode="annotate"for frame passthrough withpayload["vision"]["tracks"]
vision.detectkeeps per-object lifecycle semantics out of scope; usevision.trackwhen you need temporal identity instead of simple frame filtering.- Crop by bbox remains in
com.toposync.camerasascamera.object_crop; it is not instance segmentation.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file toposync_ext_vision-0.1.7.tar.gz.
File metadata
- Download URL: toposync_ext_vision-0.1.7.tar.gz
- Upload date:
- Size: 81.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9edd88bdaf993b3e7840ece460decbb3dda4a61637b1764c5dbbd23fceb2c67c
|
|
| MD5 |
1327c9c36186c9453c5acda57fae8c59
|
|
| BLAKE2b-256 |
3a66f7737a69f3af5c1fde50690614b2c2e9c711c1615437f3ce533ac13cb930
|
File details
Details for the file toposync_ext_vision-0.1.7-py3-none-any.whl.
File metadata
- Download URL: toposync_ext_vision-0.1.7-py3-none-any.whl
- Upload date:
- Size: 116.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88060e146e4b53cd713c8659f149d753693a058cdc4a1b4792f93a1f3a1fe966
|
|
| MD5 |
3851c416a1cd5deaece273017eab6d23
|
|
| BLAKE2b-256 |
c53a112962212a88091fbbf967962131234b702326e28ad44da928ec8a665246
|