首页 理论 架构 工程 文档 白皮书 著作 研究 案例 下载 博客 关于 开始使用 →

第8章 感知:感觉如何形成可处理的信息

第8章 感知:感觉如何形成可处理的信息

上一章讨论了“感觉”。

感觉是个体与环境之间最初的信息接口。它告诉系统环境正在对个体产生什么样的刺激,以及这种刺激如何变化。

但是,仅仅拥有感觉还不能形成真正意义上的认知。

一个人看到:

白色
椭圆
光滑
静止

又感觉到:

接触
压力
温度

这些都是感觉。

但人不会把这些感觉永远作为六个、十个、几十个彼此独立的数据保存下来。

人会逐渐形成:

“这里有一个东西。”

再进一步:

“这个东西可能是一个鸡蛋。”

这一步,就是从感觉进入感知

因此,本章需要解决的核心问题不是“传感器如何采集数据”,而是:

感觉如何被组织、关联、组合,并形成可被认知系统继续处理的感知信息?


8.1 感知不是感觉的简单叠加

如果把感觉理解为:

Feeling

那么最简单的错误理解就是:

Feeling
+
Feeling
+
Feeling
+
Feeling
=
Perception

实际上并不是这样。

例如,一个机器人同时获得:

视觉:
白色

视觉:
椭圆

触觉:
光滑

压力:
轻微

空间:
位于桌面

运动:
静止

如果只是把这些数据放在一起:

[
    white,
    oval,
    smooth,
    light_pressure,
    table,
    static
]

那么它仍然只是一组数据。

真正的感知需要回答:

这些感觉是否属于同一个对象?
哪些感觉之间存在关系?
哪些变化属于同一个事件?
哪些感觉是当前任务真正相关的?

所以:

感知不是感觉数据的堆积,而是感觉之间建立结构关系的过程。


8.2 感知的第一步:感觉组织

感觉系统不断获得信息。

这些信息可能来自不同时间、不同位置、不同感觉通道。

例如:

t1:
看到白色区域

t2:
看到椭圆轮廓

t3:
手指发生接触

t4:
产生轻微压力

t5:
物体位置发生微小变化

如果没有组织机制,这些感觉就是一串连续数据。

感知系统需要开始进行组织:

感觉
 ↓
时间组织
 ↓
空间组织
 ↓
通道组织
 ↓
状态组织
 ↓
关系组织

于是:

视觉白色
+
视觉椭圆
+
触觉光滑
+
压力轻微

不再只是四个独立数据,而可能开始被系统认为:

属于同一个局部区域

进一步:

属于同一个对象

这就是感知结构的开始。


8.3 感知首先形成的是“结构”,不是“名称”

这是理解机器感知非常重要的一点。

人看到一个陌生物体时,即使不知道它叫什么,也能够感知:

这里有一个物体
它在前面
它有一定大小
它具有某种形状
它正在移动
它与我的手发生接触

但此时可能并不知道:

“它叫什么?”

所以:

感知

并不要求立即完成:

命名

甚至也不要求立即完成:

语义解释

感知首先需要形成:

一个能够持续存在、能够变化、能够与其他信息发生关系的对象结构。

因此,本书在这里引入一个重要区分:

感觉
 ↓
结构化感知
 ↓
对象
 ↓
对象属性
 ↓
认知

“对象是什么”是后面的理论问题。

“这里是否存在一个相对稳定的对象结构”,则属于感知层。


8.4 感知中的聚合

假设视觉系统获得了:

A1
A2
A3
A4
A5

这些感觉元素在空间上接近,在时间上连续,并且具有一定共同变化。

感知系统可能把它们聚合:

A1
A2
A3
A4
A5
 ↓
Group A

这个 Group 并不一定已经是完整对象。

它只是说明:

这些感觉可能属于同一个结构。

例如:

多个视觉边缘
 ↓
轮廓结构

又例如:

多个压力点
 ↓
接触区域

再例如:

连续声音变化
 ↓
声音事件

因此,感知中的一个基本过程可以表示为:

多个感觉元素
 ↓
空间/时间/状态关系
 ↓
聚合
 ↓
感知结构

8.5 感知中的分离

