Mobile-Agent 研习共创 Task1

概述

Mobile-Agent-v2 是阿里巴巴与北京交通大学合作提出的一个多代理协作系统,旨在通过多智能体系统实现移动设备操作的有效导航。该框架基于 OCR(光学字符识别)、开放目标检测技术和多模态模型,执行用户指令,尤其是针对移动导航任务。

关键组件

屏幕截图与初始信息获取

系统首先获取当前移动设备的屏幕截图,这是后续操作的关键步骤。通过 get_perception_infos 函数完成屏幕截图、OCR 处理,并提取屏幕上的文字和图标等信息。

def get_perception_infos(adb_path, screenshot_file):
    # 获取屏幕截图
    get_screenshot(adb_path)
    width, height = Image.open(screenshot_file).size
    text, coordinates = ocr(screenshot_file, ocr_detection, ocr_recognition)
    # 进一步处理数据并合并
    return perception_infos, width, height
  • OCR 检测与识别:使用 OCR 检测和识别屏幕上的文字区域。
  • 图标检测:使用 GroundingDINO 检测图标,并通过多模态模型描述其外观和功能。

决策过程

当获取到感知信息后,系统会根据用户指令进行决策。决策过程包括理解当前屏幕状态、可点击元素、键盘激活情况等。

决策流程

  • 系统会生成一个包含屏幕尺寸、已识别元素位置、当前键盘状态等详细信息的提示。
  • 生成的提示由语言模型(如 GPT 或本地模型)处理,以决定下一步操作,如点击图标、滑动或返回主页。
prompt_action = get_action_prompt(instruction, perception_infos, width, height, keyboard, ...)
output_action = inference_chat(chat_action, 'gpt-4o', API_url, token)

执行操作

决策产生一个具体操作,如在屏幕上点击或输入文本,这些操作通过 ADB 命令执行。系统通过发送这些命令与移动设备交互,并根据操作结果更新屏幕状态。

if "Open app" in action:
    tap(adb_path, name_coordinate[0], name_coordinate[1])

反思与反馈循环

操作执行后,系统通过对比操作前后的屏幕状态进行反思。这一步帮助系统判断操作是否达到了预期效果,或是否需要调整。系统对比操作前后的截图及其相关数据,评估操作是否符合预期。

if "A" in reflect:
    thought_history.append(thought)
    summary_history.append(summary)
    action_history.append(action)

关键挑战

  • OCR 精度:OCR 精度对系统识别屏幕元素的能力有很大影响。
  • 图标检测:通过更好的多模态集成提高图标检测性能将提升系统表现。
  • 提示优化:优化图标描述和操作决策的提示,可以提高系统在移动设备环境中的交互准确性。

未来改进方向

  • 提高 OCR 精度:特别是针对图标和小文字区域,提高文本检测精度。
  • 多模态模型优化:考虑使用更先进的模型或调整处理步骤,以优化不同移动设备环境下的图标和文本识别。
  • 动态任务优先级调整:允许系统根据不同任务要求和页面切换进行调整,支持更复杂的工作流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值