想象你是电影导演,要拍一部戏,但条件有限——不能每次都拉剧组到实景地拍摄,那样又贵又危险。于是你改用一座“虚拟剧场”:先写一份剧本,上面清楚写着“红车停在道路右侧,行人站在斑马线旁”;再请布景师、灯光师、演员进场,按剧本在舞台上搭出无数场景。想要雨天夜景,就搭一个雨天夜景;想要雪天停车场,就再来一个。更妙的是,剧场里的场记员能自动记录每场戏谁站在哪、穿什么衣服——连标注都省了人力。 这就是“AI生成完整场景”的秘密:让AI像导演一样,用一份结构化“剧本”(场景图)指挥生成器,为自动驾驶、机器人视觉和安防监控批量制造带着精确标注的合成训练数据。本文就用“导演排戏”这个比喻,带你从零看懂这套“场景生成术”。

岗位关联

掌握场景生成,你就能以极低成本为算法团队定制无限带标注的训练数据,解决真实数据采集难、长尾场景覆盖不足的痛点,是数据管线工程师的核心竞争力之一。

目录
  1. 可视化演示
  2. 场景图驱动生成——导演的剧本
  3. 布局与遮挡建模——舞台走位与站位
  4. 室内外差异化生成——两种剧场
  5. 标注自动化——场记员不再上场
  6. 真实度评估——观众席上的掌声
  7. 行业应用图谱——自动驾驶的试炼场
  8. 挑战与前瞻——导演的烦恼
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

通过场景图驱动的可控生成流程,理解AI如何从结构化描述自动生成包含多物体布局和遮挡关系的完整场景图像。

本节配有交互动效(进入视口后自动加载,约 3KB)。

场景图驱动生成 节点代表场景中的物体实体 边代表物体间的空间关系 G = (V, E), v∈Objects, e∈Relations 场景图作为条件引导生成模型输出

场景图驱动生成——导演的剧本

排戏第一步是看剧本。剧本上不会写“随便站”,而是写明“红车停在道路右侧,行人站在斑马线旁”。AI要生成完整场景,同样先要一份“剧本”——场景图(Scene Graph)。它用一张带箭头的图谱,把场景里的每个物体(演员)和它们之间的空间关系(对手戏)写清楚。

场景图的结构很直观:节点表示物体,箭头表示关系。例如“车在道路上”“树在房子左边”。有了这张图,AI生成器就明白了“这出戏有哪些演员、谁和谁要有互动”,而不是靠猜。相比随机拼贴,场景图驱动的生成让算法工程师能精确指定要哪种场景:把关系里“在左边”改成“在右边”,画面就会相应改变。

实现上通常分两步:先由编码器把场景图编码成一组隐向量,再由生成器按隐向量逐个合成物体与整体画面。生成器还会结合类别嵌入(物体类型)和边界框回归(位置),让每个“演员”在正确的位置以正确的尺寸登场。这样合成出的数据天然带着结构化控制,训练自动驾驶模型时,你可以专门生成“路口出现行人”的高危剧本。

有了剧本,导演可以一遍遍排不同版本——换一个“谓词”,车就换了位置;加一个“节点”,路边多一棵树。场景数据就这样成倍扩张,而且每一版都“按剧本来”,这就是场景图驱动的魔力。

G=(O,R)G = (O, R)
场景图 \(G\) 由物体集合 \(O\) 和关系集合 \(R\) 组成,是 AI 导演的“剧本大纲”。
  1. 物体集合 \(O\)先列出台上所有演员,比如车、人、树、道路。
    O={o1,o2,…,on}O = \{o_1, o_2, \ldots, o_n\}
  2. 关系集合 \(R\)再写下演员之间的对手戏,形式是“主体—谓词—客体”。
    R={(oi,rk,oj)}R = \{(o_i, r_k, o_j)\}

布局与遮挡建模——舞台走位与站位

剧本定完,导演最头疼的是走位。谁站在舞台左侧、谁在右侧、谁挡在谁前面,都会影响观众(模型)看到的信息。AI生成场景时,每个物体先用一个“站位框”——边界框(Bounding Box)标注占地范围,框在哪里,舞台上就摆在哪里。

一张图里常有几十个物体,它们会互相遮挡:汽车开过时挡住行人,大树垂下挡住房子一角。生成器必须先排好所有物体的包围盒,再判断遮挡关系。如果两框大面积重叠又分不清前后,画面就会“穿模”——演员站进别人身体里。

衡量两框重叠程度常用交并比(IoU),即两框交集面积占并集面积的比例。生成时设定重叠阈值:比值低于阈值(如 0.15)视为互不干扰;高于阈值则必须确定谁在前景谁在背景。渲染时按深度远近从远到近依次绘制,远处的车先画、近处的车后画,自然就形成了遮挡。

走位排好,画面立刻有了层次感:近处的车压住远处的线,行人在车前一闪而过。模型在训练时看到的正是真实世界常见的遮挡,以后上路才不会把“被挡一半的行人”当成怪物。

IoU=∣A∩B∣∣A∪B∣\text{IoU} = \frac{|A \cap B|}{|A \cup B|}
IoU 越高,说明两个演员站得越挤;生成器用阈值控制这段“拥挤”是否合理。
  1. 交集面积 \(|A \cap B|\)两个包围盒彼此重叠的区域,相当于两人踩到同一块瓷砖。
    ∣A∩B∣|A \cap B|
  2. 并集面积 \(|A \cup B|\)两个包围盒覆盖的总区域,相当于两人活动范围的并集。
    ∣A∪B∣|A \cup B|

室内外差异化生成——两种剧场

同一个导演,排室内戏和室外戏用的道具完全不同。室内有四面墙和天花板,家具都贴着墙根站;室外一望无际,所有东西受重力约束落在地面。AI生成场景也得懂这两种“剧场”的潜规则。

室内场景有极强的结构先验:地板、墙面、天花构成盒型空间,床、沙发、桌子的朝向常与墙平行。室外场景则受道路走向、地平线、重力的限制,汽车沿着路面,人站在地面上。用同一套生成策略硬画,就会出现“沙发悬浮”“汽车爬墙”的怪异画面。

室内外最大的视觉差异来自光照。室内常用点光源或头顶灯,光线向四周扩散、阴影偏软;室外以太阳为主,近似平行光,阴影方向一致且硬朗。生成模型常用简化的光照公式合成像素颜色:环境光兜底、漫反射决定明暗、镜面反射负责高光。室内外分别调节光源方向与强度,视觉真实感立刻拉开差距。

于是 AI 像老练的导演一样“换剧场不换心法”:进了室内自动调亮头顶灯、让家具贴墙;到了户外拉起大太阳、让影子齐刷刷躺地上。室内外数据都能信手拈来。

I=A+D(N⋅L)+SI = A + D(\mathbf{N} \cdot \mathbf{L}) + S
物体最终的颜色 \(I\) = 环境光 \(A\) + 漫反射 \(D(\mathbf{N}\cdot\mathbf{L})\) + 高光 \(S\);室内暗且散,室外亮且直。
  1. 环境光 \(A\)场景中无处不在的底光,保证背光面不会全黑。
    AA
  2. 漫反射 \(D(\mathbf{N}\cdot\mathbf{L})\)法线 \(\mathbf{N}\) 与光源方向 \(\mathbf{L}\) 越接近,表面越亮,决定物体的明暗立体感。
    D(N⋅L)D(\mathbf{N} \cdot \mathbf{L})
  3. 镜面高光 \(S\)光滑表面的亮斑,室内弱、室外强,是“真不真”的关键细节。
    SS

标注自动化——场记员不再上场