与聚合相对应的是分离。

环境中的感觉信息可能混合在一起。

例如:

视觉:
桌子
杯子
鸡蛋
手
墙壁
窗户

如果系统只是接收视觉数据,那么所有信息实际上同时进入感知系统。

感知必须进一步区分:

区域A → 桌子
区域B → 杯子
区域C → 鸡蛋
区域D → 手

所以感知既包括:

聚合

也包括:

分离

可以表示为:

感觉集合
 ↓
聚合 / 分离
 ↓
结构集合

这两个过程共同决定了系统如何理解当前环境。


8.6 感知中的边界

对象之所以能够成为对象,一个重要原因是它具有某种边界。

例如一个鸡蛋:

外部空间
   ↓
[ 鸡蛋 ]
   ↓
外部空间

视觉上可能表现为:

颜色边界
形状边界
亮度边界

触觉上可能表现为:

接触
/
不接触

空间上可能表现为:

物体区域
/
非物体区域

因此,感知系统需要回答:

哪些感觉属于这个结构,哪些感觉不属于这个结构?

这实际上是在建立:

Object Boundary

但此时仍然需要注意:

感知到边界,不等于已经理解对象的全部属性。

边界只是对象形成的重要条件之一。


8.7 感知中的连续性

人在移动过程中,并不会每隔一秒重新认识一次世界。

例如一个人看到一辆汽车从左边移动到右边。

系统不会认为:

t1:一个汽车

t2:没有汽车

t3:另一个汽车

t4:又一个汽车

而是能够形成:

Object A
 ↓
Position(t1)
 ↓
Position(t2)
 ↓
Position(t3)
 ↓
Position(t4)

也就是说:

感知需要维持对象的连续性。

这也是动态感知与静态识别的重要区别。

对象不是一张一张独立的图片。

对象是在时间中持续存在并发生变化的结构。

因此:

Object(t1)
Object(t2)
Object(t3)

之间需要建立关联:

Object(t1)
   ↓
same object
   ↓
Object(t2)
   ↓
same object
   ↓
Object(t3)

8.8 感知中的状态

对象被感知之后,还需要知道对象当前处于什么状态。

例如:

鸡蛋

只是一个对象候选。

但当前状态可能是:

静止
接触
被拿起
正在移动
正在旋转
受到压力
发生滑移
发生形变

因此:

Object
+
State

比单纯:

Object

包含更多信息。

例如:

Egg

与:

Egg + BeingGrasped

显然不是同一个认知状态。

更进一步:

Egg
+
BeingGrasped
+
PressureIncreasing
+
SlipIncreasing

又是另外一种状态。

这就开始从普通对象识别进入动态感知。


8.9 感知中的变化

上一章已经提出:

Feeling(t)

本章需要进一步说明:

感知系统不仅感知当前值,还必须感知变化。

例如:

压力 = 2N

只是一个状态。

而:

2N → 3N → 4N

则表示:

压力正在增加

进一步:

2N → 3N → 4N → 5N

意味着:

持续增加

如果随后:

5N → 4N → 3N

则表示:

开始下降

所以感知系统开始获得:

Value
+
Change
+
Trend

这一步非常重要。

因为后面的认知匹配不是只比较:

当前值 == 目标值

而需要比较:

当前状态
+
变化方向
+
变化速度
+
历史状态

8.10 感知是时间性的

感知不是一个静态快照。

可以表示为:

Perception(t)

而不是:

Perception

例如机器人抓取鸡蛋:

t1
视觉发现鸡蛋

t2
手靠近

t3
发生接触

t4
压力增加

t5
滑移发生

t6
压力调整

t7
鸡蛋稳定

真正的感知是:

P(t1)
→
P(t2)
→
P(t3)
→
P(t4)
→
P(t5)
→
P(t6)
→
P(t7)

因此:

感知是一个连续状态过程,而不是一次识别结果。


8.11 感知对象的形成

当感觉经过组织、聚合、分离、关联和连续追踪之后,系统开始能够形成一个相对稳定的对象结构。

例如:

视觉元素
+
触觉元素
+
空间位置
+
连续性
+
边界

形成:

Object Candidate

