动作 AI · 5-1 · 紧急任务

CCTV 乱扔垃圾 —— 把人变成火柴人来抓

凌晨两点,有人在小巷 CCTV 的镜头里扔下易拉罐后消失了。计算机要从画面的几百万个数字中找到人,把人变成有 13 个关节的火柴人,再把火柴人的动作压缩成几个数字(特征),判断“是不是乱扔垃圾”。我们将一路追踪下去:人定的规则会在哪里上当,学习能纠正什么,以及为什么“掉在哪里”是最重要的线索。

6,220,800全高清 CCTV 一帧的数字个数
26火柴人一帧的数字个数(关节 13 × 2)
4 个人定的动作特征
60.7%“手腕快就是乱扔”规则的测试准确率(代码 2)
99.7%4 个特征 + 逻辑回归的测试准确率(代码 2)
2 段可在 Colab 中直接运行的代码
1举报

凌晨两点的举报 ——“让我看看是谁扔的”

CCTV 监控室里有几十块屏幕,人不可能整夜盯着所有画面。研究室接到的任务只有一个:让 AI 先察觉到乱扔垃圾的“动作”。

[SYSTEM] 02:13 · CAM-07 小巷 · 疑似乱扔垃圾举报 1 起。附件:视频 3 秒、监控记录一页。
博士
博士一段视频里有好几百万个数字。想直接从里面找出“乱扔垃圾”,会迷路的。先定好顺序:找人 → 火柴人 → 动作特征 → 判定。
助手
助手火柴人?不留脸,只留骨架吗?那就不用知道谁是谁了。
果蝇研究员
果蝇研究员这里有个陷阱。用力挥手的人和扔易拉罐的人,只看手腕的话一样快。还得看易拉罐掉在了哪里。
研究室机器人已准备好六种场景和 300 个测试场景。我们来试试两条规则和三个学习模型。
左边是 CCTV 画面,小巷里扔易拉罐的火柴人被红框标出;右边是指着监控室显示器上警告标志的监控员火柴人,以及高兴的博士和果蝇研究员
监控室的警告画面。通往这一幕的路径将在第 2~6 节中依次搭建。
第 2 · 3 节画面 → 人 → 13 个关节点

从 600 万个数字中找到人,把姿势压缩成 26 个数字

第 4 · 5 节时间 → 4 个特征 → 判定

把 46 帧的动作概括为 4 个特征,并比较规则与学习

第 6 · 7 节监控室 → 局限

实时分数与暂不判定,以及这种方法会出错的地方

2画面就是数字

CCTV 画面就是数字 —— 没有标签的 600 万个

计算机收到的不是照片,而是每个格子里红、绿、蓝的强度(0~255)。切换查看方式,再把鼠标移到画面上看看。

查看
格子大小

面向初学者的讲解

全高清 CCTV 的一帧是横 1,920 × 竖 1,080 个格子,每个格子有红、绿、蓝三个数字。1,920 × 1,080 × 3 = 6,220,800 个。每秒 30 帧的话,1 秒就是 1 亿 8,662 万个。这些数字里没有任何一个贴着“人”或“垃圾桶”的标签。所以第一步,是先从这堆数字中找出什么东西在哪里。照片变成数字矩阵的过程在 4-2 中有详细讲解。

3找人

找到人,再变成火柴人 —— 目标检测与姿态估计

分两步。先由目标检测找出人、垃圾桶、易拉罐的方框(边界框)。接着由姿态估计在人的方框内找出 13 个关节的坐标。开关各个图层试试看。

夜间小巷的 CCTV 画面。发光的火柴人伸出右臂扔出易拉罐,易拉罐沿着虚线飞向左边的垃圾桶

坐标是直接从图片(1402 × 1122)上读取关节点得到的值。左上角是 (0, 0),越往下 y 越大。因为我们面对着人,所以画面左边的手臂是“右臂”。

图层
为什么用火柴人
  • 小:一个姿势只有 26 个数字。而同一画面的像素超过 600 万个。
  • 不太受衣服、光照影响:无论是黑色连帽衫还是白衬衫,无论是白天还是路灯下,手臂的角度都得到同样的数字。
  • 可以不保留人脸:判定需要的是动作。只保存关节,就能减少可识别个人的信息。
