跳转至

sem

sem 用于分析 Android 截图并提取界面上的语义元素(按钮、文本、列表等),常用于 UI 自动化测试或可视化验证。

https://github.com/CNSeniorious000/sem

流程是通过 ADB 获取截图,交给多模态解析器(例如 OmniParser)和 LLM 做初步标注,然后对若干来源的标注做 IoU 融合,输出统一的结构化结果。

工程亮点

融合逻辑会优先保留高置信度的标注并合并重叠框,同时把重复的 LLM 调用做缓存,既能节约成本也能提高稳定性。

相关:

  • OmniParser:多模态解析工具,专注文档/图片结构化。
  • ml-ferret:用于 UI grounding 的模型思路参考。

把视觉解析和 LLM 结合起来,是提升 UI 测试效率的一条可行路径。

深入洞见

这个项目融合 ADB UI 层次、OmniParser 边界框和 LLM 标注,通过 IoU 阈值合并,提高 UI 元素召回率。缓存 LLM 提示以节约成本,评估多个模型的性能。

参考源码:fusion.py(IoU 合并逻辑) · eval/annotate.py(LLM 评估)