再经过进一步确认:

Object

因此:

Feeling
 ↓
Perceptual Elements
 ↓
Perceptual Structure
 ↓
Object Candidate
 ↓
Object

这里有一个非常重要的原则:

对象不是感觉本身,而是感知系统对多个感觉关系进行组织后形成的结构。


8.12 感知并不等于认识对象

假设机器人看到一个陌生物体。

它能够确定:

存在一个物体
位置:前方
大小:约10cm
形状:椭圆
表面:光滑
运动:静止

这已经是很完整的感知。

但它可能仍然不知道:

这是什么?
有什么用途?
是否容易损坏?
可以施加多大压力?
应该如何操作?

这些问题属于后续认知。

因此:

感知
=
形成对象及其当前状态的可处理表示

而:

认知
=
根据对象、属性、变化、关系、经验、目标等进行匹配和判断

这是本书必须保持的边界。


8.13 感知与认知的连接

虽然感知与认知存在边界,但它们并不是相互独立的。

感知为认知提供:

对象
属性候选
状态
变化
关系

认知又可能反过来影响感知。

例如:

认知目标:
抓取鸡蛋

那么系统会更加关注:

接触位置
压力
摩擦
滑移
形变

而可能降低对其他无关信息的关注。

于是:

认知目标
 ↓
注意
 ↓
感知选择
 ↓
感觉输入
 ↓
感知
 ↓
认知

形成循环。

这意味着:

感知不是完全被动的数据接收过程。

它可能受到当前任务、目标和已有认知状态的影响。


8.14 感知中的注意

如果一个环境中同时存在一万个感觉变化,人不可能对所有变化进行同等处理。

因此必须存在选择机制。

例如桌面上有:

电脑
手机
杯子
鸡蛋
书
笔
键盘
鼠标

如果当前任务是:

“拿起鸡蛋。”

那么感知系统会更加关注:

鸡蛋位置
鸡蛋轮廓
手与鸡蛋距离
接触区域
抓取状态
压力
滑移

而不会把所有桌面信息都作为同等重要的信息。

因此可以提出:

有效感知不是获得全部信息,而是获得与当前认知任务相关的信息结构。

这也是减少数据规模的重要机制。


8.15 感知不是不断测试

这直接对应本书最初提出的机器人问题。

传统机器人行为设计容易采用:

测试A
 ↓
成功/失败

测试B
 ↓
成功/失败

测试C
 ↓
成功/失败

然后不断增加测试数据。

如果环境变化:

鸡蛋大小变化
鸡蛋重量变化
表面摩擦变化
手指位置变化
抓取速度变化
环境温度变化

又需要重新测试。

最终形成:

条件数量
×
对象数量
×
状态数量
×
行为数量

导致数据规模快速膨胀。

而感知的作用之一,就是把复杂环境转换成:

当前对象
+
当前状态
+
当前变化
+
当前关系

这样,系统不需要把所有过去情况逐一测试。

它可以根据当前状态进行匹配。

例如:

当前:
压力正在增加
+
滑移正在增加
+
对象易损

系统不需要找到一条:

“历史数据库里与这三个条件完全一样的记录。”

而可以形成动态判断:

压力增加
+
滑移增加
 ↓
当前抓取状态正在恶化

这就为下一阶段的:

动态认知匹配

建立了基础。


8.16 感知中的多感觉协同

真实的人类感知很少只依靠一个感觉通道。

拿一个鸡蛋时:

视觉
 ↓
看到对象位置

触觉
 ↓
感觉接触

压力
 ↓
感觉抓取力度

空间感觉
 ↓
知道手的位置

运动感觉
 ↓
知道手正在移动

这些信息需要共同形成一个当前状态:

Object = Egg
State = BeingGrasped

然后进一步形成:

Pressure = Increasing
Slip = Increasing

于是:

视觉
+
触觉
+
压力
+
空间
+
运动
+
时间

共同构成感知状态。

这不是简单的数据融合。

更准确地说,是:

多种感觉围绕同一个对象或事件形成共同结构。


8.17 感知的对象中心结构

如果要让机器真正接近人的感知方式,就不能始终采用:

