小米SU7智能举报不用等,我用智谱的GLM-4-Plus搞定了!

文摘   2024-10-10 18:04   湖北  

你好呀,我是小智!这次国庆假期,你堵车了吗?

国庆大拥堵,是每个中国人都深有体会的“节日特色”。在这个时候,应急车道成了一些司机的“捷径”,特别是一些不守规矩的司机违规占用应急车道,导致本就拥堵的交通状况更加恶化。

在小米汽车推出时,有网友杜撰了一键AI智能举报违章功能的设想。虽然这个功能尚未在小米汽车上实现,但我们可以借助现有的AI技术,自己动手实现这样一个功能。本文将带你一步一步拆解这个功能的技术实现,并基于智谱大模型开放平台 bigmodel.cn实战,实现一键AI智能举报违章。

一键智能举报违章功能技术拆解与实战

语音实时对讲与唤醒视频记录

在汽车行驶过程中,驾驶员需要集中注意力驾驶,因此,一个能够通过语音指令启动的视频记录功能就显得尤为重要。这不仅能够记录下违章行为,还能在不干扰驾驶员的情况下,实现“一键举报”。

为了让大家有个直观的感受,我用智谱清言的视频通话功能做了下测试,视频如下:

违章行为发生的时间区间短,并且驾驶员发出指令时,往往违章行为已然发生。这就需要系统不仅能实时响应指令,并且对视频内容具备短期的记忆与理解能力,通过组合现有技术几乎是无法实现的。

目前国内做多模态大模型的厂家不少,但能够通过API的方式支持实时视频通话的,目前智谱是独一家!调研了解到GLM-4-Plus-VideoCall API不仅能够提供实时的视频通话功能,还能通过视频流理解对话当前的环境,确实是目前实现本需求的最优解。

以下为伪代码功能实现

# 定义违章检测函数
def detect_traffic_violations(voice_command):
    # 获取当前时间戳
    current_time = time_stamp_module.get_current_time()
    
    # 根据语音指令,确定需要回溯的时间范围
    time_range = time_stamp_module.calculate_time_range(voice_command)
    
    # 使用视频分析模块检测违章行为
    violations = video_call_api.analyze(video_record)
    
    # 如果检测到违章行为
    if violations:
        # 获取违章类型和起始时间节点
        violation_type, start_time = violations[0]['type'], violations[0]['start_time']
        
        # 截取违章行为发生的视频片段
        video_clip = video_call_api.get_video_clip(start_time, current_time)
        
        # 输出违章类型和视频片段
        return violation_type, video_clip
    else:
        return "No violations detected."

基于实时视频识别车辆违章情况

接下来,在上一阶段记录并提取到违章视频片段的基础上,我们需要一个能够实时识别车辆违章行为,并识别车牌号的系统。通常来说,我们可以使用计算机视觉技术,通过训练一个模型来识别常见的违章行为,例如占用应急车道、闯红灯等。

目前成熟的多模态大模型已经能较好理解和处理视频的内容,这里我们可以直接调用GLM-4V-Plus的api来实现我们的需求。

占用应急车道
闯红灯

实现代码如下

from zhipuai import ZhipuAI

client = ZhipuAI(api_key="YOUR API KEY"# 填写您自己的APIKey
response = client.chat.completions.create(
    model="glm-4v-plus",  # 填写需要调用的模型名称
    messages=[
      {
        "role""user",
        "content": [
          {
            "type""video_url",
            "video_url": {
                "url" : "https://****/video/**.mp4"
            }
          },
          {
            "type""text",
            "text""这是一个车辆违章记录的视频,请识别车辆的违章类别,以及违章车辆的车牌号"
          }
        ]
      }
    ]
)
print(response.choices[0].message)

自动调用违章上报接口上报违章情况

我们已经成功提取到车辆违章的所有相关信息,最后一步是将违章信息和关键帧通过API接口上报给相关部门。这一步骤需要与交通管理部门的系统对接,确保信息能够准确无误地传达。

为了实现这一功能,我们需要将模型的文字输出转换为具体的API请求,并将其发送到交通管理部门的API。针对这一需求,大模型已经提供了非常成熟的解决方案:Fucntion Calling。GLM-4-Plus提供了函数调用能力,我们可以利用这一能力构建一个违章上报Agent,实现违章信息的自动上报。

代码如下

from zhipuai import ZhipuAI
client = ZhipuAI(api_key="")
messages = []
tools = [{"type":"function","function":{"name":"traffic_violation","description":"举报交通违章","parameters":{"type":"object","properties":{"type":{"description":"违章类别","type":"string"},"vehicle":{"description":"车牌号","type":"string"}},"required":["type","vehicle"]}}}]
messages = []
messages.append({"role":"user","content":"违章类别:占用应急车道.\n违章车辆的车牌号:** **888"})
response = client.chat.completions.create(
    model="glm-4-plus",  # 填写需要调用的模型名称
    messages=messages,
    tools=tools,
)
print(response.choices[0].message)
messages.append(response.choices[0].message.model_dump())

实战总结

通过大模型提供的视频通话视频理解函数解析等多个方面的能力。我们主要实现了以下五个方面的功能需求:

  • 1.语音实时对讲与唤醒视频记录
  • 2.基于实时视频识别车辆违章情况
  • 3.识别违章车辆车牌
  • 4.自动从视频中截取违章情况关键帧
  • 5.自动调用违章上报接口上报违章情况 结合车辆行驶的现实情况,通过GLM-4-Plus-VideoCall提供的实时视频通话能力,将以上所有能力集成,并最终实现了一键AI智能举报违章的能力。

当然只有代码,还无法达成我们的目标,搭载以上能力的智能摄像头硬件已经列入我的下一步的规划,到时候我会将方案整体开源,大家尽情期待!

结语

随着大模型与现实世界的交互能力的进一步增强,其应用场景将拓展到我们生活的方方面面,唯一缺乏的是我们自己的想象力! 通过今天的探索,我们不仅实现了一个一键AI智能举报违章的功能,更重要的是,我们看到了AI技术在社会治理中的潜力。未来,让我们继续发挥想象力,用技术为社会带来更多的便利和安全。

今天的内容就到这里,如果老铁觉得还行,可以来一波三连,感谢!

AI小智
AI认知架构师,让我们一起用AI改变世界!
 最新文章