传统拍戏,场记要拿秒表记下每一镜的站位台词,手忙脚乱还容易错。AI担任导演的好处是:它自己就是完整的场记本——每一个物体放在哪里、是什么类别,生成瞬间就“刻”在内存里,标注根本不需要人工再点。

生成场景时,模型知道所有物体的 3D 世界坐标、类别和渲染深度。借助相机投影公式,它能把 3D 坐标精确映射到 2D 像素,随手导出像素级分割图、边界框、深度图,甚至一句“一辆红车停在路口”的文本描述。这些标签和图像像素完全对齐,比人工标注更细、更快。

自动标注的数学核心是相机投影。世界坐标系中的点 \((X,Y,Z)\),通过相机内参 \(K\)(焦距、光心)和外参 \([R|t]\)(位置、朝向),变换到图像平面 \((u,v)\)。因为深度 \(Z\) 已知,还能进一步输出每个像素到相机的距离,形成深度图——这在自动驾驶测距任务中尤为珍贵。

场记员被自动标注取代后,数据生产效率直接起飞:人工标注一张要 5 分钟,合成管线一秒钟能出几百张且零差错。算法团队省下的时间,足够多训练十轮模型。

[u,v,1]⊤=K[R∣t][X,Y,Z,1]⊤[u, v, 1]^\top = K [R \mid t] [X, Y, Z, 1]^\top
括号里的三维点,经过相机内外参“翻译”,落在图像坐标 \((u,v)\) 上,标签随之而来。
  1. 世界坐标 \([X,Y,Z,1]\)物体在三维舞台上的真实位置,末尾的 1 是齐次坐标的辅助位。
    [X,Y,Z,1]⊤[X, Y, Z, 1]^\top
  2. 内外参矩阵 \(K[R \mid t]\)内参 \(K\) 描述镜头本身(焦距/光心),外参 \([R \mid t]\) 描述相机的位置朝向,两者相乘完成"3D→2D"。
    K[R∣t]K [R \mid t]

真实度评估——观众席上的掌声

戏排完了,导演最怕冷场。合成场景到底像不像真照片?AI 请来一批“观众”——数值指标打分。其中最常用的叫 FID(Fréchet Inception Distance),它把生成图和真实图分别送进预训练网络提取“气质特征”,然后比较两组特征分布的差异,分数越低说明生成图越“有真图的味儿”。

FID 是全局指标,它擅长判断“整体风格像不像”,却管不了局部逻辑。这时候要再请两位评委:语义一致性——把生成图喂给目标检测器,看“车是不是被认成车”;布局合理性——检查物体是否坐落在合理区域(车在路上、人在路上)。三者结合,评估才全面。

FID 的数学本质是衡量两个高斯分布的距离:真实特征分布的均值 \(\mu_r\) 和协方差 \(\Sigma_r\),与生成特征分布的 \(\mu_g\)、\(\Sigma_g\) 之间的差异。公式第一项是均值差,第二项是协方差差异。训练中每次迭代计算 FID,就能画出“生成质量曲线”,跌不下去就说明该换模型结构了。

评估一关,导演才敢把“戏”投放到训练集里。有了观众反馈,场景生成不再是自说自话,而是被逼着向“真”看齐——这就是数据质量的大门。

FID=∥μg−μr∥2+Tr⁡(Σg+Σr−2(ΣgΣr)1/2)\text{FID} = \|\mu_g - \mu_r\|^2 + \operatorname{Tr}\left(\Sigma_g + \Sigma_r - 2\left(\Sigma_g \Sigma_r\right)^{1/2}\right)
FID 低等于掌声热烈:生成图的“整体气质”和真实图越来越像。
  1. 均值差 \(\|\mu_g - \mu_r\|^2\)两组特征“平均长相”的差距,相当于观众的第一印象分。
    ∥μg−μr∥2\|\mu_g - \mu_r\|^2
  2. 协方差差 \(\operatorname{Tr}(\cdots)\)两组特征内部丰富度的差异,体现细节丰富程度。
    Tr⁡(Σg+Σr−2(ΣgΣr)1/2)\operatorname{Tr}\left(\Sigma_g + \Sigma_r - 2\left(\Sigma_g \Sigma_r\right)^{1/2}\right)