代价是失去的东西
  • 物体:火柴人里既没有易拉罐也没有垃圾桶。所以必须同时带上目标检测的结果(易拉罐的位置)。这一点在第 5 节中至关重要。
  • 遮挡和黑暗:手臂被身体挡住或光线太暗时,会找不到关节,或者把点标到错误的地方。
  • 手的形状:13 个点里没有手指。“握着还是张开”需要另外判断。

实际会用什么工具

目标检测广泛使用 YOLO 系列 [R3],姿态估计广泛使用 OpenPose [R1] 或 MediaPipe [R5]。关节编号体系上,COCO 数据集的 17 点 [R2] 是事实上的标准。本页从 COCO 17 点中去掉两只眼睛和两只耳朵共四个点,用鼻子一个点代表头部,使用 13 个点。

4按时间展开

把火柴人按时间展开 —— 动作是一串数字

乱扔垃圾不是一个画面,而是 3 秒内的动作。选选这六个场景看看。黄色虚线是右手腕的轨迹,下方图表是手腕速度和易拉罐的状态。

场景

这些场景从哪里来

这六个场景不是真实视频,而是让关节角度随时间变化生成的合成数据。以身高为 1 的单位计量(以身高 1.7m 为基准),扔出的易拉罐受重力作用沿抛物线飞行。代码 1 的函数和这张图是同一个计算。如果是真实视频,第 3 节的姿态估计会为每一帧生成这些坐标。

5规则 vs 学习

4 个特征,规则 vs 学习 —— 手臂快不等于乱扔垃圾

把 1,196 个数字压缩成人挑选的 4 个特征。然后用两种方式判定:人定的规则,以及从数据中学习的模型。移动阈值,找找规则在哪里出错。

规则
手腕速度阈值2.0身高/秒

代码 2 的实验 —— 300 个测试场景,五个检测器

改变六个场景的速度(×0.8~1.25)、位置、动作幅度(×0.75~1.25),生成 600 个训练场景、300 个测试场景,并给关节坐标加上抖动(姿态估计误差)。正确答案由结果决定:易拉罐留在垃圾桶外的地面上就是乱扔。所以“远远扔出”如果用力扔进了桶里也算正常(测试中的扔出只有 52% 是乱扔)。格子里的数字是该场景被判定为乱扔的比例,与正确答案相差超过 5%p 的标为红色。

规则 1(60.7%):把 94% 的挥手判成了乱扔(误报)。慢慢丢下的乱扔则漏报了 98%。

规则 2(76.7%):加上“是否松手”后,挥手的误报消失了。但丢下仍然会漏报,连扔进桶里的正常场景也被判成乱扔。

4 个特征 + 逻辑回归(99.7%):学到的权重是 [速度 −0.33,松手 1.16,与桶的距离 3.93,远离 1.19]。手腕速度反而得到一个很小的负数。模型选出的最强线索是“易拉罐是否留在桶外的地面上”。

直接输入坐标的 MLP(92.3%):学会了扔东西的“样子”,但对扔进桶里的情况也发出了警报(误报 19 个)。即使再加上 2 个物体坐标也没有改善。在 1,288 个数字中,只靠 600 个训练样本很难找出“最后一帧易拉罐的 x 坐标是否在桶外”。

如何解读这个结果

  1. 特征选得好,模型简单也没关系。之所以能达到 99.7%,是因为“桶外距离”这个特征几乎就等于正确答案的定义。代价是,这个特征完全依赖于准确找到易拉罐和垃圾桶的目标检测。
  2. 直接学习坐标,就不需要人来挑选特征,但需要多得多的数据。实际研究会用直接利用关节连接结构的图神经网络(ST-GCN 等)[R4] 来缓解这个问题。
  3. 这些数字是合成数据的结果。在真实的小巷视频中,由于遮挡、黑暗、多人等原因,所有检测器的成绩都会下降。与其看数字本身,不如看“在哪些场景出错”的规律。
6监控室

实时监控室 —— 每一帧重新打分

直接使用代码 2 中逻辑回归学到的权重。只用目前看过的帧重新计算 4 个特征并打分。0.6 以上发出警报,0.4~0.6 则暂不判定,交给人来处理。

乱扔分数
场景

为什么要设置暂不判定

误报会让无辜的人受到怀疑,漏报会让管控形同虚设。两种错误的分量不同,所以很难只定一个阈值。因此,分数模棱两可的区间(这里是 0.4~0.6)不做自动判定,而是让监控员亲自查看视频。AI 只用来决定“先看哪个画面”的顺序,最终判断和责任由人承担。多点几次“随机场景”,找找扔进桶里的扔出和扔得很轻的扔出。

7局限

这种方法出错的地方,以及下一个任务

火柴人和 4 个特征易于理解,也很轻量。但相应地,它遗漏的东西也很明显。

效果好的原因
  • 数据小:一个姿势只有 26 个数字,又轻又快。可以同时查看监控室的几十块屏幕。
  • 能够解释:可以用数字说出判定理由,比如“易拉罐留在桶外,松手后又远离了 0.77”。
  • 无需人脸:只根据动作来判定,因此可以设计成减少所保存的个人信息。
局限与风险
  • 依赖目标检测:最强的特征是“易拉罐的位置”。如果太暗找不到易拉罐,检测器也会一起崩溃。
  • 合成数据的局限:这里的场景只有六种。现实中有很多定义模糊的场景,比如放下垃圾袋、搬走别人的垃圾。
  • 法律与责任:公共场所的 CCTV 要遵守个人信息保护法中关于视频信息处理设备的规定。需确认安装目的、告示牌和保存期限,并由人做最终确认,以免仅凭 AI 的判定就进行处罚。
  • 偏见:如果姿态估计在某些衣着或体型上经常出错,误报可能会集中在这些人身上。需要分别查看各群体的错误率。
在火柴人胶片条、关节编号表和特征柱状图前高兴的助手,以及用指挥棒讲解的博士
下一任务预告 · 火柴人的动作变成特征的场景
博士
博士抓人这一步搞定了。现在反过来试试。与其看特征识别出“乱扔”,能不能给出“扔”这个词,让火柴人生成扔的动作呢?
助手
助手从识别的 AI 到生成的 AI?那得需要超级多的动作数据吧。
果蝇研究员
果蝇研究员那就是 5-2 的任务。在同一张特征表里,只要把箭头方向反过来就行。

Colab 代码 —— 亲自运行本页内容

两段代码都只使用 Colab 默认安装的库。“下载笔记本(.ipynb)”后,在 Colab 中通过文件 → 上传笔记本打开,或者复制后粘贴到新笔记本的单元格中。

代码 1 · 生成火柴人场景并提取 4 个特征对应第 3~5 节 · numpy, matplotlib · CPU 不到 1 秒

计算用关节角度绘制火柴人的函数(fk)、六个场景和 4 个特征。输出与第 5 节上方表格相同的数字。想换成自己的数据,就在 clip() 返回关节坐标的位置放入姿态估计工具给出的坐标,并除以身高使其为 1。

运行结果(2026-10-05 运行,numpy 2.4 · matplotlib 3.10 · CPU)。不使用随机数,无论何时运行结果都相同。同时还会输出两张图(各场景的手腕速度、扔出动作的四帧)。
代码 2 · 规则 vs 学习 —— 比较五个乱扔垃圾检测器对应第 5 · 6 节 · numpy, scikit-learn · CPU 约 20 秒

变换场景生成 600 个训练样本和 300 个测试样本,比较 2 条规则、逻辑回归和 2 个 MLP。第 5 节的实验表和第 6 节监控室的权重都直接来自这段输出。

运行结果(2026-10-05 运行,numpy 2.4 · scikit-learn 1.8 · CPU)。数据种子已固定,但 MLP 的数字可能因库版本不同而略有变化。

AI 应用提示词 —— 以这段代码为起点

这是粘贴到 ChatGPT、Qwen、Claude 等 AI 助手中的提示词。点击“复制”,所选代码会一起附在提示词后面。把〔 〕里的内容换成你自己的情况即可。

一起附上的代码

AI 的回答只是起点。它提出的论文、数值和库函数,务必对照原文和官方文档核实。使用有真人出镜的视频时,先确认拍摄同意和个人信息处理规定。

术语表

与正文中黄色虚线下划线相同的词典。点击节名即可跳到首次出现的位置。

比喻合集 —— 以及比喻失效之处

比喻是理解的第一步,也可能是误解的种子。与人类知觉相比的比喻标注了强度。直接 有证据表明实际上在做同样的事 · 部分 只有部分性质相似 · 无 尚不知道有对应的东西

