第124章 Real-Time Perception
实时感知
第123章建立了一个最基础的前提:
机器面对的不是一个固定不变的数据世界,而是一个持续变化的动态世界。
因此,机器认知不能建立在“过去已经采集好的数据足以描述现在”的假设之上。
如果:
World(t)
不断变化,那么机器就必须不断获得:
Perception(t)
否则:
World(t+1)
已经发生变化,而机器仍然停留在:
Perception(t)
那么后续认知实际上是在对一个已经不存在的场景进行计算。
因此,本章研究:
机器如何获得“现在”的世界信息,并把实时变化转化为可以进入认知系统的多元感知数据。
124.1 实时感知不是一次数据采集
首先必须区分:
Data Collection
与:
Real-Time Perception
一次性数据采集可以理解为:
Sensor
↓
Data
↓
Storage
得到一个历史记录:
Data(t)
而实时感知是:
Sensor
↓
Perception(t)
↓
Perception(t+1)
↓
Perception(t+2)
↓
...
它不是为了获得一份“世界数据”,而是为了持续获得:
世界当前正在发生什么。
因此:
实时感知
≠
一次采集
而是:
Continuous Perception
124.2 感知的对象不是“数据”,而是现实变化
机器真正面对的是:
现实世界
传感器只是机器与现实世界之间的接口。
因此不能简单理解成:
Sensor
↓
Data
更准确的结构是:
Real World
↓
Physical Change
↓
Sensor
↓
Signal
↓
Perception
↓
Cognitive Data
例如鸡蛋发生移动。
现实中发生的是:
Egg Position Change
传感器可能获得:
视觉变化
距离变化
姿态变化
速度变化
这些信号经过感知处理以后,才形成:
Position(t)
Orientation(t)
Velocity(t)
所以:
感知数据不是现实本身,而是机器对现实变化形成的可认知表示。
124.3 一个对象不是一个感知值
这是本章最重要的理论之一。
例如:
Egg
不能只使用:
Position
描述。
因为:
Position
只能告诉机器:
它在哪里。
却不能告诉机器:
它现在是什么状态。
因此至少可能需要:
Position
+
Distance
+
Orientation
+
Velocity
+
Contact
+
Force
+
Environment
+
Machine State
形成:
Egg Perception State
因此:
现实对象的当前认知不是一个数据值,而是多个感知因素共同形成的状态结构。
124.4 多元感知
可以进一步建立:
Perception(t)
=
{
Position,
Distance,
Orientation,
Velocity,
Contact,
Force,
Environment,
SelfState
}
这些数据不是彼此独立地存在于系统中。
它们之间存在关系。
例如:
Distance ↓
+
Velocity ↑
+
Obstacle Near
可能意味着:
Collision Risk ↑
又例如:
Contact = True
+
Force ↑
+
Fragility = High
可能意味着:
Damage Risk ↑
因此:
感知系统的价值不只是获得更多数据,而是获得能够共同描述当前现实状态的多元数据。
124.5 位置 Position
位置是最基础的空间感知之一。
例如:
Egg
Position = P(t)
但是位置本身仍然是动态变量:
P(t1)
≠
P(t2)
如果鸡蛋滚动:
P(t1)
↓
P(t2)
↓
P(t3)
那么机器不能继续使用:
P(t1)
作为当前事实。
因此:
位置必须被理解为随时间变化的实时属性。
124.6 距离 Distance
位置不能完全代替距离。
例如:
Robot Hand
Egg
系统可能需要知道:
Distance(Hand, Egg)
距离变化:
D(t1)
↓
D(t2)
↓
D(t3)
可以形成一种动态关系:
Far
↓
Near
↓
Contact
因此距离不仅是一个数值,还可以参与:
Relation
State
Risk
Behavior
的形成。
124.7 姿态 Orientation
同一个对象:
Egg
即使位置完全相同:
Position = P
不同姿态也可能导致完全不同的行为需求。
例如:
Orientation A
与:
Orientation B
可能具有不同:
接触面
稳定性
抓取位置
受力方式
因此:
Object
=
Position
+
Orientation
至少已经比单一坐标更接近现实对象。
124.8 速度 Velocity
位置告诉机器:
对象在哪里。
速度进一步告诉机器:
对象正在向哪里变化,以及变化有多快。
例如:
Position(t)
连续变化以后,可以得到:
Velocity(t)
鸡蛋:
Stable
可能突然变成:
Rolling
此时:
Position Change
+
Velocity
共同说明:
对象正在进入新的动态状态。
124.9 接触 Contact
接触是机器人与现实世界建立物理关系的重要感知因素。
例如:
Hand
↕
Egg
系统需要知道:
Contact = True / False
但进一步还需要知道:
Contact Position
Contact Area
Contact Direction
Contact Change
因为:
Contact
本身也可能发生变化:
No Contact
↓
Partial Contact
↓
Full Contact
↓
Contact Lost
因此接触应该被视为:
动态关系感知。
124.10 力 Force
力是行为计算中非常重要的实时数据。
例如:
Hand
↓
Force
↓
Egg
如果对象具有:
High Fragility
那么同样的:
Force
可能产生完全不同的风险。
因此:
Force
不能独立决定动作。
必须与:
Object
+
Attribute
+
State
+
Contact
+
Goal
共同进入认知计算。
124.11 环境 Environment
对象从来不是孤立存在的。
鸡蛋周围可能存在:
Table
Hand
Obstacle
Other Objects
Person
Floor
因此:
Egg State
实际上受到:
Environment State
影响。
例如:
Egg
+
Table
和:
Egg
+
Floor
虽然对象仍然是同一个鸡蛋,但其:
Risk
Relation
State
Possible Behavior
都可能不同。
因此:
环境也是实时感知的一部分。
124.12 自身状态 Self State
机器不能只感知外部世界。
还必须感知:
自己现在是什么状态。
例如机械手:
Position
Orientation
Velocity
Joint State
Grip State
Force
Available Capability
因此完整感知应该是:
External World
+
Self State
共同构成:
Current Perception
124.13 外部对象与自身状态必须共同计算
回到鸡蛋抓取。
假设:
Egg Position = P1
但是机械手:
Hand Position = P2
那么:
Distance(P1,P2)
才有实际意义。
进一步:
Egg Velocity
+
Hand Velocity
会影响:
Future Contact
再进一步:
Egg Fragility
+
Contact Force
+
Hand State
会影响:
Damage Risk
因此:
External State
+
Self State
+
Relation
必须进入统一的实时认知过程。
124.14 感知不是数据越多越好
这里还必须避免另一个误区:
实时感知并不是无限增加传感器、无限增加数据。
真正重要的是:
当前任务需要哪些能够改变认知判断的数据。
例如抓鸡蛋:
Position
Orientation
Distance
Velocity
Contact
Force
Fragility
Obstacle
Hand State
这些因素之所以重要,是因为它们可能改变:
Object State
Risk
Method
Behavior
因此感知数据应该与认知目标建立关系:
Perception
↓
Relevant State
↓
Cognition
而不是:
Sensor
↓
大量无意义数据
↓
Database
124.15 实时感知具有时间维度
静态数据通常可以写成:
X
而动态感知应该写成:
X(t)
例如:
Position(t)
Velocity(t)
Force(t)
Distance(t)
Orientation(t)
进一步:
X(t1)
X(t2)
X(t3)
...
系统真正关心的不仅是:
X(t)
还包括:
ΔX
也就是:
这个数据正在如何变化。
124.16 从值到变化
例如:
Distance = 20cm
本身意义有限。
如果:
Distance(t1) = 30cm
Distance(t2) = 20cm
Distance(t3) = 10cm
那么系统可以发现:
Distance ↓
如果同时:
Velocity ↑
那么系统得到的不是一个孤立的数据,而是一种:
Approaching
动态认知因素。
所以:
实时感知不仅需要获得“值”,还需要获得“变化”。
124.17 从变化到状态
进一步:
Position
+
Velocity
+
Distance
+
Contact
可能共同形成:
Approaching
再例如:
Contact
+
Force
+
Velocity
+
Object Fragility
可能形成:
Potentially Dangerous Contact
因此:
Raw Data
↓
Data Change
↓
State
这就是从传感器数据进入认知结构的重要一步。
124.18 实时感知不是实时决策
这里也需要严格区分。
实时感知解决:
现在发生了什么?
实时认知解决:
这些变化意味着什么?
实时决策解决:
现在应该怎么办?
因此:
Real-Time Perception
↓
Real-Time Cognition
↓
Real-Time Decision
↓
Real-Time Behavior
第124章只负责第一层。
这样后面的理论边界才能保持清晰。
124.19 感知必须允许旧场景失效
这是连接第123章动态世界与后面动态认知的关键。
例如:
Scene(t1)
系统原本认为:
Egg
Position = A
Stable
随后发生:
Egg Rolling
那么:
Scene(t1)
已经不能继续作为当前现实。
系统必须重新获得:
Position(t2)
Orientation(t2)
Velocity(t2)
Relation(t2)
然后形成:
Scene(t2)
因此:
实时感知的一个核心职责,就是及时发现旧场景已经失效。
124.20 感知更新
可以建立:
Current Perception
↓
New Sensor Data
↓
Difference Detection
↓
Perception Update
进一步:
Perception(t)
↓
Change
↓
Perception(t+1)
因此实时感知不是:
Replace Everything
也不是:
Keep Everything Fixed
而是:
持续更新当前现实状态。
124.21 历史感知与当前感知
这也为后面第十四部分建立接口。
系统可以保存:
Historical Perception
但当前认知必须优先依据:
Current Perception
形成:
Historical Cognitive Structure
+
Current Real-Time Perception
↓
Current Scene
这里的关系非常重要:
历史告诉机器“以前可能是什么样”,实时感知告诉机器“现在实际上是什么样”。
两者不能互相替代。
124.22 ICAI 实时感知模型
因此,本章可以建立 ICAI 的第一版实时感知模型:
Real World
│
▼
Physical Changes
│
▼
Sensor
│
▼
Perception Data
│
┌──────────────┼──────────────┐
↓ ↓ ↓
Position Distance Orientation
↓ ↓ ↓
Velocity Contact Force
↓ ↓ ↓
Environment Self State Other Factors
└──────────────┼──────────────┘
↓
Multivariate Perception
↓
Current State Data
↓
Cognitive Input
124.23 从实时感知进入动态场景
当多元感知数据形成以后,下一步才不是直接执行动作。
而是:
Real-Time Perception
↓
Elements
↓
Objects
↓
Attributes
↓
Relations
↓
States
↓
Scene
也就是说:
实时感知只是 ICAI 进入现实世界的入口。
它产生的是:
Current Perception
而不是:
Final Decision
124.24 鸡蛋案例的完整感知结构
现在重新观察鸡蛋抓取:
Egg
系统实时获得:
Position
Orientation
Distance
Velocity
Contact
Force
Obstacle
Environment
Hand State
然后形成:
Egg Current State
例如:
Position = P
Orientation = O
Velocity = V
Contact = C
Force = F
Environment = E
HandState = H
因此当前鸡蛋场景不是:
Egg = Position P
而是:
Egg(t)
=
{
Position,
Orientation,
Velocity,
Distance,
Contact,
Force,
Environment,
HandState
}
这才开始接近现实世界中的:
场景元素—对象—属性—关系—状态数据。
124.25 本章核心理论
经过以上分析,可以提出本章的核心定义:
实时感知,是机器通过传感器持续获取现实世界及自身状态的变化,并将位置、距离、姿态、速度、接触、力、环境等多元实时信息转换为当前可参与认知计算的状态数据的过程。
这里有三个关键词:
持续
多元
当前
而不是:
一次
单一
固定
124.26 本章与传统固定数据模式的区别
传统模式容易形成:
采集
↓
保存
↓
识别
↓
动作
ICAI 的实时感知模式则是:
现实世界
↓
实时感知
↓
多元数据
↓
当前状态
↓
当前场景
↓
认知
而当行为改变现实以后:
行为
↓
世界变化
↓
再次感知
↓
新的当前状态
↓
新的场景
↓
新的认知
最终形成:
World
↓
Perception
↓
Cognition
↓
Behavior
↓
World Change
↓
Perception
↓
...
124.27 本章小结
第123章回答:
世界为什么必须被理解为动态世界?
第124章进一步回答:
机器如何面对这个动态世界?
答案不是:
提前把世界全部采集下来
因为现实世界不存在一个可以一次性完成的“完整数据集”。
机器必须:
现在感知
↓
现在认知
↓
现在判断
然后随着世界变化:
再次感知
↓
再次认知
↓
再次判断
因此:
Real-Time Perception
的真正意义不是“传感器实时上传数据”,而是:
让机器的认知始终有机会重新面对当前现实。
最终建立:
World(t)
↓
Sensor
↓
Perception(t)
↓
Multivariate Data
↓
Current State
↓
Current Scene
↓
Cognition
当:
World(t)
变成:
World(t+1)
系统必须能够形成:
Perception(t+1)
而不是继续把:
Perception(t)
当成现实。
这就自然进入下一章:
第125章 Multivariate Perception
多元感知
核心问题将进一步收紧为:
为什么一个现实对象的当前状态,必须由多个相互关联的实时感知因素共同确定,而不能由某一个固定数据值决定?
也就是从:
Real-Time Data
进入你这套理论真正非常关键的:
Position
+
Distance
+
Orientation
+
Velocity
+
Contact
+
Force
+
Environment
+
Self State
↓
Multivariate Perception
↓
Current Cognitive State
这一步会直接成为后面**“元素—对象—属性—方法—动态场景—行为计算”**的感知数据基础。