[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-cardwing--Codes-for-Lane-Detection":3,"tool-cardwing--Codes-for-Lane-Detection":61},[4,18,26,36,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},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",152630,2,"2026-04-12T23:33:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":107,"forks":108,"last_commit_at":109,"license":110,"difficulty_score":111,"env_os":112,"env_gpu":113,"env_ram":114,"env_deps":115,"category_tags":121,"github_topics":123,"view_count":32,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":130,"updated_at":131,"faqs":132,"releases":172},7013,"cardwing\u002FCodes-for-Lane-Detection","Codes-for-Lane-Detection","Learning Lightweight Lane Detection CNNs by Self Attention Distillation (ICCV 2019)","Codes-for-Lane-Detection 是一个专注于自动驾驶场景下车道线检测的开源项目，核心目标是让高精度的检测模型在资源受限的设备上也能高效运行。它主要解决了传统高性能车道线检测算法（如 SCNN）参数量大、计算速度慢，难以部署在嵌入式系统或实时应用中的痛点。\n\n该项目非常适合计算机视觉领域的研究人员、算法工程师以及自动驾驶开发者使用。其最大的技术亮点在于提出了基于“自注意力蒸馏”（Self Attention Distillation）的轻量级模型 ENet-SAD。相比当时的最先进模型 SCNN，ENet-SAD 将参数量减少了 20 倍，推理速度提升了 10 倍，同时在 CULane、TuSimple 和 BDD100K 等主流数据集上的检测精度（F1 值或准确率）反而略有提升。此外，代码库还包含了经典 SCNN 模型的 TensorFlow 实现，并支持多 GPU 训练，为复现论文结果和进行二次开发提供了便利的基础设施。无论是希望探索轻量化网络设计的研究者，还是需要落地实时车道线检测功能的工程师，都能从中获得有价值的参考与工具支持。","Codes for [\"Learning Lightweight Lane Detection CNNs by Self Attention Distillation\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.00821)\n\nThis repo also contains Tensorflow implementation of [\"Spatial As Deep: Spatial CNN for Traffic Scene Understanding\"](https:\u002F\u002Farxiv.org\u002Fabs\u002F1712.06080). (SCNN-Tensorflow) \n\n# News\n\n1. [ERFNet-CULane-PyTorch](.\u002FERFNet-CULane-PyTorch) has been released. (It can achieve **73.1** F1-measure in CULane testing set)\n\n2. [ENet-Label-Torch](.\u002FENet-Label-Torch), [ENet-TuSimple-Torch](.\u002FENet-TuSimple-Torch) and [ENet-BDD100K-Torch](.\u002FENet-BDD100K-Torch) have been released. \n\nKey features:\n\n(1) ENet-label is a **light-weight** lane detection model based on [ENet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.02147) and adopts **self attention distillation** (more details can be found in our paper). \n\n(2) It has **20** × fewer parameters and runs **10** × faster compared to the state-of-the-art SCNN, and achieves **72.0** (F1-measure) on CULane testing set (better than SCNN which achieves 71.6). It also achieves **96.64%** accuracy in TuSimple testing set (better than SCNN which achieves 96.53%) and **36.56%** accuracy in BDD100K testing set (better than SCNN which achieves 35.79%). \n\n(3) Applying ENet-SAD to [LLAMAS](https:\u002F\u002Funsupervised-llamas.com\u002Fllamas\u002F) dataset yields **0.635** mAP in the [multi-class lane marker segmentation task](https:\u002F\u002Funsupervised-llamas.com\u002Fllamas\u002Fbenchmark_multi), which is much better than the baseline algorithm which achieves 0.500 mAP. Details can be found in [this repo](https:\u002F\u002Fgithub.com\u002Fcardwing\u002Funsupervised_llamas\u002Ftree\u002Fmaster\u002FENet-SAD-Simple).\n\n(Do not hesitate to try our model!!!)\n\n3. Multi-GPU training has been supported. Just change BATCH_SIZE and GPU_NUM in global_config.py, and then use `CUDA_VISIBLE_DEVICES=\"0,1,2,3\" python file_name.py`. Thanks @ yujincheng08.\n\n# Content\n\n* [Installation](#Installation)\n* [Datasets](#Datasets)\n  * [TuSimple](#TuSimple)\n  * [CULane](#CULane)\n  * [BDD100K](#BDD100K)\n* [SCNN-Tensorflow](#SCNN-Tensorflow)\n  * [Test](#Test)\n  * [Train](#Train)\n* [Performance](#Performance)\n* [Others](#Others)\n  * [Citation](#Citation)\n  * [Acknowledgement](#Acknowledgement)\n  * [Contact](#Contact)\n\n# Installation\n\n1. Install necessary packages:\n```\n    conda create -n tensorflow_gpu pip python=3.5\n    source activate tensorflow_gpu\n    pip install --upgrade tensorflow-gpu==1.3.0\n    pip3 install -r SCNN-Tensorflow\u002Flane-detection-model\u002Frequirements.txt\n```\n\n2. Download VGG-16:\n\nDownload the vgg.npy [here](https:\u002F\u002Fgithub.com\u002Fmachrisaa\u002Ftensorflow-vgg) and put it in SCNN-Tensorflow\u002Flane-detection-model\u002Fdata.\n\n3. Pre-trained model for testing:\n\nDownload the pre-trained model [here](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-E0Bws7-v35vOVfqEXDTJdfovUTQ2sf5).\n\n# Datasets\n\n## TuSimple\n\nThe ground-truth labels of TuSimple testing set is now available at [TuSimple](https:\u002F\u002Fgithub.com\u002FTuSimple\u002Ftusimple-benchmark\u002Fissues\u002F3). The annotated training (#frame = 3268) and validation labels (#frame = 358) can be found [here](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F11), please use them (list-name.txt) to replace the train_gt.txt and val_gt.txt in [train_lanenet.py](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Ftools\u002Ftrain_lanenet.py). Moreover, you need to resize the image to 256 x 512 instead of 288 x 800 in TuSimple. Remember to change the maximum index of rows and columns, and detailed explanations can be seen [here](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F18). Please evaluate your pred.json using the labels and [this script](https:\u002F\u002Fgithub.com\u002FTuSimple\u002Ftusimple-benchmark\u002Fblob\u002Fmaster\u002Fevaluate\u002Flane.py). Besides, to generate pred.json, you can refer to [this issue](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F4).\n\n## CULane\n\nThe whole dataset is available at [CULane](https:\u002F\u002Fxingangpan.github.io\u002Fprojects\u002FCULane.html).\n\n## BDD100K\n\nThe whole dataset is available at [BDD100K](http:\u002F\u002Fbdd-data.berkeley.edu\u002F).\n\n# SCNN-Tensorflow\n\n## Test\n    cd SCNN-Tensorflow\u002Flane-detection-model\n    CUDA_VISIBLE_DEVICES=\"0\" python tools\u002Ftest_lanenet.py --weights_path path\u002Fto\u002Fmodel_weights_file --image_path path\u002Fto\u002Fimage_name_list --save_dir to_be_saved_dir\n\nNote that path\u002Fto\u002Fimage_name_list should be like [test_img.txt](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdemo_file\u002Ftest_img.txt). Now, you get the probability maps from our model. To get the final performance, you need to follow [SCNN](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN) to get curve lines from probability maps as well as calculate precision, recall and F1-measure.\n\nReminder: you should check [lanenet_data_processor.py](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdata_provider\u002Flanenet_data_processor.py) and [lanenet_data_processor_test.py](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdata_provider\u002Flanenet_data_processor.py) to ensure that the processing of image path is right. You are recommended to use the absolute path in your image path list. Besides, this code needs batch size used in training and testing to be consistent. To enable arbitrary batch size in the testing phase, please refer to [this issue](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F10).\n\n## Train\n    CUDA_VISIBLE_DEVICES=\"0\" python tools\u002Ftrain_lanenet.py --net vgg --dataset_dir path\u002Fto\u002FCULane-dataset\u002F\n\nNote that path\u002Fto\u002FCULane-dataset\u002F should contain files like [train_gt.txt](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdemo_file\u002Ftrain_gt.txt) and [val_gt.txt](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdemo_file\u002Ftrain_gt.txt).\n\n# Performance\n\n1. TuSimple testing set:\n\n|Model|Accuracy|FP|FN|\n|:---:|:---:|:---:|:---:|\n|[SCNN-Torch](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN)|96.53%|0.0617|0.0180|\n|SCNN-Tensorflow|--|--|--|\n|ENet-Label-Torch|96.64%|0.0602|0.0205|\n\nThe pre-trained model for testing is here. (coming soon!) Note that in TuSimple, SCNN-Torch is based on ResNet-101 while SCNN-Tensorflow is based on VGG-16. In CULane and BDD100K, both SCNN-Torch and SCNN-Tensorflow are based on VGG-16.\n\n2. CULane testing set (F1-measure):\n\n|Category|[SCNN-Torch](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN)|SCNN-Tensorflow|ENet-Label-Torch|ERFNet-CULane-PyTorch|\n|:---:|:---:|:---:|:---:|:---:|\n|Normal|90.6|90.2|90.7|**91.5**|\n|Crowded|69.7|71.9|70.8|71.6|\n|Night|66.1|64.6|65.9|**67.1**|\n|No line|43.4|45.8|44.7|45.1|\n|Shadow|66.9|73.8|70.6|71.3|\n|Arrow|84.1|83.8|85.8|**87.2**|\n|Dazzle light|58.5|59.5|64.4|**66.0**|\n|Curve|64.4|63.4|65.4|**66.3**|\n|Crossroad|1990|4137|2729|2199|\n|Total|71.6|71.3|72.0|**73.1**|\n|Runtime(ms)|133.5|--|13.4|**10.2**|\n|Parameter(M)|20.72|--|**0.98**|2.49|\n\nThe pre-trained model for testing is [here](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-E0Bws7-v35vOVfqEXDTJdfovUTQ2sf5). Note that you need to exchange the order of VGG-MEAN in test_lanenet.py and change the order of input images from RGB to BGR since the pre-trained model uses opencv to read images. You can further boost the performance by referring to [this issue](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F5).\n\n3. BDD100K testing set:\n\n|Model|Accuracy|IoU|\n|:---:|:---:|:---:|\n|[SCNN-Torch](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN)|35.79%|15.84|\n|SCNN-Tensorflow|--|--|\n|ENet-Label-Torch|36.56%|16.02|\n\nThe accuracy and IoU of lane pixels are computed. The pre-trained model for testing is here. (coming soon!)\n\n# Others\n\n## Citation\n\nIf you use the codes, please cite the following publications:\n\n``` \n@article{hou2019learning,\n  title={Learning Lightweight Lane Detection CNNs by Self Attention Distillation},\n  author={Hou, Yuenan and Ma, Zheng and Liu, Chunxiao and Loy, Chen Change},\n  journal={arXiv preprint arXiv:1908.00821},\n  year={2019}\n}\n\n@inproceedings{pan2018SCNN,  \n  author = {Xingang Pan, Jianping Shi, Ping Luo, Xiaogang Wang, and Xiaoou Tang},  \n  title = {Spatial As Deep: Spatial CNN for Traffic Scene Understanding},  \n  booktitle = {AAAI Conference on Artificial Intelligence (AAAI)},  \n  month = {February},  \n  year = {2018}  \n}\n\n@misc{hou2019agnostic,\n    title={Agnostic Lane Detection},\n    author={Yuenan Hou},\n    year={2019},\n    eprint={1905.03704},\n    archivePrefix={arXiv},\n    primaryClass={cs.CV}\n}\n```\n\n## Acknowledgement\nThis repo is built upon [SCNN](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN) and [LaneNet](https:\u002F\u002Fgithub.com\u002FMaybeShewill-CV\u002Flanenet-lane-detection).\n\n## Contact\nIf you have any problems in reproducing the results, just raise an issue in this repo.\n\n## To-Do List\n- [ ] Test SCNN-Tensorflow in TuSimple and BDD100K\n- [x] Provide detailed instructions to run SCNN-Tensorflow in TuSimple and BDD100K\n- [x] Upload our light-weight model (ENet-SAD) and its training & testing scripts\n","用于[通过自注意力蒸馏学习轻量级车道线检测CNN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1908.00821)的代码库。\n\n该仓库还包含[Spatial As Deep: 用于交通场景理解的空间CNN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1712.06080)的TensorFlow实现。（SCNN-Tensorflow）\n\n# 新闻\n\n1. [ERFNet-CULane-PyTorch](.\u002FERFNet-CULane-PyTorch) 已发布。（它在CULane测试集上可达到**73.1**的F1分数）\n\n2. [ENet-Label-Torch](.\u002FENet-Label-Torch)、[ENet-TuSimple-Torch](.\u002FENet-TuSimple-Torch) 和 [ENet-BDD100K-Torch](.\u002FENet-BDD100K-Torch) 已发布。\n\n主要特点：\n\n(1) ENet-label 是一个基于 [ENet](https:\u002F\u002Farxiv.org\u002Fabs\u002F1606.02147) 的 **轻量级** 车道线检测模型，并采用了 **自注意力蒸馏** 技术（更多细节请参阅我们的论文）。\n\n(2) 相较于当前最先进的SCNN，它拥有 **20倍** 更少的参数，运行速度则快了 **10倍**，并在CULane测试集上达到了 **72.0** 的F1分数（优于SCNN的71.6）。此外，在TuSimple测试集上其准确率达到 **96.64%**（高于SCNN的96.53%），而在BDD100K测试集上则为 **36.56%**（同样优于SCNN的35.79%）。\n\n(3) 将ENet-SAD应用于 [LLAMAS](https:\u002F\u002Funsupervised-llamas.com\u002Fllamas\u002F) 数据集时，在 [多类别车道标记分割任务](https:\u002F\u002Funsupervised-llamas.com\u002Fllamas\u002Fbenchmark_multi) 中获得了 **0.635** 的mAP，远超基线算法的0.500 mAP。详细信息请参见 [此仓库](https:\u002F\u002Fgithub.com\u002Fcardwing\u002Funsupervised_llamas\u002Ftree\u002Fmaster\u002FENet-SAD-Simple)。\n\n（欢迎试用我们的模型！！！）\n\n3. 现已支持多GPU训练。只需修改 global_config.py 中的 BATCH_SIZE 和 GPU_NUM，然后使用 `CUDA_VISIBLE_DEVICES=\"0,1,2,3\" python 文件名.py` 即可。感谢 @ yujincheng08。\n\n# 内容\n\n* [安装](#Installation)\n* [数据集](#Datasets)\n  * [TuSimple](#TuSimple)\n  * [CULane](#CULane)\n  * [BDD100K](#BDD100K)\n* [SCNN-Tensorflow](#SCNN-Tensorflow)\n  * [测试](#Test)\n  * [训练](#Train)\n* [性能](#Performance)\n* [其他](#Others)\n  * [引用](#Citation)\n  * [致谢](#Acknowledgement)\n  * [联系方式](#Contact)\n\n# 安装\n\n1. 安装必要的软件包：\n```\n    conda create -n tensorflow_gpu pip python=3.5\n    source activate tensorflow_gpu\n    pip install --upgrade tensorflow-gpu==1.3.0\n    pip3 install -r SCNN-Tensorflow\u002Flane-detection-model\u002Frequirements.txt\n```\n\n2. 下载VGG-16：\n\n从 [这里](https:\u002F\u002Fgithub.com\u002Fmachrisaa\u002Ftensorflow-vgg) 下载 vgg.npy，并将其放置在 SCNN-Tensorflow\u002Flane-detection-model\u002Fdata 目录下。\n\n3. 用于测试的预训练模型：\n\n请从 [这里](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-E0Bws7-v35vOVfqEXDTJdfovUTQ2sf5) 下载预训练模型。\n\n# 数据集\n\n## TuSimple\n\nTuSimple测试集的真实标签现已在 [TuSimple](https:\u002F\u002Fgithub.com\u002FTuSimple\u002Ftusimple-benchmark\u002Fissues\u002F3) 上提供。标注过的训练集（#frame = 3268）和验证集标签（#frame = 358）可在 [这里](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F11) 找到，请使用这些文件（list-name.txt）替换 [train_lanenet.py](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Ftools\u002Ftrain_lanenet.py) 中的 train_gt.txt 和 val_gt.txt。此外，您需要将图像尺寸调整为256 x 512，而非TuSimple默认的288 x 800。请务必更改行和列的最大索引，详细说明请参见 [此处](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F18)。请使用这些标签和 [此脚本](https:\u002F\u002Fgithub.com\u002FTuSimple\u002Ftusimple-benchmark\u002Fblob\u002Fmaster\u002Fevaluate\u002Flane.py) 来评估您的 pred.json。另外，生成 pred.json 的方法可参考 [此议题](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F4)。\n\n## CULane\n\n完整数据集可在 [CULane](https:\u002F\u002Fxingangpan.github.io\u002Fprojects\u002FCULane.html) 获取。\n\n## BDD100K\n\n完整数据集可在 [BDD100K](http:\u002F\u002Fbdd-data.berkeley.edu\u002F) 获取。\n\n# SCNN-Tensorflow\n\n## 测试\n    cd SCNN-Tensorflow\u002Flane-detection-model\n    CUDA_VISIBLE_DEVICES=\"0\" python tools\u002Ftest_lanenet.py --weights_path 模型权重文件路径 --image_path 图像名称列表路径 --save_dir 保存目录\n\n请注意，图像名称列表的路径应类似于 [test_img.txt](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdemo_file\u002Ftest_img.txt)。此时，您将获得来自我们模型的概率图。为了得到最终的性能指标，您需要按照 [SCNN](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN) 的方法，从概率图中提取曲线，并计算精确率、召回率和F1分数。\n\n提醒：请检查 [lanenet_data_processor.py](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdata_provider\u002Flanenet_data_processor.py) 和 [lanenet_data_processor_test.py](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdata_provider\u002Flanenet_data_processor.py) ，以确保图像路径处理正确。建议在图像路径列表中使用绝对路径。此外，此代码要求训练和测试时的批次大小保持一致。如需在测试阶段启用任意批次大小，请参阅 [此议题](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F10)。\n\n## 训练\n    CUDA_VISIBLE_DEVICES=\"0\" python tools\u002Ftrain_lanenet.py --net vgg --dataset_dir CULane数据集路径\u002F\n\n请注意，CULane数据集路径下应包含类似 [train_gt.txt](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdemo_file\u002Ftrain_gt.txt) 和 [val_gt.txt](.\u002FSCNN-Tensorflow\u002Flane-detection-model\u002Fdemo_file\u002Ftrain_gt.txt) 的文件。\n\n# 性能\n\n1. TuSimple 测试集：\n\n|模型|准确率|假阳性|假阴性|\n|:---:|:---:|:---:|:---:|\n|[SCNN-Torch](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN)|96.53%|0.0617|0.0180|\n|SCNN-Tensorflow|--|--|--|\n|ENet-Label-Torch|96.64%|0.0602|0.0205|\n\n用于测试的预训练模型在此处。（即将发布！）请注意，在 TuSimple 数据集中，SCNN-Torch 基于 ResNet-101，而 SCNN-Tensorflow 则基于 VGG-16。在 CULane 和 BDD100K 数据集中，SCNN-Torch 和 SCNN-Tensorflow 均基于 VGG-16。\n\n2. CULane 测试集（F1 分数）：\n\n|类别|[SCNN-Torch](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN)|SCNN-Tensorflow|ENet-Label-Torch|ERFNet-CULane-PyTorch|\n|:---:|:---:|:---:|:---:|:---:|\n|正常|90.6|90.2|90.7|**91.5**|\n|拥挤|69.7|71.9|70.8|71.6|\n|夜间|66.1|64.6|65.9|**67.1**|\n|无线|43.4|45.8|44.7|45.1|\n|阴影|66.9|73.8|70.6|71.3|\n|箭头|84.1|83.8|85.8|**87.2**|\n|眩光|58.5|59.5|64.4|**66.0**|\n|弯道|64.4|63.4|65.4|**66.3**|\n|十字路口|1990|4137|2729|2199|\n|总计|71.6|71.3|72.0|**73.1**|\n|运行时间（ms）|133.5|--|13.4|**10.2**|\n|参数量（M）|20.72|--|**0.98**|2.49|\n\n用于测试的预训练模型请见[此处](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-E0Bws7-v35vOVfqEXDTJdfovUTQ2sf5)。请注意，您需要在 test_lanenet.py 中调换 VGG-MEAN 的顺序，并将输入图像的通道顺序由 RGB 改为 BGR，因为该预训练模型使用 OpenCV 读取图像。您还可以参考[此问题](https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F5)，以进一步提升性能。\n\n3. BDD100K 测试集：\n\n|模型|准确率|IoU|\n|:---:|:---:|:---:|\n|[SCNN-Torch](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN)|35.79%|15.84|\n|SCNN-Tensorflow|--|--|\n|ENet-Label-Torch|36.56%|16.02|\n\n计算的是车道像素的准确率和 IoU。用于测试的预训练模型在此处。（即将发布！）\n\n# 其他\n\n## 引用\n\n如果您使用这些代码，请引用以下文献：\n\n``` \n@article{hou2019learning,\n  title={Learning Lightweight Lane Detection CNNs by Self Attention Distillation},\n  author={Hou, Yuenan and Ma, Zheng and Liu, Chunxiao and Loy, Chen Change},\n  journal={arXiv preprint arXiv:1908.00821},\n  year={2019}\n}\n\n@inproceedings{pan2018SCNN,  \n  author = {Xingang Pan, Jianping Shi, Ping Luo, Xiaogang Wang, and Xiaoou Tang},  \n  title = {Spatial As Deep: Spatial CNN for Traffic Scene Understanding},  \n  booktitle = {AAAI Conference on Artificial Intelligence (AAAI)},  \n  month = {February},  \n  year = {2018}  \n}\n\n@misc{hou2019agnostic,\n    title={Agnostic Lane Detection},\n    author={Yuenan Hou},\n    year={2019},\n    eprint={1905.03704},\n    archivePrefix={arXiv},\n    primaryClass={cs.CV}\n}\n```\n\n## 致谢\n本仓库基于 [SCNN](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN) 和 [LaneNet](https:\u002F\u002Fgithub.com\u002FMaybeShewill-CV\u002Flanenet-lane-detection) 构建。\n\n## 联系方式\n如果您在复现结果时遇到任何问题，请在此仓库中提交 issue。\n\n## 待办事项\n- [ ] 在 TuSimple 和 BDD100K 上测试 SCNN-Tensorflow\n- [x] 提供在 TuSimple 和 BDD100K 上运行 SCNN-Tensorflow 的详细说明\n- [x] 上传我们的轻量级模型（ENet-SAD）及其训练和测试脚本","# Codes-for-Lane-Detection 快速上手指南\n\n本指南基于 `Codes-for-Lane-Detection` 开源项目，帮助开发者快速部署并运行轻量级车道线检测模型（ENet-SAD）及 SCNN-Tensorflow 实现。\n\n## 环境准备\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **Python 版本**: 3.5 (项目原始依赖，建议通过 Conda 隔离环境)\n*   **深度学习框架**: TensorFlow-GPU 1.3.0\n*   **硬件要求**: 支持 CUDA 的 NVIDIA GPU\n*   **前置依赖**:\n    *   Anaconda 或 Miniconda\n    *   Git\n\n> **注意**：由于项目依赖较旧的 TensorFlow 版本 (1.3.0)，强烈建议使用虚拟环境以避免与现有系统冲突。国内用户可使用清华源加速包下载。\n\n## 安装步骤\n\n### 1. 创建并激活虚拟环境\n使用 Conda 创建指定 Python 版本的环境，并配置国内镜像源加速安装。\n\n```bash\n# 创建名为 tensorflow_gpu 的环境，指定 Python 3.5\nconda create -n tensorflow_gpu pip python=3.5\n\n# 激活环境\nsource activate tensorflow_gpu\n\n# 配置清华源（可选，加速下载）\npip config set global.index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 2. 安装核心依赖\n安装 TensorFlow-GPU 及项目所需的其余依赖包。\n\n```bash\n# 安装 TensorFlow-GPU 1.3.0\npip install --upgrade tensorflow-gpu==1.3.0\n\n# 进入项目目录后安装其他依赖\ncd SCNN-Tensorflow\u002Flane-detection-model\npip3 install -r requirements.txt\n```\n\n### 3. 下载预训练模型与权重\n项目需要 VGG-16 权重文件及预训练的车道线检测模型。\n\n*   **下载 VGG-16 权重**:\n    从 [tensorflow-vgg](https:\u002F\u002Fgithub.com\u002Fmachrisaa\u002Ftensorflow-vgg) 下载 `vgg.npy` 文件，并将其放置于 `SCNN-Tensorflow\u002Flane-detection-model\u002Fdata` 目录下。\n\n*   **下载预训练模型**:\n    从 [Google Drive](https:\u002F\u002Fdrive.google.com\u002Fopen?id=1-E0Bws7-v35vOVfqEXDTJdfovUTQ2sf5) 下载预训练模型文件，保存路径自行指定（后续测试命令需引用此路径）。\n\n## 基本使用\n\n以下演示如何使用预训练模型对单张或多张图片进行车道线检测推理。\n\n### 1. 准备测试图片列表\n创建一个文本文件（例如 `test_img.txt`），每行包含一张待检测图片的**绝对路径**。格式参考：\n```text\n\u002Fpath\u002Fto\u002Fimage1.jpg\n\u002Fpath\u002Fto\u002Fimage2.jpg\n```\n\n### 2. 运行测试脚本\n在项目根目录下执行以下命令。请替换 `path\u002Fto\u002Fmodel_weights_file` 为实际模型路径，`path\u002Fto\u002Fimage_name_list` 为上一步创建的列表文件路径，`to_be_saved_dir` 为结果保存目录。\n\n```bash\ncd SCNN-Tensorflow\u002Flane-detection-model\n\n# 设置可见 GPU 设备并运行测试\nCUDA_VISIBLE_DEVICES=\"0\" python tools\u002Ftest_lanenet.py --weights_path path\u002Fto\u002Fmodel_weights_file --image_path path\u002Fto\u002Fimage_name_list --save_dir to_be_saved_dir\n```\n\n### 3. 获取最终结果\n上述命令执行后将生成概率图（Probability Maps）。若要获取最终的车道线曲线坐标及评估指标（Precision, Recall, F1-measure），需参照原 [SCNN](https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN) 项目的后处理逻辑，从概率图中提取曲线并进行计算。\n\n> **提示**：确保 `lanenet_data_processor.py` 中的图像路径处理逻辑正确，建议在图片列表中使用绝对路径。训练与测试时的 Batch Size 需保持一致，若需动态调整测试 Batch Size，请参考项目 Issue #10 进行修改。","某自动驾驶初创团队正在为一款面向量产的低成本物流车开发车道线感知模块，需要在算力有限的嵌入式芯片上实现高实时性的车道检测。\n\n### 没有 Codes-for-Lane-Detection 时\n- **硬件成本高昂**：为了运行当时主流的 SCNN 模型，团队不得不选用昂贵的高算力工控机，导致单车 BOM 成本大幅超出预算。\n- **推理延迟严重**：现有模型参数量大，在边缘设备上推理速度慢，无法满足车辆高速行驶时对毫秒级响应的安全需求。\n- **复杂场景识别率低**：在夜间、遮挡或车道线模糊的 CULane 测试集中，模型经常出现漏检或误检，F1 值难以突破瓶颈。\n- **多数据集适配困难**：针对不同地区的数据集（如 TuSimple 或 BDD100K），需要重新设计网络结构并耗费大量时间调优。\n\n### 使用 Codes-for-Lane-Detection 后\n- **显著降低硬件门槛**：基于 ENet 架构并结合自注意力蒸馏技术，模型参数量减少了 20 倍，使得低成本嵌入式芯片也能流畅运行。\n- **实时性提升十倍**：推理速度比 SCNN 快 10 倍，确保了车辆在高速场景下的决策延迟极低，满足量产实时性要求。\n- **精度全面超越标杆**：在 CULane 测试集上 F1 值提升至 72.0（优于 SCNN 的 71.6），在 TuSimple 上准确率高达 96.64%，有效解决了复杂路况下的识别难题。\n- **泛化能力更强**：同一套轻量级架构无需大幅修改即可在 BDD100K 等多个数据集上取得优于主流模型的效果，大幅缩短了新场景的落地周期。\n\nCodes-for-Lane-Detection 通过自注意力蒸馏技术，成功打破了高精度车道检测与低算力部署之间的壁垒，让量产级自动驾驶感知成为可能。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fcardwing_Codes-for-Lane-Detection_36c3a179.png","cardwing","HOU Yuenan","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fcardwing_74239c29.jpg","Researcher, Shanghai AI Lab; MMLab, the Chinese University of Hong Kong.","CUHK","Hong Kong","hy117@ie.cuhk.edu.hk",null,"https:\u002F\u002Fcardwing.github.io\u002F","https:\u002F\u002Fgithub.com\u002Fcardwing",[83,87,91,95,99,103],{"name":84,"color":85,"percentage":86},"Lua","#000080",54,{"name":88,"color":89,"percentage":90},"Python","#3572A5",30.4,{"name":92,"color":93,"percentage":94},"C++","#f34b7d",11.2,{"name":96,"color":97,"percentage":98},"Shell","#89e051",2.2,{"name":100,"color":101,"percentage":102},"MATLAB","#e16737",1.6,{"name":104,"color":105,"percentage":106},"Makefile","#427819",0.6,1068,335,"2026-04-06T15:53:11","MIT",4,"Linux","需要 NVIDIA GPU (基于 tensorflow-gpu)，支持多卡训练，具体显存大小未说明","未说明",{"notes":116,"python":117,"dependencies":118},"1. 该项目主要基于 TensorFlow 1.3.0 (SCNN-Tensorflow) 和 PyTorch (ENet\u002FERFNet 部分)，安装指令中明确展示了 TensorFlow 环境的构建。2. 需手动下载 VGG-16 预训练模型文件 (vgg.npy) 并放置于指定目录。3. 测试时需注意图像通道顺序 (RGB\u002FBGR) 及均值处理顺序与预训练模型保持一致。4. 数据集 (TuSimple, CULane, BDD100K) 需单独下载并按特定格式整理标签文件。5. 多 GPU 训练需修改配置文件中的 BATCH_SIZE 和 GPU_NUM，并使用 CUDA_VISIBLE_DEVICES 环境变量启动。","3.5",[119,120],"tensorflow-gpu==1.3.0","VGG-16 预训练权重 (vgg.npy)",[122,14],"其他",[124,125,126,127,128,129],"lane-detection","deep-learning","lua","tensorflow","cnn","pytorch","2026-03-27T02:49:30.150509","2026-04-13T13:38:13.368543",[133,138,143,148,153,158,163,168],{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},31573,"为什么使用预训练模型测试得到的车道线检测结果很差，甚至在没有车道线的图片中 exist.txt 也显示存在车道线？","这可能是由于坐标转换或后处理代码的问题。建议检查用于生成结果图的脚本。如果是从概率图生成车道线坐标，可以参考 SCNN 项目中的工具代码（https:\u002F\u002Fgithub.com\u002FXingangPan\u002FSCNN\u002Ftree\u002Fmaster\u002Ftools\u002Fprob2lines），该逻辑已转移到 Python 版本中（见 prob_to_lines.py）。确保标签格式和坐标映射与模型输出一致。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F21",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},31574,"如何从 TuSimple 数据集的 JSON 文件生成类似 CULane 的标签图像？如何确定车道线 ID？","TuSimple 数据集中每张图像可能包含 0 到 5 条车道线。生成标签图像时，需根据 JSON 中的关键点坐标绘制对应 ID 的车道线掩码。虽然官方未直接提供生成代码，但可参考 CULane 的标签生成逻辑进行适配。此外，使用 ERFNet-SAD 模型在 TuSimple 测试集上应至少达到 96% 的准确率，可作为验证标签生成正确性的参考指标。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F11",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},31575,"为什么在不同电脑上运行相同的代码和模型，有的结果好，有的结果差？","这通常与环境配置有关，包括 TensorFlow 版本、CUDA、cuDNN 和 NVIDIA 驱动的兼容性。即使代码相同，不同版本的深度学习框架或底层库可能导致数值计算差异。建议在结果正常的机器上导出完整的依赖环境（如通过 `pip freeze` 或 `conda env export`），并在其他机器上复现相同环境。特别注意 TensorFlow 1.4 与 1.7 之间可能存在行为差异。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F25",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},31576,"重新训练后训练准确率正常（70%-98%），但测试结果的 F1 分数极低（约 0.065），可能是什么原因？","训练准确率高但测试效果差，通常说明评估流程或数据预处理存在问题。请重点检查测试代码中的数据加载、归一化方式、标签读取路径及格式是否与训练时一致。维护者指出：“训练准确率没问题，请尝试检查评估过程”，并确认是否能复现相近性能。常见错误包括标签路径错误、类别映射错误或图像缩放不一致。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F23",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},31577,"启用 SAD Loss 后模型性能立即下降，且 exist loss 值较大（约 0.4），应如何解决？","SAD Loss 过大可能是由于损失计算时未设置正确的 reduction 参数。建议在计算 SAD-MSELoss 时设置 `reduction=\"mean\"`，以避免损失值异常放大。此外，注意注意力图经过 softmax 后值为 0~1，而分割标签为离散类别（如 0,1,2,3,4），需确保两者在计算 MSE 前格式对齐。若 warmup 阶段正常，激活 SAD 后性能下降，可尝试降低 SAD loss 权重或延长 warmup 轮数。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F305",{"id":159,"question_zh":160,"answer_zh":161,"source_url":162},31578,"使用单张 GPU（如 1080Ti）训练 ENet-Label-Torch 时出现 'bad argument #1 to set' 错误，如何解决？","该错误通常发生在标签读取后的处理阶段，原因是标签文件格式或路径不正确。请仔细检查标签文件的路径配置以及标签图像的格式（如是否为单通道、像素值是否为整数类别 ID）。有用户反馈“重新更改了标签格式”后问题解决。确保标签图像与代码中期望的 tensor 类型和维度一致，避免因类型不匹配导致 nn.Module.flatten() 失败。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F191",{"id":164,"question_zh":165,"answer_zh":166,"source_url":167},31579,"如何将代码从 PyTorch 0.3 升级到 1.3 以支持新显卡（如 RTX 2080）并避免 CUDA 内存错误？","升级时需移除使用已弃用 `torch.utils.ffi` 的 `no_partialbn` 分支。对于 partial batch normalization 分支，若难以迁移可暂时禁用。同时，因新版 PyTorch 学习过程可能不稳定，建议使用更小的学习率以防止 loss 变为 NaN。已有用户成功完成升级并正常工作，必要时可基于现有修改创建新的分支提交 PR。","https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Fissues\u002F167",{"id":169,"question_zh":170,"answer_zh":171,"source_url":167},31580,"在哪里可以找到 ERFNet 中 SAD 模块的实现代码？","SAD 模块的代码位于仓库的子目录 `ERFNet-CULane-PyTorch\u002F` 中（https:\u002F\u002Fgithub.com\u002Fcardwing\u002FCodes-for-Lane-Detection\u002Ftree\u002Fmaster\u002FERFNet-CULane-PyTorch）。需要注意的是，SAD loss 的计算部分可能需要用户自行实现，官方未完全封装。可参考社区成员分享的重写版本，部分用户已在 Python 中重构了相关逻辑并集成到训练流程中。",[]]