VLA 场景指南
简介
VLA(Vision-Language-Action)场景是一类特殊场景。在该类场景中,用户需要根据相机画面中的交通指示牌等视觉内容,识别文字指令,并向场景输出识别到的完整指令文本以及从中解析出的语义片段。
如何辨别 VLA 场景
通过
metacar.SceneAPI.get_scene_static_data()获取到的SceneStaticData中,vla_extension不为None即可判断为 VLA 场景。与普通场景的主要差异如下:
需要提交什么
在每个子场景中,用户需要提交一次 metacar.VLAExtensionOutput,其结构如下:
ocr_text: 识别到的整句 OCR 指令文本(例如“100秒内去到B栋一单元门口”)。time_phrase: 从指令中抽取的时间相关片段(例如“100秒内”)。location_phrase: 从指令中抽取的地点相关片段(例如“B栋一单元门口”)。action_phrase: 从指令中抽取的动作相关片段(例如“去到”)。
如何提交
使用 metacar.SceneAPI.set_vehicle_control() 发送车辆控制命令时,可将 metacar.VLAExtensionOutput 通过参数 vla_extension 传入:
from metacar import SceneAPI, VehicleControl, VLAExtensionOutput, VLATextOutput
api = SceneAPI()
api.connect()
for sim_car_msg, frames in api.main_loop():
vc = VehicleControl(throttle=0.3)
vla_payload = VLAExtensionOutput(
text_info=VLATextOutput(
ocr_text="100秒内去到B栋一单元门口",
time_phrase="100秒内",
location_phrase="B栋一单元门口",
action_phrase="去到",
)
)
api.set_vehicle_control(vc, vla_extension=vla_payload)
说明:每个子场景仅需要提交一次 vla_extension,同一子场景如多次提交,以最后一次提交为准。
相关模型
VLA 相关数据模型定义见: