GrabBag/AppAlgo/stereo_bolt_delivery/SELECTED4_PROVENANCE.txt

85 lines
3.3 KiB
Plaintext
Raw Normal View History

2026-07-11 15:47:32 +08:00
RK3588 SELECTED4 TOP + SUPPORT-PLANE RELEASE PROVENANCE
=======================================================
Release identity
----------------
Name: selected4-top-plane-rk3588-v2
Validated stereo frames: 19, 20, 28 and 43
Acceptance target per frame: left YOLO=8, right YOLO=8, pairs=8,
precise bolts=8 and ranging bolts=8.
Algorithm library
-----------------
File: lib/libstereo_bolt.so
SHA256: 39517a349fffc1be3da9ce565bbc5b1bde0b131a365a49eec65ec549e5e6d885
ELF: AArch64
Build ID: 14a8822d90f2e5334d2f3ec4c632972047df992d
The packaged file is byte-identical to the RK3588 build output at
/home/linaro/stereo_bolt/build-selected4-rk3588/src/libstereo_bolt.so.
The board build sources were byte-compared with the Windows workspace:
src/centerline_match1d.cpp
8fea4c07f1ba0b5aafb5cf2ed9a337b60c725a626f29ae75a1a6e5ebe2087600
src/centerline_measure.cpp
36b8c84e6f1a25fcb4ad05a57bb0cf521eb2e999451ce3d2b2ed3ea6754dbfa5
src/c_api.cpp
89fff5766127308d03b9a238f956ef8f732492cbf1dd1229aac87c947fbc5cb0
The binary contains the selected4 top-selection routes:
- left_cap_pair_right_gradient_agree
- left_gradient_right_cap_pair_agree
- top_suspect_cap_near_edge_stereo_wide
These routes prioritize complete cap far/near edge evidence over an isolated
one-eye gradient. The reported 2D top is the bolt centerline intersection with
the selected near-side top-cap edge. This behavior is compiled into the shared
library; it is not selected by a YAML switch.
Selected4 support-plane configuration
-------------------------------------
Canonical file: config/config.rk3588.selected4.top_plane.yaml
Compatibility alias: config/config.rk3588.12mp.yaml
Both files are byte-identical.
SHA256: 6b184643f2f7366784c69070d8d91c48224ef5b10f823db3669f7794e70e2688
Required measurement values:
- plane_use_sgbm: true
- height_from_plane: true
- plane_height_along_axis: true
- plane_anchor_max_foot_gap_std_mm: 20.0
- plane_sgbm_scale: 0.25
- plane_max_samples: 40000
The sb_create_ex validator injects the exact same values through
StereoBoltParamsC. The C API wiring for these values is part of the packaged
libstereo_bolt.so.
RKNN model and calibration
--------------------------
Model: weights/obb_plus_halcon_seg_1024_fp16.rknn
SHA256: 4db0d4b30526a4e71d63fb4c0e6ecb2b735eb756636f79e8b1a1462781cd1e72
Backend/task/input: RKNN / YOLO OBB / 1024x1024 FP16
Confidence threshold: 0.25
Calibration: calib/stereo_calib_20260621_202857_ascii.xml
SHA256: 751e376ef074a4627f95256cac2ba8ea6b96dec2f672689fc5e3cf9b5cb205b4
Package-local acceptance paths
------------------------------
validation/run_selected4.sh runs both paths on all four packaged stereo pairs:
1. validation/c_example_centerline uses sb_create() with the canonical YAML,
then sb_process_bolt_module_files(). It must print success=1 bolts=8.
RK3588 binary SHA256:
83ac931940e9d41317659cce51b62f949d6613ec3f5861a43f81ed2ba3b1d7fa
Packaged source: validation/c_example_centerline.c
Source SHA256:
f905c1476734d0be268a33862d82255f54104bdb6211428ac3f72ff6340d1bf3
2. validation/selected4_delivery_validate uses sb_create_ex() with the packaged
calibration and RKNN bytes, then checks both the precise buffer API and the
ranging API. Each frame must print VERDICT=PASS.
The script also verifies MANIFEST_SHA256.txt and all dynamic dependencies. A
zero exit code plus PACKAGE_REVERIFY_PASS is the release acceptance condition.