| | |
| | | |
| | | Vite 开发服务固定使用 `http://127.0.0.1:6174/apps/workbench-console/`,会通过本机代理读取 `6173` 的结果工件。 |
| | | |
| | | ## GPU execution |
| | | ## CPU and GPU execution |
| | | |
| | | Object detection and ChangeStar change detection retain their CPU environments |
| | | and add separately verified CUDA environments. The server probes only the fixed |
| | | `01-object-detection-cuda` or `00-change-detection-cuda` interpreter before a |
| | | run; a successful probe selects CUDA, otherwise the corresponding fixed CPU |
| | | interpreter is used. User requests cannot supply an interpreter, device path, |
| | | or command. Each capability writes the requested and actual device to its run |
| | | metadata. This console remains loopback-only and independent of drone products. |
| | | Object detection, ChangeStar change detection, and point-cloud supervised |
| | | training/inference expose `auto`, `cpu`, and `cuda` choices. The local service |
| | | always invokes only fixed allowlisted virtual environments. `auto` probes the |
| | | capability's fixed CUDA interpreter, chooses it only when PyTorch confirms CUDA, |
| | | and otherwise uses its retained CPU environment. `cpu` does not probe the GPU. |
| | | `cuda` fails explicitly when the probe fails; it never silently becomes a CPU |
| | | run. New `run_metadata.json` files record requested/actual device, environment, |
| | | PyTorch version, fallback state, and fallback reason. Photo 3D reconstruction, |
| | | point-cloud geometry, semantic rule classification, file conversion, exports, |
| | | and the console itself remain CPU workflows. The current photo-MVS CUDA tools |
| | | are not validated and are not exposed as a console option. |
| | | |
| | | User requests cannot supply an interpreter, device path, or command. This |
| | | console remains loopback-only and independent of drone products. |
| | | |
| | | ## 地图底图 |
| | | |
| | |
| | | rendered as DSM or GeoJSON without valid georeferencing. |
| | | |
| | | The top-level `05-3d-pointcloud` workflow switch keeps incompatible inputs |
| | | separate. `照片三维重建` accepts 3-30 JPG/JPEG files from one coherent camera |
| | | separate. `照片三维重建` accepts 3-1000 JPG/JPEG files from one coherent camera |
| | | sequence through bounded binary uploads, preserves the raw bytes, then runs a |
| | | background CPU SfM/MVS job and polls `queued`, `sparse_sfm`, `dense_mvs`, |
| | | `complete`, or `failed` status. Its GPS/RTK-prior option uses the verified |
| | |
| | | GeoAI footprint vector workflow. Creating a run or discovering a new case |
| | | does not require rebuilding the frontend; `npm run build` is only required |
| | | after changing the Vue/TypeScript console source. |
| | | |
| | | The reconstruction job response also reports actual completed workflow |
| | | milestones from its fixed scripts: feature extraction, matching, sparse mapping, |
| | | RGB preparation, undistortion, dense fusion, meshing, texture export, and final |
| | | artifact packaging. The displayed percentage is a weighted stage milestone, not |
| | | a remaining-time estimate: COLMAP and OpenMVS do not expose reliable live |
| | | sub-stage percentages. |
| | | |
| | | The fixed CPU photo-reconstruction timeout is 24 hours for large sequences. It |
| | | is a hard safety limit, not a predicted completion time. |
| | | |
| | | The same workspace also exposes point-cloud semantic classification: |
| | | PLY/PCD/XYZ/LAS/LAZ files are sent through bounded binary streaming, retained |
| | |
| | | also expose an action that classifies only their fixed local `dense.ply`; the |
| | | server never accepts a browser-supplied path. |
| | | |
| | | Semantic cases with a generated RGB annotation source provide a separate manual |
| | | annotation and supervised-training area. Brush and rectangle selections become |
| | | Semantic cases with a generated RGB annotation source, plus complete |
| | | `multiview-feature-*` directories whose ordered original-RGB PLY/NPZ checksum |
| | | contract passes, provide a separate manual annotation and supervised-training |
| | | area. The fusion source is labelled as a photo-feature review sample and is not |
| | | fed into the existing PointNet-style trainer as if it were Point Transformer V3. |
| | | After sufficient reviewed labels, its `多视角特征训练` action uses a separate |
| | | CPU/CUDA local-attention baseline over the fixed same-order feature NPZ. It |
| | | requires each reviewed class to span XY training, validation, and test blocks. |
| | | This is not the uninstalled official Pointcept/Point Transformer V3 stack and |
| | | is not exposed in the generic arbitrary-cloud model-application workflow. |
| | | Brush and rectangle selections become |
| | | separate annotation revisions rather than altering source clouds or rule results. |
| | | The annotation workspace can also add an independent local PLY/PCD/XYZ/LAS/LAZ |
| | | source through its bounded binary upload route. The server preserves its raw |
| | | bytes, starts a background CPU preview job, and adds the derived RGB/XYZ preview |
| | | to the source list only after successful processing. The taxonomy is local |
| | | annotation metadata: users can add a Chinese label, lowercase English key and |
| | | RGB colour, and the server assigns an unused LAS-compatible code. Saved |
| | | revisions snapshot their class metadata; a custom class referenced by a saved |
| | | revision cannot be deleted. These controls do not manufacture semantic truth or |
| | | replace reviewed labels required for supervised training. |
| | | For a source that is no longer needed, **Remove complete data chain** first |
| | | fetches a server-calculated deletion plan, then requires an irreversible |
| | | confirmation. It removes only fixed local point-cloud raw/processed/output |
| | | directories plus discovered annotation, training, and inference dependents. |
| | | `baseData` and external source inputs are excluded from every removal plan. |
| | | The annotation point viewer uses sRGB-correct anti-aliased circular points. |
| | | Browse mode keeps left-drag rotation; brush/rectangle mode reserves left-drag |
| | | for labels, with right-drag rotation, middle-drag panning and wheel zoom. |
| | |
| | | display rotations about the model centre. It never changes the original point |
| | | cloud or stored annotation indices; picking and rectangle selection follow the |
| | | currently displayed orientation. |
| | | The viewer loads and renders every point contained in the selected annotation |
| | | source directly. It does not switch to a zoom-dependent local detail layer, and |
| | | point indices stay stable for browsing, manual labels, saved revisions, and |
| | | training. Large sources consume correspondingly more browser memory and GPU |
| | | resources. |
| | | New annotation PLY/PCD/XYZ/LAS/LAZ uploads run a dedicated preview-only CPU |
| | | step. It preserves every readable finite XYZ and available vertex RGB point |
| | | and does not run the DSM, raster/vector, mesh, or rule-semantic pipeline. A |
| | | source without vertex RGB remains viewable with a neutral preview but cannot be |
| | | sent to the current RGB semantic-model trainer. |
| | | Textured-mesh ZIP bundles are prepared separately: the PLY's face UVs and its |
| | | referenced JPG/PNG tiles are baked into sampled face-centre RGB/XYZ points. A |
| | | small visual-validation source is exposed in the normal annotation-source list |
| | | before a larger training source is materialized. |
| | | |
| | | Sparse point-cloud, semantic-classification, supervised-prediction, and mesh |
| | | previews use the same viewer controls: local X/Y/Z orientation, click-to-set |
| | | orbit centre, top-down view, and reset. These controls only transform the |
| | | centred display wrapper; source PLY/GLB files and downloadable outputs remain |
| | | unchanged. |
| | | An incorrect revision can be removed after confirmation, but the endpoint only |
| | | removes that revision directory and cannot remove LAS/PLY sources, semantic |
| | | results, or training outputs. A local training job requires two classes with at |
| | |
| | | candidate, especially for the current pole/tower class, not asset inventory or |
| | | an inspection conclusion. |
| | | |
| | | For an already selected annotation source, **Automatic annotation current |
| | | source** uses the selected local model without a second upload. Its asynchronous |
| | | candidate artifact records source/model checksums, class predictions, and |
| | | per-point confidence after a user-selected threshold. The completed run exposes an in-console, class-coloured prediction preview and predicted/high-confidence per-class counts for review. Brush/rectangle review can reject candidates or correct their classes, saving an independent correction draft. It remains separate from |
| | | human truth until **Confirm merge candidates** is pressed; the merge applies candidates, review corrections, then existing human labels as the highest priority, and creates a new annotation revision for |
| | | the next training cycle. |
| | | |
| | | The 3D point-cloud capability is presented as four focused workspaces rather |
| | | than one long mixed result page: |
| | | |
| | |
| | | families, but the pages never render the unrelated result bands together. The |
| | | model workspace deliberately uses its generated annotation sources and trained |
| | | models rather than a general case library. |
| | | |
| | | ## Result removal |
| | | |
| | | Every connected capability case library provides a complete-result removal |
| | | control. It first reads a server-calculated deletion plan, then requires a |
| | | second irreversible confirmation. A removable console run is restricted to the |
| | | fixed `shared/outputs/<capability>/runs/<run-id>/` layout and removes only that |
| | | output, its console-upload raw copy, processed copy, and known dependent |
| | | artifacts. `baseData`, external source inputs, sibling runs, and project |
| | | baseline/validation cases are never removed. Baseline and validation cases show |
| | | their protected status instead of accepting deletion. |
| | | |
| | | The point-cloud training-model selector has a separate removal control. It |
| | | removes the selected locally trained model plus its discovered inference and |
| | | automatic-annotation outputs, while preserving annotation revisions, `baseData`, |
| | | and external input files. |
| | | |
| | | ## Maintenance conventions |
| | | |
| | | Run `npm run build` after changing Vue, TypeScript, CSS, or build-time client |
| | | configuration. A new result, a data-processing run, or a server-only API change |
| | | does not require a frontend rebuild. |
| | | |
| | | The local console is not visually inspected through browser automation. For a |
| | | visual UI, map, image, or 3D acceptance check, the requested interaction is |
| | | specified to the user and the user provides the screenshot; build, HTTP, |
| | | artifact, and automated checks remain independent evidence. |