行业应用图谱——自动驾驶的试炼场

导演排戏的目的最终是正式演出。场景生成最大的“剧场”是自动驾驶——把车开进虚拟街道,雨夜、雪地、拥堵路口随便排,成本只有真实路测的零头,还不怕撞车。

自动驾驶算法需要海量带标注的场景数据,真实采集要租车、雇司机、跑几十万公里,极端场景(前车急刹、行人鬼探头)可遇不可求。合成场景让算法在“高危剧本”里反复演练:今天生成 10 万个雨夜十字路口,明天生成 5 万个拥堵匝道,见得多才不慌。

同样的剧本也适用于机器人视觉(抓取前模拟桌面堆叠场景)和安防监控(模拟人群聚集、遮挡、光线杂乱)。数据管线通常是闭环:场景图→场景生成→自动标注→模型训练→真实场景测试,覆盖不足再回来生成补位。用覆盖度 \(C\) 衡量合成数据的缺口:

把合成场景当成练兵场,真实数据当成验收场,两班倒互补,算法团队就能用更小的成本,换来更全的场景覆盖——这才是“场景生成术”的产业价值。

C=∣Dgen∩Dtarget∣∣Dtarget∣C = \frac{|D_{\text{gen}} \cap D_{\text{target}}|}{|D_{\text{target}}|}
覆盖度 \(C\) 表示合成数据覆盖目标场景类型的比例,接近 1 说明剧本清单基本齐全。
  1. 交集规模 \(|D_{\text{gen}} \cap D_{\text{target}}|\)合成数据中命中的目标场景类型数量。
    ∣Dgen∩Dtarget∣|D_{\text{gen}} \cap D_{\text{target}}|
  2. 目标总量 \(|D_{\text{target}}|\)业务上期望覆盖的全部场景类型。
    ∣Dtarget∣|D_{\text{target}}|

挑战与前瞻——导演的烦恼

再强的导演也有瓶颈。场景生成最怕“戏路窄”:模型记住了训练里的套路,换个新场景就不会排。更要命的是“长尾分布”——交通事故、罕见天气这些极端场景,真实世界里出现概率极低,合成也不容易“编”得好。

摆在面前的三大难题:一是多样性不足,同类场景生成出来总像“同一班演员换了件衣服”;二是长尾场景数据稀疏,模型学不够;三是“域差距”——合成图的纹理、光照和真实相机照片之间总有隔阂,模型在合成数据上学得风生水起,一到真实摄像头就“水土不服”。

未来方向也清晰:多模态融合——用文本、深度图、语义图同时控制生成;生成模型与仿真引擎结合,实时产出“意外剧本”;域自适应技术做桥梁,把合成训练好的模型平滑迁移到真实数据。衡量合成与真实差距的域距离:

导演的烦恼永远是下一出戏怎么排。场景生成的下一个高光时刻,一定属于那些敢于把更多模态、更多剧本塞进管线的人。到那时,“AI导演”能排的戏,就没有边界了。

d(S,T)=∥ES[ϕ(x)]−ET[ϕ(y)]∥d(S, T) = \|\mathbb{E}_S[\phi(x)] - \mathbb{E}_T[\phi(y)]\|
域差距等于合成数据和真实数据在特征空间“中心”的距离,距离越小迁移越顺。
  1. 特征映射 \(\phi(x)\)把图像转成高层语义特征,抹掉像素级噪声。
    ϕ(x)\phi(x)
  2. 均值差 \(\|\mathbb{E}_S - \mathbb{E}_T\|\)两组特征中心的距离,代表两个数据域的“代沟”。
    ∥ES[ϕ(x)]−ET[ϕ(y)]∥\|\mathbb{E}_S[\phi(x)] - \mathbb{E}_T[\phi(y)]\|

