[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-whai362--PSENet":3,"tool-whai362--PSENet":64},[4,18,26,35,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,2,"2026-04-06T11:32:50",[14,15,13],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[43,15,13,14],"语言模型",{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,52],"视频",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85013,"2026-04-06T11:09:19",[15,16,52,61,13,62,43,14,63],"插件","其他","音频",{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":103,"env_deps":105,"category_tags":116,"github_topics":117,"view_count":32,"oss_zip_url":82,"oss_zip_packed_at":82,"status":17,"created_at":122,"updated_at":123,"faqs":124,"releases":165},5488,"whai362\u002FPSENet","PSENet","Official Pytorch implementations of PSENet.","PSENet 是一款基于 PyTorch 实现的开源文本检测工具，核心专注于解决自然场景中复杂形状文字的识别难题。在传统算法难以应对弯曲、倾斜或不规则排列文字的情况下，PSENet 通过其独创的“渐进式尺度扩展网络”技术，能够先生成文字的核心区域，再逐步向外扩展至完整轮廓。这种方法不仅有效分离了紧密相邻的文本行，还显著提升了对任意形状文本的检测鲁棒性。\n\n该工具主要面向计算机视觉领域的研究人员、AI 开发者以及需要部署高精度 OCR 系统的工程师。它提供了完整的训练、测试与评估流程，支持在 ICDAR 2015、Total-Text 和 CTW1500 等主流基准数据集上复现论文结果，并兼容 ResNet50 等多种骨干网络。此外，PSENet 生态丰富，除了官方 PyTorch 版本外，社区还提供了 PaddlePaddle 实现及在线体验环境，并已集成至 MMOCR 工具箱中，便于用户根据实际需求灵活选择。无论是进行学术算法研究，还是开发涉及文档分析、街景文字提取的实际应用，PSENet 都是一个值得尝试的高效解决方案。","## News\n- PSENet is included in [MMOCR](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmocr).\n- We have upgraded PSENet from python2 to python3. You can find the old version [here](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Ftree\u002Fpython2).\n- We have implemented PSENet using Paddle. Visit it [here](https:\u002F\u002Fgithub.com\u002FRoseSakurai\u002FPSENet_paddle).\n- You can find code of PAN [here](https:\u002F\u002Fgithub.com\u002Fwhai362\u002Fpan_pp.pytorch).\n- Another group also implemented PSENet using Paddle. You can visit it [here](https:\u002F\u002Fgithub.com\u002FPaddleEdu\u002FOCR-models-PaddlePaddle\u002Ftree\u002Fmain\u002FPSENet). You can also have a try online with all the environment ready [here](https:\u002F\u002Faistudio.baidu.com\u002Faistudio\u002Fprojectdetail\u002F1945560).\n\n## Introduction\nOfficial Pytorch implementations of PSENet [1].\n\n[1] W. Wang, E. Xie, X. Li, W. Hou, T. Lu, G. Yu, and S. Shao. Shape robust text detection with progressive scale expansion network. In Proc. IEEE Conf. Comp. Vis. Patt. Recogn., pages 9336–9345, 2019.\u003Cbr>\n\n\n## Recommended environment\n```\nPython 3.6+\nPytorch 1.1.0\ntorchvision 0.3\nmmcv 0.2.12\neditdistance\nPolygon3\npyclipper\nopencv-python 3.4.2.17\nCython\n```\n\n## Install\n```shell script\npip install -r requirement.txt\n.\u002Fcompile.sh\n```\n\n## Training\n```shell script\nCUDA_VISIBLE_DEVICES=0,1,2,3 python train.py ${CONFIG_FILE}\n```\nFor example:\n```shell script\nCUDA_VISIBLE_DEVICES=0,1,2,3 python train.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py\n```\n\n## Test\n```\npython test.py ${CONFIG_FILE} ${CHECKPOINT_FILE}\n```\nFor example:\n```shell script\npython test.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py checkpoints\u002Fpsenet_r50_ic15_736\u002Fcheckpoint.pth.tar\n```\n\n## Speed\n```shell script\npython test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --report_speed\n```\nFor example:\n```shell script\npython test.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py checkpoints\u002Fpsenet_r50_ic15_736\u002Fcheckpoint.pth.tar --report_speed\n```\n\n## Evaluation\n## Introduction\nThe evaluation scripts of ICDAR 2015 (IC15), Total-Text (TT) and CTW1500 (CTW) datasets.\n## [ICDAR 2015](https:\u002F\u002Frrc.cvc.uab.es\u002F?ch=4)\nText detection\n```shell script\n.\u002Feval_ic15.sh\n```\n\n\n## [Total-Text](https:\u002F\u002Fgithub.com\u002Fcs-chan\u002FTotal-Text-Dataset)\nText detection\n```shell script\n.\u002Feval_tt.sh\n```\n\n## [CTW1500](https:\u002F\u002Fgithub.com\u002FYuliang-Liu\u002FCurve-Text-Detector)\nText detection\n```shell script\n.\u002Feval_ctw.sh\n```\n\n## Benchmark \n## Results \n\n[ICDAR 2015](https:\u002F\u002Frrc.cvc.uab.es\u002F?ch=4)\n\n| Method | Backbone | Fine-tuning | Scale | Config | Precision (%) | Recall (%) | F-measure (%) | Model |\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| PSENet | ResNet50 | N | Shorter Side: 736 | [psenet_r50_ic15_736.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_736.py) | 83.6 | 74.0 | 78.5 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_736.pth.tar) |\n| PSENet | ResNet50 | N | Shorter Side: 1024 | [psenet_r50_ic15_1024.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_1024.py) | 84.4 | 76.3 | 80.2 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_1024.pth.tar) |\n| PSENet (paper) | ResNet50 | N | Longer Side: 2240 | - | 81.5 | 79.7 | 80.6 | - | \n| PSENet | ResNet50 | Y | Shorter Side: 736 | [psenet_r50_ic15_736_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_736_finetune.py) | 85.3 | 76.8 | 80.9 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_736_finetune.pth.tar) |\n| PSENet | ResNet50 | Y | Shorter Side: 1024 | [psenet_r50_ic15_1024_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_1024_finetune.py) | 86.2 | 79.4 | 82.7 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_1024_finetune.pth.tar) |\n| PSENet (paper) | ResNet50 | Y | Longer Side: 2240 | - | 86.9 | 84.5 | 85.7 | - | \n\n[CTW1500](https:\u002F\u002Fgithub.com\u002FYuliang-Liu\u002FCurve-Text-Detector)\n\n| Method | Backbone | Fine-tuning | Config | Precision (%) | Recall (%) | F-measure (%) | Model |\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| PSENet | ResNet50 | N | [psenet_r50_ctw.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ctw.py) | 82.6 | 76.4 | 79.4 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ctw.pth.tar) |\n| PSENet (paper) | ResNet50 | N | - | 80.6 | 75.6 | 78 | - | \n| PSENet | ResNet50 | Y | [psenet_r50_ctw_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ctw_finetune.py) | 84.5 | 79.2 | 81.8 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ctw_finetune.pth.tar) |\n| PSENet (paper) | ResNet50 | Y | - | 84.8 | 79.7 | 82.2 | - | \n\n[Total-Text](https:\u002F\u002Fgithub.com\u002Fcs-chan\u002FTotal-Text-Dataset)\n\n| Method | Backbone | Fine-tuning | Config | Precision (%) | Recall (%) | F-measure (%) | Model |\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| PSENet | ResNet50 | N | [psenet_r50_tt.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_tt.py) | 87.3 | 77.9 | 82.3 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_tt.pth.tar) |\n| PSENet (paper) | ResNet50 | N | - | 81.8 | 75.1 | 78.3 | - | \n| PSENet | ResNet50 | Y | [psenet_r50_tt_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_tt_finetune.py) | 89.3 | 79.6 | 84.2 | [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_tt_finetune.pth.tar) |\n| PSENet (paper) | ResNet50 | Y | - | 84.0 | 78.0 | 80.9 | - | \n\n## Citation\n```\n@inproceedings{wang2019shape,\n  title={Shape robust text detection with progressive scale expansion network},\n  author={Wang, Wenhai and Xie, Enze and Li, Xiang and Hou, Wenbo and Lu, Tong and Yu, Gang and Shao, Shuai},\n  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},\n  pages={9336--9345},\n  year={2019}\n}\n```\n\n## License\nThis project is developed and maintained by [IMAGINE Lab@National Key Laboratory for Novel Software Technology, Nanjing University](https:\u002F\u002Fcs.nju.edu.cn\u002Flutong\u002FImagineLab.html).\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwhai362_PSENet_readme_4d5b908b4166.jpg\" alt=\"IMAGINE Lab\">\n\nThis project is released under the [Apache 2.0 license](https:\u002F\u002Fgithub.com\u002Fwhai362\u002Fpan_pp.pytorch\u002Fblob\u002Fmaster\u002FLICENSE).\n","## 新闻\n- PSENet 已被纳入 [MMOCR](https:\u002F\u002Fgithub.com\u002Fopen-mmlab\u002Fmmocr)。\n- 我们已将 PSENet 从 Python 2 升级到 Python 3。旧版本可在此处找到：[PSENet python2 分支](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Ftree\u002Fpython2)。\n- 我们使用 Paddle 实现了 PSENet，访问地址为：[PSENet_paddle](https:\u002F\u002Fgithub.com\u002FRoseSakurai\u002FPSENet_paddle)。\n- PAN 的代码可以在这里找到：[PAN 代码库](https:\u002F\u002Fgithub.com\u002Fwhai362\u002Fpan_pp.pytorch)。\n- 另一组也使用 Paddle 实现了 PSENet，访问地址为：[PaddleEdu OCR 模型仓库中的 PSENet](https:\u002F\u002Fgithub.com\u002FPaddleEdu\u002FOCR-models-PaddlePaddle\u002Ftree\u002Fmain\u002FPSENet)。你也可以在以下链接中在线体验，环境已配置好：[百度飞桨 AI Studio](https:\u002F\u002Faistudio.baidu.com\u002Faistudio\u002Fprojectdetail\u002F1945560)。\n\n## 简介\nPSENet 的官方 PyTorch 实现 [1]。\n\n[1] W. Wang, E. Xie, X. Li, W. Hou, T. Lu, G. Yu, 和 S. Shao. 基于渐进尺度扩展网络的形状鲁棒文本检测。载于 IEEE 计算机视觉与模式识别会议论文集，第 9336–9345 页，2019 年。\u003Cbr>\n\n## 推荐环境\n```\nPython 3.6+\nPytorch 1.1.0\ntorchvision 0.3\nmmcv 0.2.12\neditdistance\nPolygon3\npyclipper\nopencv-python 3.4.2.17\nCython\n```\n\n## 安装\n```shell script\npip install -r requirement.txt\n.\u002Fcompile.sh\n```\n\n## 训练\n```shell script\nCUDA_VISIBLE_DEVICES=0,1,2,3 python train.py ${CONFIG_FILE}\n```\n例如：\n```shell script\nCUDA_VISIBLE_DEVICES=0,1,2,3 python train.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py\n```\n\n## 测试\n```\npython test.py ${CONFIG_FILE} ${CHECKPOINT_FILE}\n```\n例如：\n```shell script\npython test.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py checkpoints\u002Fpsenet_r50_ic15_736\u002Fcheckpoint.pth.tar\n```\n\n## 速度测试\n```shell script\npython test.py ${CONFIG_FILE} ${CHECKPOINT_FILE} --report_speed\n```\n例如：\n```shell script\npython test.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py checkpoints\u002Fpsenet_r50_ic15_736\u002Fcheckpoint.pth.tar --report_speed\n```\n\n## 评估\n## 简介\nICDAR 2015 (IC15)、Total-Text (TT) 和 CTW1500 (CTW) 数据集的评估脚本。\n## [ICDAR 2015](https:\u002F\u002Frrc.cvc.uab.es\u002F?ch=4)\n文本检测\n```shell script\n.\u002Feval_ic15.sh\n```\n\n\n## [Total-Text](https:\u002F\u002Fgithub.com\u002Fcs-chan\u002FTotal-Text-Dataset)\n文本检测\n```shell script\n.\u002Feval_tt.sh\n```\n\n## [CTW1500](https:\u002F\u002Fgithub.com\u002FYuliang-Liu\u002FCurve-Text-Detector)\n文本检测\n```shell script\n.\u002Feval_ctw.sh\n```\n\n## 基准测试\n## 结果\n\n[ICDAR 2015](https:\u002F\u002Frrc.cvc.uab.es\u002F?ch=4)\n\n| 方法 | 主干网络 | 微调 | 尺寸 | 配置文件 | 精度 (%) | 召回率 (%) | F1 分数 (%) | 模型 |\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| PSENet | ResNet50 | 否 | 较短边：736 | [psenet_r50_ic15_736.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_736.py) | 83.6 | 74.0 | 78.5 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_736.pth.tar) |\n| PSENet | ResNet50 | 否 | 较短边：1024 | [psenet_r50_ic15_1024.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_1024.py) | 84.4 | 76.3 | 80.2 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_1024.pth.tar) |\n| PSENet（论文）| ResNet50 | 否 | 较长边：2240 | - | 81.5 | 79.7 | 80.6 | - | \n| PSENet | ResNet50 | 是 | 较短边：736 | [psenet_r50_ic15_736_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_736_finetune.py) | 85.3 | 76.8 | 80.9 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_736_finetune.pth.tar) |\n| PSENet | ResNet50 | 是 | 较短边：1024 | [psenet_r50_ic15_1024_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ic15_1024_finetune.py) | 86.2 | 79.4 | 82.7 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ic15_1024_finetune.pth.tar) |\n| PSENet（论文）| ResNet50 | 是 | 较长边：2240 | - | 86.9 | 84.5 | 85.7 | - | \n\n[CTW1500](https:\u002F\u002Fgithub.com\u002FYuliang-Liu\u002FCurve-Text-Detector)\n\n| 方法 | 主干网络 | 微调 | 配置文件 | 精度 (%) | 召回率 (%) | F1 分数 (%) | 模型 |\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| PSENet | ResNet50 | 否 | [psenet_r50_ctw.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ctw.py) | 82.6 | 76.4 | 79.4 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ctw.pth.tar) |\n| PSENet（论文）| ResNet50 | 否 | - | 80.6 | 75.6 | 78 | - | \n| PSENet | ResNet50 | 是 | [psenet_r50_ctw_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_ctw_finetune.py) | 84.5 | 79.2 | 81.8 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_ctw_finetune.pth.tar) |\n| PSENet（论文）| ResNet50 | 是 | - | 84.8 | 79.7 | 82.2 | - | \n\n[Total-Text](https:\u002F\u002Fgithub.com\u002Fcs-chan\u002FTotal-Text-Dataset)\n\n| 方法 | 主干网络 | 微调 | 配置文件 | 精度 (%) | 召回率 (%) | F1 分数 (%) | 模型 |\n| :-: | :-: | :-: | :-: | :-: | :-: | :-: | :-: |\n| PSENet | ResNet50 | 否 | [psenet_r50_tt.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_tt.py) | 87.3 | 77.9 | 82.3 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_tt.pth.tar) |\n| PSENet（论文）| ResNet50 | 否 | - | 81.8 | 75.1 | 78.3 | - | \n| PSENet | ResNet50 | 是 | [psenet_r50_tt_finetune.py](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fblob\u002Fpython3\u002Fconfig\u002Fpsenet\u002Fpsenet_r50_tt_finetune.py) | 89.3 | 79.6 | 84.2 | [发布页面](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases\u002Fdownload\u002Fcheckpoint\u002Fpsenet_r50_tt_finetune.pth.tar) |\n| PSENet（论文）| ResNet50 | 是 | - | 84.0 | 78.0 | 80.9 | - | \n\n## 引用\n```\n@inproceedings{wang2019shape,\n  title={Shape robust text detection with progressive scale expansion network},\n  author={Wang, Wenhai and Xie, Enze and Li, Xiang and Hou, Wenbo and Lu, Tong and Yu, Gang and Shao, Shuai},\n  booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},\n  pages={9336--9345},\n  year={2019}\n}\n```\n\n## 许可证\n本项目由 [南京大学新型软件技术国家重点实验室 IMAGINE 实验室](https:\u002F\u002Fcs.nju.edu.cn\u002Flutong\u002FImagineLab.html) 开发并维护。\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwhai362_PSENet_readme_4d5b908b4166.jpg\" alt=\"IMAGINE Lab\">\n\n本项目采用 [Apache 2.0 许可证](https:\u002F\u002Fgithub.com\u002Fwhai362\u002Fpan_pp.pytorch\u002Fblob\u002Fmaster\u002FLICENSE) 发布。","# PSENet 快速上手指南\n\nPSENet (Progressive Scale Expansion Network) 是一种用于场景文本检测的深度学习模型，特别擅长处理任意形状的文本。本指南基于官方 PyTorch 实现（Python 3 版本），帮助开发者快速完成环境配置、安装及基础运行。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux (推荐)\n*   **Python**: 3.6 及以上版本\n*   **GPU**: 支持 CUDA 的 NVIDIA 显卡（训练和高效推理必需）\n*   **核心依赖**:\n    *   Pytorch >= 1.1.0\n    *   torchvision >= 0.3\n    *   mmcv == 0.2.12\n    *   opencv-python == 3.4.2.17\n    *   其他依赖：Cython, editdistance, Polygon3, pyclipper\n\n> **提示**：国内用户建议使用清华源或阿里源加速 pip 包的安装。\n\n## 安装步骤\n\n1.  **克隆项目代码**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet.git\n    cd PSENet\n    ```\n\n2.  **安装 Python 依赖**\n    建议先配置好 PyTorch 环境，然后安装 `requirements.txt` 中的其他依赖。\n    ```bash\n    # 推荐使用国内镜像源加速安装\n    pip install -r requirement.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n3.  **编译自定义算子**\n    PSENet 包含需要编译的 C++\u002FCUDA 扩展，执行以下脚本进行编译：\n    ```bash\n    .\u002Fcompile.sh\n    ```\n    *注：如果提示权限不足，请先执行 `chmod +x compile.sh`。*\n\n## 基本使用\n\n### 1. 训练模型 (Training)\n\n使用多卡进行训练示例（以 ICDAR2015 数据集配置为例）：\n\n```shell script\nCUDA_VISIBLE_DEVICES=0,1,2,3 python train.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py\n```\n\n*   `CUDA_VISIBLE_DEVICES`: 指定使用的 GPU 编号。\n*   `config\u002F...`: 指定配置文件路径。\n\n### 2. 测试与推理 (Testing)\n\n使用预训练权重对数据集进行测试：\n\n```shell script\npython test.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py checkpoints\u002Fpsenet_r50_ic15_736\u002Fcheckpoint.pth.tar\n```\n\n*   请将 `checkpoints\u002F...` 替换为您实际下载的模型权重路径。\n*   官方预训练模型可在项目的 [Releases](https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Freleases) 页面获取。\n\n### 3. 速度评估 (Speed Benchmark)\n\n如果您想测试模型的推理速度（FPS），可添加 `--report_speed` 参数：\n\n```shell script\npython test.py config\u002Fpsenet\u002Fpsenet_r50_ic15_736.py checkpoints\u002Fpsenet_r50_ic15_736\u002Fcheckpoint.pth.tar --report_speed\n```\n\n### 4. 数据集评估 (Evaluation)\n\n项目提供了针对主流文本检测数据集的评估脚本：\n\n*   **ICDAR 2015**: `.\u002Feval_ic15.sh`\n*   **Total-Text**: `.\u002Feval_tt.sh`\n*   **CTW1500**: `.\u002Feval_ctw.sh`\n\n运行前请确保已按照各数据集官网要求准备好标注文件和测试结果文件。","某智慧物流团队正在开发一套自动化系统，旨在从复杂的快递面单和弯曲的货运标签中提取关键信息，以替代人工录入。\n\n### 没有 PSENet 时\n- **弯曲文本识别失败**：面对货运标签上常见的弧形或扭曲文字，传统矩形检测框算法无法紧密贴合，导致大量字符被截断或遗漏。\n- **密集文字粘连误检**：在条码旁密集排列的小号字体区域，旧模型难以区分相邻字符，经常将多行文字错误地合并为一个检测块。\n- **人工复核成本高昂**：由于自动提取准确率低下（尤其在非规则场景下），团队不得不安排专人进行二次校对，严重拖慢了分拣效率。\n- **多尺度适配困难**：调整模型以适应不同尺寸的面单需要大量重复训练和参数微调，开发周期长且维护成本高。\n\n### 使用 PSENet 后\n- **精准捕捉任意形状**：利用 PSENet 的渐进式尺度扩展网络，系统能完美贴合弯曲、折叠的文本轮廓，显著提升了异形标签的检出率。\n- **有效分离密集字符**：通过多尺度特征融合，PSENet 成功解决了近距离文本粘连问题，即使在小字号密集区也能清晰划分独立文本行。\n- **全流程自动化落地**：得益于在 ICDAR 2015 和 Total-Text 等数据集上验证的高鲁棒性，自动识别准确率大幅提升，基本消除了人工复核环节。\n- **灵活部署与迭代**：基于 PyTorch 的官方实现支持快速训练与推理速度测试，团队能迅速针对不同物流场景的微调需求完成模型更新。\n\nPSENet 凭借其处理任意形状文本的卓越能力，将复杂物流单据的数字化效率提升了数倍，真正实现了端到端的智能识别闭环。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fwhai362_PSENet_2049648a.png","whai362","Wenhai Wang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fwhai362_b564bdd5.png","🌸🌸🌸","CUHK","Shanghai","wangwenhai362@163.com",null,"http:\u002F\u002Fwhai362.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fwhai362",[86,90,94],{"name":87,"color":88,"percentage":89},"Python","#3572A5",99,{"name":91,"color":92,"percentage":93},"Cython","#fedf5b",0.9,{"name":95,"color":96,"percentage":97},"Shell","#89e051",0.1,1185,341,"2026-03-05T07:28:37","Apache-2.0",4,"未说明","训练脚本示例中使用了 CUDA_VISIBLE_DEVICES，表明需要 NVIDIA GPU 支持；具体显存大小和 CUDA 版本未在文中明确说明",{"notes":106,"python":107,"dependencies":108},"安装依赖后需运行 .\u002Fcompile.sh 编译部分组件；该工具已升级至 Python 3 环境，旧版 Python 2 代码可单独获取；支持 PaddlePaddle 版本但本仓库主要为 PyTorch 实现。","3.6+",[109,110,111,112,113,114,115,91],"Pytorch 1.1.0","torchvision 0.3","mmcv 0.2.12","editdistance","Polygon3","pyclipper","opencv-python 3.4.2.17",[15],[118,119,120,121],"icdar2015","total-text","ctw1500","psenet","2026-03-27T02:49:30.150509","2026-04-08T19:21:09.723233",[125,130,135,140,145,150,155,160],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},24911,"编译 adaptor.so 时遇到 'undefined symbol: _Py_ZeroStruct' 或 'Python.h: No such file or directory' 错误怎么办？","这是因为编译时指定的 Python 头文件路径与实际安装的 Python 版本不匹配。解决方法如下：\n1. 确认你的 Python 版本（如 python3.5, python3.6），并找到对应的头文件路径（通常在 \u002Fusr\u002Finclude\u002FpythonX.X\u002F）。\n2. 修改文件 `pse\u002Finclude\u002Fpybind11\u002Fdetail\u002Fcommon.h` 中的第 112~114 行。\n3. 将原本指向 python2.7 的引用改为你的实际版本。例如，如果是 Python 3.5，修改为：\n   #include \u003Cpython3.5\u002FPython.h>\n   #include \u003Cpython3.5\u002Fframeobject.h>\n   #include \u003Cpython3.5\u002Fpythread.h>\n4. 如果修改后仍报错 'Python.h: No such file or directory'，请确保已安装对应版本的 python-dev 包（如 `sudo apt-get install python3.5-dev`）。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F23",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},24912,"编译时出现 'RuntimeError: Cannot compile pse' 或打印 'rm -rf' 错误如何解决？","该问题通常是由于 OpenCV 版本不兼容导致的。不需要修改 Makefile，请按照以下步骤操作：\n1. 安装 C++ 版本的 OpenCV 3.4。\n2. 同时安装 Python 绑定的特定版本：`pip install opencv-python==3.4.3.8`。\n确保两者版本一致且均为 3.4 系列即可解决编译失败问题。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F82",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},24913,"训练模型测试时，检测框位置比实际位置偏上（有偏移）是什么原因？","这通常与输入图像的预处理方式有关。建议尝试以下两种方法之一：\n1. 将图像的长和宽 Padding（填充）到 32 的整数倍，而不是 Resize（缩放）。TensorFlow 版本的 PSENet 就是采用这种方式，效果正常。\n2. 确保在图像进入网络前进行 reshape，并且后续展示检测框时也使用 reshape 后的坐标进行还原。\n如果在 dataset 的 scale 函数中进行 padding 仍有偏移，请检查坐标还原逻辑是否匹配了 padding 的操作。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F121",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},24914,"论文中提到的数据增强（Data Augmentation）具体是如何裁剪图片的？裁剪掉文本会有影响吗？","具体操作流程如下：\n1. 在 Crop 之前，先保证图片的短边大于 640（如果短边小于 640，则等比例缩放到短边为 640）。\n2. 随机裁剪出 640*640 的区域。\n关于裁剪掉文本实例的问题：不需要担心。因为 Ground Truth（标签图）会和输入图片一起进行同样的裁剪操作，这样能保证输入与标签的一致性。即使文本被切掉一部分，剩余部分依然可以用于计算 Loss 和训练，不会影响检测逻辑。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F10",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},24915,"训练过程中前五层（Kernel）的效果不如最后一层，且 IOU_k 卡在 0.8 左右不上升，是代码问题吗？","这不是代码错误，而是训练过程中的正常现象或超参数设置问题。\n1. 关于前五层效果差：PSENet 的设计中，浅层 Kernel 主要用于捕捉不同尺度的文本，其单独效果可能不如融合了所有信息的最后一层好。\n2. 关于损失函数中的 W：W（由 text region 得到）是用于所有 Kernel 的，不仅仅是最后一层。\n3. 关于 IOU 不收敛：建议检查是否需要在特定数据集（如 IC17MLT）上预训练，然后再在目标数据集（如 IC15）上进行微调，这有助于提升收敛效果。此外，继续增加训练 Epoch 数也可能有帮助。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F14",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},24916,"为什么测试时需要将图片 Resize 到非常大（如 2000 多像素），而训练时并没有这么大？","虽然训练时使用较小的尺寸以提高速度和增强泛化能力，但在测试（推理）阶段，将图片 Resize 到较大尺寸（如长边 2000+）是为了保留更多的细节信息，从而检测到更小或更密集的文本实例，显著提升最终的检测精度（mAP）。这是场景文本检测任务中的常见策略。如果测试时报错或结果异常，请首先检查 PSE 的 C++ 模块是否编译成功。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F46",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},24917,"训练时发现大量裁剪样本不包含任何有效文本实例（pos_num=0），这是正常的吗？","是的，这是故意设置的数据增强策略。在随机裁剪（random_crop）过程中，确实会产生一部分不包含任何文本的样本（黑样本）。\n1. 这些样本虽然 pos_num 为 0，但它们作为负样本参与训练，有助于模型学习区分背景文本，减少误检。\n2. 约 20% 左右的空样本比例是正常的，不需要特意排除它们，否则可能会削弱模型对背景的判别能力。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F60",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},24918,"项目目前支持 Python 3 吗？之前的代码似乎只支持 Python 2。","作者已经发布了支持 Python 3 的版本。如果你在使用 Python 3.6 或其他 Python 3 版本时遇到运行问题或编译错误，请拉取最新的代码库。对于 Python 3 用户，重点需要重新编译 C++ 扩展模块（adaptor.so），并确保在编译时正确链接到 Python 3 的头文件（参考常见编译错误的解决方案）。","https:\u002F\u002Fgithub.com\u002Fwhai362\u002FPSENet\u002Fissues\u002F1",[166],{"id":167,"version":168,"summary_zh":169,"released_at":170},154390,"checkpoint","我们发布了一些新的检查点。","2023-04-07T06:20:54"]