概念日常比喻人类知觉比喻比喻失效之处
目标检测给照片里的每个人贴上便利贴部分 一眼察觉“那里有人”便利贴是人准确地贴上去的,而检测器会连同置信度一起给出错误的方框
姿态估计在照片上叠放铁丝人偶部分 只看几个点的运动就能认出走路的人的能力(光点步行)人能推测出被挡住的手臂,而姿态估计在被遮挡时会把点标到错误的地方或者漏掉
特征嫌疑人画像中的“身高·衣着·步态”项目无画像项目由人挑选。直接学习坐标的模型会自己创造项目(第 5 节的 MLP)
基于规则保安“跑的人很可疑”的经验判断无保安会根据情境修正经验判断,而规则在预设条件之外的场景中会照样出错
暂不判定裁判申请视频回放无视频回放很少使用,而扩大暂不判定的区间会让监控员的工作量重新增加

作者简介与参考文献

E-1 作者简介 · E-2 学术参考文献 · E-3 图片与数字的出处

E-1 作者简介

Ahn Sangsun(M-Robo 株式会社代表)

曾任职于韩国电气安全公社、每日经济新闻,现创办每日经济的外部创业公司 M-Robo 株式会社并担任代表。M-Robo 株式会社是一家以媒体公司内部创业起步的媒体创业公司,曾为国民日报提供机器人记者(StockBot)服务,并为韩国互联网振兴院、韩国言论振兴财团、韩国广播通信电波振兴院等机构执行了多个项目。之后运营自有的 AI 新闻报纸 Money-Robo。担任代表期间,曾获得亚洲开放数据黑客马拉松冠军,并因在数据创业领域的贡献两次获得行政安全部长官奖,是人工智能和区块链领域 5 项专利的发明人及注册人。著有《AI 犯罪与自我防御》,并为韩国技术教育大学在线终身教育院开发了金融科技、统计学、人工智能领域的在线学习内容。最高学位为经济学博士(东国大学,微观数理经济学)。目前在国民大学、湖西大学等多所大学讲授数据和人工智能相关课程。详细简介

讲座

  • Ahn Sangsun (2025).《面向商业的数据科学》讲义. 韩国开放网络大学 人工智能融合学科.
  • Ahn Sangsun (2025). [K-数字] 人工智能自然语言处理. STEP(智能职业培训平台),韩国技术教育大学在线终身教育院.
  • Ahn Sangsun (2024). [K-数字] 金融科技数据分析基础. STEP(智能职业培训平台),韩国技术教育大学在线终身教育院.

STEP 课程链接:link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
如因网站改版无法正常访问,请访问 www.step.or.kr。

论文与报告

  • Ahn Sangsun (2025). 利用国民养老保障面板数据的家庭支出预测模型研究:基于人工智能模型的方法.《未来社会》, 16(2). 原文
  • Ahn Sangsun (2025). 利用国民养老保障面板数据的家庭支出预测模型研究:人工智能方法. 国民养老保障面板学术会议报告资料(2025.05.13),国民年金公团 国民年金研究院. 报告资料
  • Ahn Sangsun (2025). 基于 SNS 文本的疑似毒品交易检测算法研究:以模式与语境分析为中心.《未来社会》, 16(1). 原文
  • Ahn Sangsun (2024). 面向金融领域异常检测模型安全的基于统计的对抗性数据应对方案:实证分析与模拟结果.《未来社会》, 15(3). 原文
  • Ahn Sangsun (2024). 利用人工智能、基于虚拟角色特征的 SNS 帖子检测解决方案. 2024 Summer Newmedia Party 海报发表(2024.06.19),首尔媒体研究生院大学.
  • Ahn Sangsun (2024). 利用工伤面板数据的机器学习模型. 第 10 届工伤保险面板学术会议海报发表(2024.05.17),勤劳福祉公团 勤劳福祉研究院.
  • Ahn Sangsun (2024). 虚拟资产时间序列数据的分析与预测:时间序列模型与人工智能模型的比较及改进建议.《未来社会》, 15(1). 原文

