Official PyTorch implementation of the ICCV paper "Overlapping Text Segmentation and Recognition". This codebase is built on top of the MMSegmentation framework.
Overlapping text presents severe challenges for open-scene text perception tasks, while existing methods are mostly limited to document scenarios. To address this, we propose a multi-scenario overlapping text segmentation task and build a real English-Chinese dataset covering diverse scenes. We further introduce a hierarchical training data synthesis strategy to improve model generalization. Moreover, we utilize depth maps to provide 3D relative position cues and design a depth-guided decoder that fuses image and depth features to capture complex overlapping interactions between text instances.
2026.6.23🚀MonkeyOCRv2-AS is extended to Overlapping Text Segmentation based on our framework.
We recommend using Conda to set up the environment, Please refer to MMSegmentation Install Guide for more detailed instruction.
pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu121
pip install -U openmim
mim install mmengine
pip install --no-build-isolation mmcv==2.2.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.5.0/index.html
pip install -v -e .
pip install transformers==4.51.0 accelerate
pip install mmpretrain mmdet
pip install ftfy-
Download MOT dataset from BaiduNetCloud.
-
Download
MonkeyOCRv2-AS-MOTSfrom BaiduNetCloud.
Training on a single GPU, please use
python tools/train.py ${CONFIG_FILE} [optional arguments]Training on multiple GPUs, please use
sh tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM} [optional arguments]For example, we use this script to train the model:
sh tools/dist_train.sh configs/overlap/mots_overlaptext.py 8To train or evaluate MonkeyOCRv2-AS based on our framework. place its weight path in the configs/overlap/mots_monkeyvit_overlaptext.py.
Testing on a single GPU, please use
python tools/test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} [optional arguments]Training on multiple GPUs, please use
sh tools/dist_test.sh ${CONFIG_FILE} ${CHECKPOINT_FILE} ${GPU_NUM} [optional arguments]For example, we use this script to train the model:
sh tools/dist_test.sh configs/overlap/mots_overlaptext.py 8Please cite the following paper when using the MOT dataset or this repo.
@inproceedings{liu2025multi,
title={Multi-scenario Overlapping Text Segmentation with Depth Awareness},
author={Liu, Yang and Xie, Xudong and Liu, Yuliang and Bai, Xiang},
booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
pages={17454--17463},
year={2025}
}
This repo is based on MMSegmentation. We appreciate this wonderful open-source toolbox.