Camera Data
Pressure Data
Temperature Data
Distance Data

这种传感器中心结构。

更接近认知系统的方式应该是:

Object
 │
 ├── Visual
 ├── Touch
 ├── Pressure
 ├── Position
 ├── Motion
 ├── Temperature
 └── State

也就是说:

不是让不同传感器各自形成孤立的数据岛,而是让不同感觉围绕对象形成共同的感知结构。

这一步非常关键。

因为后面的对象属性理论就是在这个基础上建立的。


8.18 感知状态的基本结构

因此,可以暂时把感知状态抽象为:

PerceptionState
{
    object
    elements
    attributes
    state
    position
    time
    changes
    relations
}

例如一个正在被抓取的鸡蛋:

PerceptionState
{
    object: egg,

    position: hand_front,

    state: grasping,

    pressure: increasing,

    friction: medium,

    slip: increasing,

    deformation: low,

    time: t
}

注意:

这里的:

pressure
friction
slip
deformation

还只是感知层面的状态描述。

系统还没有做出最终判断:

“应该减小压力。”

因为“应该怎么办”属于决策。

而:

“当前压力增加,同时滑移也在增加。”

属于感知。

再往后:

“继续增加压力可能导致对象受损。”

才进入认知匹配。


8.19 感知与对象属性的连接

到这里,我们已经可以看到下一层理论结构:

感觉
 ↓
感知
 ↓
对象
 ↓
对象属性

例如:

感觉:
压力

感知:
当前对象受到压力

对象:
鸡蛋

属性:
承受压力能力

状态:
当前正在受力

变化:
压力持续增加

于是,一个单独的压力感觉开始获得对象相关意义。

这就是为什么:

对象属性不能脱离感知而凭空存在。

系统必须先知道:

“这个压力作用在什么对象上?”

然后才能进一步讨论:

“这个对象具有什么属性?”

8.20 感知中的关系

感知不仅形成对象,也形成对象与环境之间的关系。

例如:

鸡蛋
 ↓
在桌面上

形成:

Egg
 └── on → Table

又例如:

手
 ↓
接触
 ↓
鸡蛋

形成:

Hand
 └── touching → Egg

再例如:

鸡蛋
 ↓
正在移动

形成:

Egg
 └── moving

这些关系非常重要。

因为认知往往不是:

对象单独存在

而是:

对象
+
属性
+
状态
+
关系

共同构成当前认知环境。


8.21 感知的动态模型

现在可以建立一个基础模型:

Environment
 ↓
Feeling
 ↓
Perceptual Element
 ↓
Perceptual Structure
 ↓
Object
 ↓
Attribute
 ↓
State
 ↓
Change
 ↓
Relation
 ↓
Perception State

其中:

PerceptionState(t)

随着时间持续变化。

例如:

t1:
Egg + Static

t2:
Egg + Approaching

t3:
Egg + Contact

t4:
Egg + Grasping

t5:
Egg + PressureIncreasing

t6:
Egg + SlipIncreasing

t7:
Egg + Stable

这已经不是一个静态对象识别系统。

而是:

一个持续更新的感知状态系统。


8.22 感知的核心不是“识别”,而是“保持当前世界状态”

这是本章最重要的认识之一。

传统计算机视觉往往强调:

“识别这个东西是什么。”

但模拟人的感知,需要更进一步:

持续知道当前环境中有哪些对象、对象处于什么状态、对象发生了什么变化、对象之间有什么关系。

例如:

不是:
“这是鸡蛋。”

而是:

当前存在鸡蛋
 ↓
鸡蛋位于手前方
 ↓
手正在靠近
 ↓
手已经接触
 ↓
压力正在增加
 ↓
鸡蛋发生轻微滑移

这才是动态感知。

因此:

感知不是一次性识别,而是对环境状态进行持续建模。


8.23 感知的工程意义

如果把这一理论转换成工程系统,就不能只建立:

ObjectDetector

还应该建立:

PerceptionEngine

它至少需要处理:

感觉输入
 ↓
元素提取
 ↓
元素关联
 ↓
结构形成
 ↓
对象形成
 ↓
状态更新
 ↓
变化检测
 ↓
关系更新

