Read Anywhere Pointed: Layout-aware GUI Screen Reading with Tree-of-Lens Grounding
<|reference_start|>Read Anywhere Pointed: Layout-aware GUI Screen Reading with Tree-of-Lens Grounding: Graphical User Interfaces (GUIs) are central to our interaction with digital devices. Recently, growing efforts have been made to build models for various GUI understanding tasks. However, these efforts largely overlook an important GUI-referring task: screen reading based on user-indicated points, which we name the Screen Point-and-Read (SPR) task. This task is predominantly handled by rigid accessible screen reading tools, in great need of new models driven by advancements in Multimodal Large Language Models (MLLMs). In this paper, we propose a Tree-of-Lens (ToL) agent, utilizing a novel ToL grounding mechanism, to address the SPR task. Based on the input point coordinate and the corresponding GUI screenshot, our ToL agent constructs a Hierarchical Layout Tree. Based on the tree, our ToL agent not only comprehends the content of the indicated area but also articulates the layout and spatial relationships between elements. Such layout information is crucial for accurately interpreting information on the screen, distinguishing our ToL agent from other screen reading tools. We also thoroughly evaluate the ToL agent against other baselines on a newly proposed SPR benchmark, which includes GUIs from mobile, web, and operating systems. Last but not least, we test the ToL agent on mobile GUI navigation tasks, demonstrating its utility in identifying incorrect actions along the path of agent execution trajectories. Code and data: screen-point-and-read.github.io<|reference_end|>
@article{fan2024read,
    title={Read Anywhere Pointed: Layout-aware GUI Screen Reading with Tree-of-Lens
  Grounding},
    author={Yue Fan, Lei Ding, Ching-Chen Kuo, Shan Jiang, Yang Zhao, Xinze Guan,
  Jie Yang, Yi Zhang, Xin Eric Wang},
    journal={arXiv preprint arXiv:2406.19263},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.19263},
    primaryClass={cs.CL cs.CV}
}