E-2 学术参考文献

  1. [R1] Cao, Z., Simon, T., Wei, S.-E., & Sheikh, Y. (2017). Realtime multi-person 2D pose estimation using part affinity fields. CVPR 2017, 7291–7299. arXiv:1611.08050 —— 第 3 节(姿态估计)
  2. [R2] Lin, T.-Y., Maire, M., Belongie, S., Hays, J., Perona, P., Ramanan, D., Dollár, P., & Zitnick, C. L. (2014). Microsoft COCO: Common objects in context. ECCV 2014, 740–755. arXiv:1405.0312 —— 第 3 节(17 点关节体系)
  3. [R3] Redmon, J., Divvala, S., Girshick, R., & Farhadi, A. (2016). You only look once: Unified, real-time object detection. CVPR 2016, 779–788. arXiv:1506.02640 —— 第 3 节(目标检测)
  4. [R4] Yan, S., Xiong, Y., & Lin, D. (2018). Spatial temporal graph convolutional networks for skeleton-based action recognition. AAAI 2018. arXiv:1801.07455 —— 第 5 节(基于骨架的行为识别)
  5. [R5] Lugaresi, C., Tang, J., Nash, H., McClanahan, C., Uboweja, E., Hays, M., Zhang, F., Chang, C.-L., Yong, M. G., Lee, J., Chang, W.-T., Hua, W., Georg, M., & Grundmann, M. (2019). MediaPipe: A framework for building perception pipelines. arXiv:1906.08172 —— 第 3 节

E-3 图片与数字的来源

  • 场景图(小巷 CCTV、监控室、特征研究室)是作者亲手制作的像素画
  • 第 3 节的关节坐标是直接从小巷图中读取的值,检测框的置信度(0.94 等)是用于说明的示例值
  • 第 4~6 节的场景全部是合成数据。只有第 5 节的实验表和第 6 节的权重是实际训练(代码 2)的结果

教师指南

这是写给讲师、在职培训(OJT)负责人和辅导老师的教学指南。时间只是预估,请根据实际课堂调整。

对象初次接触视频 AI 的大学生和上班族;在公共安全、设施管理、门店运营中考虑引入 CCTV 分析的从业者
预备知识照片是数字矩阵(4-2)、坐标与距离计算(勾股定理)、准确率的含义
学习目标① 说明 CCTV 视频 → 目标检测 → 姿态估计 → 特征 → 判定的流程 ② 举例说明规则和学习各自会在哪些场景中出错 ③ 提出同时考虑误报与漏报、暂不判定和个人信息的运营方案
预计时间阅读 35~45 分钟 · 动画演示 20 分钟 · Colab 实践 25 分钟(代码 1 10 分钟,代码 2 运行 1 分钟 + 解读 14 分钟)

三种教学方案

讲授型 50 分钟

以概念为主

导入 5 分钟(第 1 节 举报)→ 第 2·3 节 从画面到火柴人 12 分钟 → 第 4 节 六个场景 8 分钟 → 第 5 节 规则阈值实验 10 分钟 → 第 6 节 监控室 10 分钟 → 练习题 5 分钟。

在职 OJT 90 分钟

以引入评估为主

第 1·3 节 15 分钟 → 用本单位现场的误报成本重新解读第 5 节实验表 20 分钟 → 第 6 节 讨论如何设定暂不判定区间 15 分钟 → 第 7 节 制作法律·偏见检查表 15 分钟 → 代码 2 运行与解读 25 分钟。

1 对 1 辅导

分层推进

入门者只看第 2·3 节、第 5 节上方的表和第 6 节。中级学习者先手动跟踪代码 1 的 features 函数,再增加一个新特征(例如:手与垃圾桶的最小距离),在代码 2 中比较成绩。

各节教学要点

节停下来提问操作提示
2 画面就是数字“600 万个数字中,人在哪里?”在“用数字看”中把格子大小从 64 → 16 调小试试
3 找到人“只留下火柴人,会失去什么、保住什么?”保持隐私模式开启,进入下一节
4 展开到时间上“挥手和扔出的曲线图哪里不同?”交替点击两个场景,比较黄线的高度
5 规则 vs 学习“阈值放在哪里,才能让六个场景全部判对?”把滑块拖到两端,确认“不存在”这样的阈值,然后转到实验表
6 监控室“得分突然上升的那一帧发生了什么?”播放“丢在脚下”,在罐子落地的瞬间暂停
7 局限“AI 发出警报了,就可以直接罚款吗?”把暂不判定和人工最终确认联系起来

常见误解 Top 5

误解正确解释要展示的场景
AI 像人一样“看”CCTV 画面它接收数字网格,逐步计算。“人”“垃圾桶”这些名字标签是由检测模型贴上的第 2 节“用数字看”
快速挥动手臂就是乱扔挥手也很快,而丢在脚下却很慢。结果(物体最后留在哪里)是更强的线索第 5 节 规则 1
准确率 99.7%,在现场也是 99.7%这是合成数据上的结果。在真实视频中,会因遮挡、黑暗、多人等原因而下降第 5 节下方说明 3
把坐标整个输入的深度学习总是更好数据少时,几个精心挑选的特征可能会胜出第 5 节实验表中 MLP 的两行
只保存火柴人就没有个人信息问题这只是降低风险,并没有消除风险。人也可能通过步态被认出来,安装与保存方面的规定仍须遵守第 3 节 隐私模式、第 7 节

练习题(点击展开解析)

Q1. 一帧全高清(1920 × 1080)彩色 CCTV 画面有多少个数字?与 13 个关节点的火柴人相比,是它的多少倍?

1920 × 1080 × 3 = 6,220,800 个。火柴人是 13 × 2 = 26 个,所以 6,220,800 ÷ 26 ≈ 239,262,火柴人约为画面的 24 万分之一。

Q2. 右手腕在一帧(1/15 秒)内从 (−0.20, 0.80) 移动到 (−0.32, 0.88)。手腕速度是多少身高/秒?

距离 = √(0.12² + 0.08²) ≈ 0.144。用时 1/15 秒,所以 0.144 × 15 ≈ 2.16 身高/秒,超过了规则 1 的阈值 2.0。

Q3. 请各举一个规则 2(手腕速度 > 2.0 且松开物体)会漏掉的乱扔场景,以及会误抓的正常场景。

漏报:丢在脚下(手腕很慢)。误报:用力扔出但扔进了桶里(又快又松手,但不是乱扔)。

Q4. 逻辑回归的权重中,手腕速度的权重是 −0.33。这是否意味着“越快越不是乱扔”?

不是。这是在其他特征(尤其是桶外距离)一同输入时它所分担的部分。桶外距离已经几乎解释了乱扔,所以速度只剩下一个作用:把像挥手那样快速但正常的场景稍微往下压。不能把单个权重拿出来单独解读。

Q5. 如果监控室的得分是 0.52,系统应该怎么做?这与只设 0.5 一个阈值有什么不同?

落在暂不判定区间(0.4~0.6),所以不自动判定,而是把视频交给监控人员。如果只设一个阈值,0.52 会立刻成为乱扔警报,模糊场景的误报就会原封不动地落到人身上。

Colab 作业

基础

在代码 1 中加入第五个特征“松开罐子那一刻手与垃圾桶的水平距离”。把六个场景中的这个值做成表格,并用两句话说明它是否有助于区分“扔进垃圾桶”和“丢在脚下”。

挑战

把代码 2 的 make_dataset 中的训练场景数改为 100 → 25 → 400,比较逻辑回归和“关节+物体+MLP”的测试准确率。用图表报告两种方法的差距如何随数据量变化。

难度调整与延伸学习

入门者第 4 节的曲线图和第 5 节的实验表,只要读懂“在哪个场景出错”就足够了
进阶让学习者用 MediaPipe 从自己拍摄的短视频(经同意的表演)中提取关节坐标,输入代码 1 的 features 试试
下一篇5-2 从识别到生成 —— 在同一张特征表上把箭头方向反过来,生成动作

任务 5-1 完成!

你已经读完了「5-1 CCTV 乱扔垃圾」篇。研究室成员们各用一句话为你总结。

身穿黑色连帽衫、头戴帽子的乱扔者火柴人的六种姿势。拿着罐子和垃圾袋,扔出后逃走
博士
博士抓乱扔者的路,我们走到终点了。
  • 画面是 600 万个数字,火柴人是 26 个
  • 手臂快不是乱扔的证据
  • 最强的线索是“罐子最后留在哪里”
助手
助手拿不准就让人再看一遍!暂不判定,我记住了。
果蝇研究员
果蝇研究员下一篇反过来啦。会识别的 AI 要开始生成动作了!