AI 应用场景

自动驾驶夜间长尾场景合成

阶段:数据准备 / 数据增强

解决的问题:真实夜间加雨天加逆行电动车的场景极难采集,人工标注成本高、安全隐患大。AI 按场景图生成这类高危场景,自动标注后灌入感知模型,把长尾覆盖提升数倍。

具体案例:某自动驾驶团队要训练“城市夜间逆行电动车”检测模型,真实路采三个月只遇到 20 例。改用场景生成术,输入一张场景图(车、路、电动车、路灯加遮挡关系),一夜生成 2000 张光线各异的变体,标注自动完成,模型误检率下降 40%。

机器人抓取场景合成

阶段:仿真训练 / 策略学习

解决的问题:机器人抓取训练需要大量“桌面堆叠物体”图像,真实摆放费力且难以复现。场景生成自动排布多物体布局和遮挡,输出分割图与深度图,让抓取策略在仿真中先学会“从乱局里找目标”。

具体案例:物流分拣机器人团队用场景生成术模拟箱子里交错堆叠的快递盒,每个随机布局配深度图,训练后的抓取成功率从 72% 提升到 91%。

安防监控异常事件演练

阶段:模型评估 / 鲁棒性测试

解决的问题:安防摄像头画面存在人群遮挡、逆光、视角畸变,真实异常事件数据敏感且稀罕。场景生成可控合成“人群聚集到踩踏风险”全流程画面,用于压力测试监控模型。

具体案例:某安防公司构建“节假日地铁站”合成场景库,自动生成 1 万张含不同程度遮挡与光污染的画面,评估模型在遮挡率 70% 时仍能保持 85% 的人群密度估计精度。

Python 演示

python66 行
"""AI场景生成术: 场景图驱动的布局与自动标注演示."""import random  class SceneDirector:    """舞台导演: 安排物体布局, 输出自动标注."""     def __init__(self, width=640, height=480):        # 属性与后续方法不同名, 避免遮蔽        self.width = width        self.height = height        self._objects = []        self._boxes = []     def add_object(self, name, category):        """加一个演员(物体)入戏."""        self._objects.append({"name": name, "category": category})     def _iou(self, a, b):        """计算两个包围盒的交并比."""        x1 = max(a[0], b[0])        y1 = max(a[1], b[1])        x2 = min(a[2], b[2])        y2 = min(a[3], b[3])        inter = max(0, x2 - x1) * max(0, y2 - y1)        area_a = (a[2] - a[0]) * (a[3] - a[1])        area_b = (b[2] - b[0]) * (b[3] - b[1])        union = area_a + area_b - inter        return inter / union if union > 0 else 0.0     def plan_layout(self, max_trials=200):        """按场景图排走位: 随机但避免大面积重叠."""        self._boxes = []        for obj in self._objects:            for _ in range(max_trials):                w = random.randint(40, 90)                h = random.randint(30, 70)                x = random.randint(0, self.width - w)                y = random.randint(0, self.height - h)                box = (x, y, x + w, y + h)                overlap = max(self._iou(box, b) for b in self._boxes) if self._boxes else 0.0                if overlap < 0.15:                    break            self._boxes.append(box)        return self._boxes     def annotate(self):        """场记员: 输出 YOLO 格式的归一化标注."""        lines = []        for obj, box in zip(self._objects, self._boxes):            x1, y1, x2, y2 = box            cx = (x1 + x2) / 2 / self.width            cy = (y1 + y2) / 2 / self.height            bw = (x2 - x1) / self.width            bh = (y2 - y1) / self.height            lines.append(f"{obj['category']} {cx:.3f} {cy:.3f} {bw:.3f} {bh:.3f}")        return "\n".join(lines)  if __name__ == "__main__":    director = SceneDirector(640, 480)    director.add_object("car_A", "car")    director.add_object("car_B", "car")    director.add_object("person", "pedestrian")    director.plan_layout()    print(director.annotate())
目的:模拟“场景图驱动生成”中最核心的一环——多物体布局规划与自动标注输出,对应正文中的布局遮挡建模与标注自动化。
  1. self._objects = []先建立演员名单,每个物体记录名字和类别。
  2. def add_object(self, name, category):导演把新演员加入这场戏。
  3. def _iou(self, a, b):检查两个包围盒的重叠占比,即“站位有多挤”。
  4. overlap < 0.15只要重叠低于 15% 就接受这个位置,防止物体大面积“穿模”。
  5. cx = (x1 + x2) / 2 / self.width将框中心横坐标归一化到 0 到 1,供模型直接使用。
  6. director.plan_layout()导演统一排走位,返回所有物体的布局。
  7. print(director.annotate())场记员输出 YOLO 格式标注,一行一个物体。

