dd02 setting tune + change Class name from UVUnrollFrameProcessor to FrameUnwarper

This commit is contained in:
ykcheungab
2026-07-14 20:00:40 +08:00
parent c2fb0b12b5
commit 30f9deb5b2
14 changed files with 275 additions and 94 deletions
+7 -16
View File
@@ -54,15 +54,6 @@ import orisys
print(orisys.__version__)
```
5 安装opencl(实验):
在不带nvidia显卡的设备,可选择通过opencl进行gpu 计算加速,需要确保opencl的库或驱动已经安装,然后在conda环境中安装依赖:
``` bash
pip install pyopencl
conda install conda-forge::pyvkfft
```
***
## `Sensor` 类别
@@ -245,32 +236,32 @@ flow = sensor.read_info(sensor.info.VRAW)
***
***
## `orisys.finger` 指纹 UV pipeline
## `orisys.finger` 手指 UV pipeline
`examples/finger_pipeline.py` 展示了一个更适合指纹/单相机场景的高层 API:
`examples/finger_pipeline.py` 展示了一个更适合手指/单相机场景的高层 API:
1. 使用 `FingerRuntime.open()` 打开视频源、加载 Blender 导出的资产,并构建 UV 展开映射。
2. 用 `grab_and_process()` 或 `read_source() + process_frame()` 获取一帧展开后的触觉图像。
3. 通过 `runtime.tactile`(`TactileProcessor`)调用 `compute_deformation()`、`compute_contact()`、`read_info()`。
4. 退出前调用 `runtime.close()` 释放视频源和内部 `Sensor` 资源。
相比直接使用 `Sensor`,`FingerRuntime` 已封装了视频读取、相机尺寸设置、UV 展开和有效区域掩码传递,更适合作为指纹 2D/3D 示例与上层应用的入口。
相比直接使用 `Sensor`,`FingerRuntime` 已封装了视频读取、相机尺寸设置、UV 展开和有效区域掩码传递,更适合作为手指 2D/3D 示例与上层应用的入口。
### 1. `FingerRuntime.open` 方法
#### 描述
创建一个可复用的指纹 UV runtime。该方法会完成以下初始化:
创建一个可复用的手指 UV runtime。该方法会完成以下初始化:
- 解析 `export_dir` 下的 `mesh.npz`、`camera_intrinsics.npz`、`world_to_cam.npy`
- 根据配置和标定信息构建/加载 `unroll_map_uv.npz`
- 打开相机或视频文件
- 创建内部 `Sensor("external", ...)`
- 创建 `UVUnrollFrameProcessor` 与 `TactileProcessor`
- 创建 `FrameUnwarper` 与 `TactileProcessor`
#### 输入参数
* **export_dir** (`str`,可选): 指纹导出资产目录,默认值来自 `orisys.finger.DEFAULT_FINGER_EXPORT_DIR`。目录下通常需要包含 `mesh.npz`、`camera_intrinsics.npz`、`world_to_cam.npy`。
* **export_dir** (`str`,可选): 手指导出资产目录,默认值来自 `orisys.finger.DEFAULT_FINGER_EXPORT_DIR`。目录下通常需要包含 `mesh.npz`、`camera_intrinsics.npz`、`world_to_cam.npy`。
* **config** (`str`,可选): Orisys 配置文件路径,默认 `./config/dd02-ov.json`。
* **map_cache** (`str`,可选): UV 展开缓存文件路径,默认值来自 `orisys.finger.DEFAULT_FINGER_MAP_CACHE`。
* **source_scale** (`float`,可选): 输入相机分辨率缩放比例;未提供时根据配置自动推断。
@@ -402,7 +393,7 @@ runtime = FingerRuntime.open(
除 `push_frame()` / `warmup()` 之外,`TactileProcessor` 的 `compute_deformation()`、`compute_contact()`、`read_info()`、`reset()` 调用方式与 `Sensor` 基本一致,因此可直接复用前文 `Sensor` 章节中的参数说明。
### 10. 最小指纹 pipeline 示例
### 10. 最小手指 pipeline 示例
下面的流程与 `examples/finger_pipeline.py` 一致:
+17 -17
View File
@@ -1,16 +1,16 @@
叠动科技软件使用手册
版本: 0.4.1
更新日期: 2026年4月16日
更新日期: 2026年7月13日
# 简介
本文件介绍如何上手和运行叠动视触觉传感器配套的开发套件。本套件是配合叠动视触觉传感器进行图像处理,计算形变、力以及接触信息。它可以从摄像头或视频文件中读取图像,处理后打印和展示处理后信息。
支持操作系统:Windows、Ubuntu
建议Python 版本: 3.10
建议Python 版本: 3.10, 3.11, 3.12
# 基础环境设置
## 安装 Python 与 Anaconda
1. 访问 [Anaconda 官网](https://www.anaconda.com/download)下载适合您操作系统的安装包(Windows、Linux)。
2. 按照提示完成安装。(Widnows:建议在安装过程中勾选“将 Anaconda 添加到系统环境变量”选项,方便后续使用)。
2. 按照提示完成安装。
3. 安装完成后,打开命令行终端(Windows 用户可在”Anaconda Navigator”打开“Anaconda Prompt”),输入 `conda info` ,若能显示 conda 的信息,则说明安装成功。
## 创建conda虚拟环境
@@ -115,8 +115,8 @@ print(orisys.__version__)
套件里面包含了多个例子,建议都在仓库根目录运行(即 `config/`、`examples/`、`assets/` 同级目录)。常见入口分为两类:
1. `examples/basic_pipeline.py`:复眼/拼接传感器基础 OpenCV 示例
2. `examples/finger_pipeline.py`:指纹传感器 UV 展开最小流程示例
3. `examples/finger_pipeline_3dview.py`:指纹传感器 Qt 3D 可视化界面
2. `examples/finger_pipeline.py`:手指传感器2维显示最小流程示例
3. `examples/finger_pipeline_3dview.py`:手指传感器 Qt 3D 可视化界面
下面先介绍最基础的 `basic_pipeline.py` 运行方式。
@@ -140,9 +140,9 @@ print(orisys.__version__)
```
5. 程序会运行,并自动打开可视化窗口和打印资料,在窗口上按键盘”q”键可以停止运行,按”r”键可以重设数据
### 指纹传感器 UV 示例
### 手指传感器 UV 示例
如果您使用的是指纹/单相机 UV 展开流程,可运行:
如果您使用的是手指/单相机 UV 展开流程,可运行:
``` bash
python examples/finger_pipeline.py --camera_id 0 --config ./config/dd02-ov.json
@@ -164,30 +164,30 @@ python examples/finger_pipeline.py --video ./data/sample.mp4 --config ./config/d
常用参数:
- `--verbose`:输出更详细的初始化日志
- `--profile`:打印每个阶段的耗时统计
- `--profile-every N`:每 N 帧输出一次平均耗时
例如:
``` bash
python examples/finger_pipeline.py --camera_id 0 --config ./config/dd02-ov.json --profile --profile-every 30
python examples/finger_pipeline.py --camera_id 0 --config ./config/dd02-ov.json
```
### 指纹 3D 可视化界面
如果已经安装 GUI 依赖,还可以运行:
### 手指 3D 可视化界面
如果要使用 GUI ,安装GUI依赖:
``` bash
pip install open3d
pip install pyqt5 pyqtgraph
```
然后运行:
``` bash
pip install -e ".[gui]"
python examples/finger_pipeline_3dview.py --video 0 --config ./config/dd02-ov.json
```
该界面会提供:
- 指纹 UV 展开图
- 手指平面化光流箭头显示
- 力曲线
- 3D mesh 视图
- 录制与重置等交互控件
- 3D 视图
## 开发套件使用方法
参考开发套件附带的开发文档。