最终输出:

Current Perception State

而不是只输出:

Object = Egg

这两者之间存在本质差异。

前者描述:

当前世界是什么状态。

后者只描述:

发现了什么对象。


8.24 感知状态的持续更新

因此,一个真正的感知系统应该持续运行:

Input(t)
 ↓
Perception(t)
 ↓
Input(t+1)
 ↓
Perception(t+1)
 ↓
Compare
 ↓
Change
 ↓
Update

例如:

P(t1)
=
Egg
+
Static

下一时刻:

P(t2)
=
Egg
+
Moving

系统计算:

Change:
Static → Moving

再下一时刻:

P(t3)
=
Egg
+
Moving
+
ApproachingHand

继续更新。

因此:

感知系统不是生成一个结果,而是维护一个不断变化的当前状态。


8.25 感知与认知的边界再次确认

到本章结束,我们可以更加明确两者的区别。

感觉:

个体获得环境刺激及其变化。

感知:

个体将感觉组织成对象、状态、变化和关系等可处理结构。

认知:

个体利用这些结构与已有经验、记忆、先验、目标等进行匹配,并形成判断。

可以表示为:

环境
 ↓
感觉
 ↓
感知
 ↓
认知

进一步:

感觉
=
获得

感知
=
组织

认知
=
匹配与判断

这三个词不能再混用。


8.26 从“感觉数据”到“感知对象”

现在可以完成本书第二个重要转换:

Feeling
 ↓
Element
 ↓
Structure
 ↓
Object

也就是说:

感觉提供原始输入,感知将这些输入组织成为具有连续性和关系性的对象结构。

但这里仍然存在一个新的问题:

对象形成之后,系统究竟如何描述这个对象?

例如:

对象 = 鸡蛋

还远远不够。

因为系统还必须知道:

它是什么?
它具有什么?
它现在是什么状态?
它能够承受什么?
它正在发生什么变化?
它与其他对象是什么关系?

这就进入第三篇。


8.27 本章建立的理论链条

经过第7章和第8章,现在基础结构可以确定为:

环境
 ↓
感觉
 ↓
感知元素
 ↓
感知结构
 ↓
对象

而对象进入下一阶段后,将继续展开:

对象
 ↓
属性
 ↓
状态
 ↓
变化
 ↓
关系

然后才进入:

动态认知匹配

因此,本书目前还没有开始讨论最终的“认知判断”。

现在做的工作,是把认知的输入基础建立起来。


8.28 本章结论

本章建立了“感知”的基本理论。

第一,感知不是感觉的简单叠加。

感觉只有经过组织、关联、聚合、分离和连续追踪,才能形成感知结构。

第二,感知首先形成结构,而不一定立即形成名称。

人可以先知道“那里有一个东西”,再进一步认识“这个东西是什么”。

第三,感知具有时间性。

对象不是一次识别结果,而是在时间中持续存在并发生变化的状态。

第四,感知需要维持对象连续性。

同一个对象在不同时间的状态需要被关联起来。

第五,感知不仅形成对象,还形成状态、变化和关系。

因此:

Perception
=
Object
+
State
+
Change
+
Relation

第六,多感觉信息需要围绕对象形成共同结构。

视觉、触觉、压力、空间、运动和时间不是孤立的数据岛。

第七,感知不是不断测试所有可能情况。

它通过当前感觉、对象、状态和变化形成当前环境模型,从而减少对无限测试数据的依赖。

最终,本章建立:

Feeling
 ↓
Perceptual Element
 ↓
Perceptual Structure
 ↓
Object
 ↓
State
 ↓
Change
 ↓
Relation
 ↓
Perception State

而下一章将进一步解决:

第9章 感知元素

重点回答一个更基础的工程问题:

感知系统中的“元素”究竟是什么?

因为如果没有明确的感知元素,后面的:

对象
属性
状态
关系
匹配

都无法形成统一的工程结构。

下一章将正式定义:

Element
Element Value
Element State
Element Change
Element Relation

并建立:

感觉 → 感知 → 感知元素

这一层真正可以进入理论工程的数据基础。

Leave a Reply

Your email address will not be published. Required fields are marked *