常见误区

误区我一直以为场景生成就是把一堆物体图片随机贴到背景上,像做拼贴画一样,贴出来的图就能当训练数据。

正解随机拼贴缺少场景图的逻辑约束,物体关系(车在道路上、人站在地上)会被破坏,模型会学到错误的空间先验。真正的场景生成是“排戏”:先由场景图写清谁和谁互动,再按布局和遮挡规则落位,画面才合理。

为何常见:因为看到生成结果像是“拼图”,就忽略了背后场景图对物体关系的控制力。

误区既然 AI 生成场景,那标签一定自动就有了,直接用就行,不需要关心标注的格式或精度。

正解合成数据能自动产出标注,但必须按目标任务导出为检测框、分割图或深度图等格式。边界框坐标需经过相机投影与像素对齐,如果投影矩阵用错,模型学到的就是错误标签,效果反而不如人工标注。

为何常见:混淆了“自动标注”与“无需标注”,忽略了投影计算和格式转换的必要步骤。

误区只要 FID 降到足够低,就说明生成场景完美无缺,可以放心投入训练。

正解FID 衡量的是分布整体相似度,可能出现“整体像但局部乱”的情况,比如车长在墙上、人浮在空中。必须配合语义一致性(用检测器验证物体类别)和布局合理性检查,才能全面评估生成质量。

为何常见:FID 是论文中最常见的公开指标,大家习惯性把它当成唯一的质量标准。

误区室内和室外都是场景,一个生成器应该通吃,没必要分别处理。

正解室内场景有墙地顶的盒型结构先验,家具多贴墙;室外受重力和道路走向约束,物体沿路分布。统一模型容易生成“沙发悬浮”或“汽车爬墙”的物理异常,需要针对室内外的布局先验与光照模型做差异化策略。

为何常见:迁移学习和通用大模型流行,让人误以为一套模型就能适配所有分布。

误区有了场景生成术,真实数据采集就没必要了,全用合成数据训练就好。

正解合成与真实之间存在域差距,纹理、光照和传感器噪声仍不完全一致。业界通常把合成数据用于预训练和数据增强,真实数据仍用于微调和最终验证,两者互补才是稳定可靠的数据策略。

为何常见:厂商宣传常强调合成数据的低成本与规模,容易让人忽略域差距和实际落地风险。

面试题

Q1. 场景图 G=(O,R) 中,R 代表什么?

单选题 · easy

  • A.物体渲染参数集合
  • B.物体关系三元组集合← 正确答案
  • C.物体颜色纹理集合
  • D.物体表面法线集合

答案:B。场景图由物体集合 O 和关系集合 R 组成,R 中的每个元素是“主体—谓词—客体”三元组,描述物体间的空间或语义关系,相当于剧本里的对手戏。

Q2. IoU 值等于 1 时说明什么?

单选题 · easy

  • A.两个包围盒完全重合← 正确答案
  • B.两个包围盒互不相交
  • C.两个包围盒面积相等
  • D.两个包围盒都为空

答案:A。IoU 是交集面积除以并集面积。两个包围盒完全重合时,交集等于并集,比值是 1;互不相交时 IoU 为 0。它用于控制物体遮挡和碰撞。

Q3. 合成数据自动标注的核心运算是哪一项?

单选题 · mid

  • A.相机投影内外参映射← 正确答案
  • B.图像色彩空间转换
  • C.卷积特征池化降维
  • D.梯度反向传播更新

答案:A。自动标注依赖相机投影公式 [u,v,1]ᵀ=K[R|t][X,Y,Z,1]ᵀ,把 3D 世界坐标映射到 2D 像素。色彩转换、池化、梯度更新都不负责三维到二维的几何映射。

Q4. FID 指标取值越小通常代表什么?

单选题 · mid

  • A.生成图像素尺寸更小
  • B.生成场景整体更像真实← 正确答案
  • C.生成图像亮度更低
  • D.生成批次数量更少

答案:B。FID 衡量生成分布与真实分布的距离,数值越小说明两组图像在特征空间越接近,即整体气质更像真图,与像素大小、亮度、批次数量无关。

Q5. 室内场景生成比室外更依赖哪种先验?

单选题 · mid

  • A.道路走向和重力约束
  • B.墙地顶的盒型布局先验← 正确答案
  • C.太阳方位和影子长度
  • D.云层密度和天气概率

答案:B。室内场景由地板、墙、天花构成盒型空间,家具常贴墙排布,因此更需要盒型布局先验。道路走向、太阳方位、云层密度属于室外场景的约束。

Q6. 遮挡建模常用的约束手段有哪些?

多选题 · hard

  • A.包围盒交并比阈值控制← 正确答案
  • B.按深度远近排序绘制← 正确答案
  • C.利用键盘鼠标控制视角
  • D.碰撞约束防止物体穿模← 正确答案

答案:ABD。IoU 阈值控制重叠是否合理,深度排序决定谁遮挡谁,碰撞约束避免物体穿模。键盘鼠标控制视角是人工交互操作,不属于建模约束。

Q7. 下列哪项最适合作为自动驾驶训练数据?

单选题 · easy

  • A.纯真实路采视频数据
  • B.场景图生成加自动标注← 正确答案
  • C.网上随机下载的图片集
  • D.人工手绘的黑白草图

答案:B。场景图生成能批量产出带精确标注的高危场景,覆盖真实路采难以遇到的长尾情况。纯路采成本高、极端场景稀缺,随机图片无标注,草图不真实。

Q8. 自动标注的边界框中心坐标通常如何表示?

单选题 · mid

  • A.相对图像宽高的归一化数值← 正确答案
  • B.相对纸张大小的英寸数值
  • C.相对内存地址的整型偏移
  • D.相对语音时长的秒级数值

答案:A。检测模型的边界框中心坐标通常归一化到 0 到 1,即中心像素坐标除以图像宽高,这样不同分辨率下标注通用,与纸张、内存、语音无关。

Q9. 提升合成场景真实度评估可信度的组合方案有哪些?

多选题 · hard

  • A.计算 FID 衡量分布距离← 正确答案
  • B.用检测模型检查语义一致性← 正确答案
  • C.检查物体布局是否合理← 正确答案
  • D.只凭肉眼观察忽略指标

答案:ABC。FID 看整体分布,语义一致性验证“车被认成车”,布局合理性检查“车在路上”。肉眼观察主观且不可复现,不能作为唯一标准。

Q10. 合成数据管线的典型局限有哪些?

多选题 · extreme

  • A.合成与真实存在域差距← 正确答案
  • B.长尾极端场景生成困难← 正确答案
  • C.无限数据可零成本获取
  • D.场景生成需要算力投入← 正确答案

答案:ABD。合成数据仍与真实相机存在纹理光照鸿沟,长尾极端场景也难以凭空生成,且大规模生成需要 GPU 算力。无限数据零成本是夸大宣传,不现实。