[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-OniroAI--MonoDepth-PyTorch":3,"tool-OniroAI--MonoDepth-PyTorch":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 真正成长为懂上",160411,2,"2026-04-18T23:33:24",[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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[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":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":76,"owner_email":76,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":88,"forks":89,"last_commit_at":90,"license":76,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":93,"env_deps":94,"category_tags":102,"github_topics":103,"view_count":32,"oss_zip_url":76,"oss_zip_packed_at":76,"status":17,"created_at":110,"updated_at":111,"faqs":112,"releases":142},9497,"OniroAI\u002FMonoDepth-PyTorch","MonoDepth-PyTorch","Unofficial implementation of Unsupervised Monocular Depth Estimation neural network MonoDepth in PyTorch","MonoDepth-PyTorch 是一个基于 PyTorch 框架实现的非官方版本，旨在复现经典的 MonoDepth 无监督单目深度估计算法。它的核心功能是让计算机仅通过一张普通的二维图片，就能推算出场景中物体的距离信息，生成精确的深度图。\n\n这一工具主要解决了传统深度估计依赖昂贵立体相机或激光雷达的痛点，同时也克服了有监督学习需要大量标注数据的难题。通过利用立体图像对进行自监督训练，它能够在无需人工标注深度的情况下，从单张图像中高质量地还原三维结构。\n\nMonoDepth-PyTorch 特别适合计算机视觉领域的研究人员、算法工程师以及深度学习开发者使用。对于希望探索三维重建、自动驾驶感知或机器人导航技术的团队，这是一个极具价值的开源基线项目。\n\n在技术亮点方面，该项目不仅提供了轻量化的模型选项，还引入了 ResNet18 和 ResNet50 作为编码器 backbone，并创新性地加入了批归一化（Batch Normalization）以提升训练稳定性。此外，它支持灵活调用 torchvision 模型库中的任意预训练 ResNet 版本，允许用户根据实际需求快速切换架构或利","MonoDepth-PyTorch 是一个基于 PyTorch 框架实现的非官方版本，旨在复现经典的 MonoDepth 无监督单目深度估计算法。它的核心功能是让计算机仅通过一张普通的二维图片，就能推算出场景中物体的距离信息，生成精确的深度图。\n\n这一工具主要解决了传统深度估计依赖昂贵立体相机或激光雷达的痛点，同时也克服了有监督学习需要大量标注数据的难题。通过利用立体图像对进行自监督训练，它能够在无需人工标注深度的情况下，从单张图像中高质量地还原三维结构。\n\nMonoDepth-PyTorch 特别适合计算机视觉领域的研究人员、算法工程师以及深度学习开发者使用。对于希望探索三维重建、自动驾驶感知或机器人导航技术的团队，这是一个极具价值的开源基线项目。\n\n在技术亮点方面，该项目不仅提供了轻量化的模型选项，还引入了 ResNet18 和 ResNet50 作为编码器 backbone，并创新性地加入了批归一化（Batch Normalization）以提升训练稳定性。此外，它支持灵活调用 torchvision 模型库中的任意预训练 ResNet 版本，允许用户根据实际需求快速切换架构或利用迁移学习加速开发进程，显著提升了模型的准确率与部署灵活性。","# MonoDepth\n![demo.gif animation](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOniroAI_MonoDepth-PyTorch_readme_559ab0e00a01.gif)\n\nThis repo is inspired by an amazing work of [Clément Godard](http:\u002F\u002Fwww0.cs.ucl.ac.uk\u002Fstaff\u002FC.Godard\u002F), [Oisin Mac Aodha](http:\u002F\u002Fvision.caltech.edu\u002F~macaodha\u002F) and [Gabriel J. Brostow](http:\u002F\u002Fwww0.cs.ucl.ac.uk\u002Fstaff\u002Fg.brostow\u002F) for Unsupervised Monocular Depth Estimation.\nOriginal code and paper could be found via the following links:\n1. [Original repo](https:\u002F\u002Fgithub.com\u002Fmrharicot\u002Fmonodepth)\n2. [Original paper](https:\u002F\u002Farxiv.org\u002Fabs\u002F1609.03677)\n\n## MonoDepth-PyTorch\nThis repository contains code and additional parts for the PyTorch port of the MonoDepth Deep Learning algorithm. For more information about original work, please visit [author's website](http:\u002F\u002Fvisual.cs.ucl.ac.uk\u002Fpubs\u002FmonoDepth\u002F)\n\n## Purpose\n\nPurpose of this repository is to make a more lightweight model for depth estimation with better accuracy.\nIn our version of MonoDepth, we used ResNet50 as an encoder. It was slightly changed (with one more lateral shrinkage) as well as in the original repo.\n\nAlso, we add ResNet18 version and used batch normalization in both cases for training stability.\nMoreover, we made flexible feature extractor with any version of original Resnet from torchvision models zoo\n with an option to use pretrained models.\n\n## Dataset\n### KITTI\n\nThis algorithm requires stereo-pair images for training and single images for testing.\n[KITTI](http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Fraw_data.php) dataset was used for training.\nIt contains 38237 training samples.\nRaw dataset (about 175 GB) can be downloaded by running:\n```shell\nwget -i kitti_archives_to_download.txt -P ~\u002Fmy\u002Foutput\u002Ffolder\u002F\n```\nkitti_archives_to_download.txt may be found in this repo.\n\n## Dataloader\nDataloader assumes the following structure of the folder with train examples (**'data_dir'** argument contains path to that folder):\nThe folder contains subfolders with following folders \"image_02\u002Fdata\" for left images and  \"image_03\u002Fdata\" for right images.\nSuch structure is default for KITTI dataset\n\nExample data folder structure (path to the \"kitti\" directory should be passed as **'data_dir'** in this example):\n```\ndata\n├── kitti\n│   ├── 2011_09_26_drive_0001_sync\n│   │   ├── image_02\n│   │   │   ├─ data\n│   │   │   │   ├── 0000000000.png\n│   │   │   │   └── ...\n│   │   ├── image_03\n│   │   │   ├── data\n│   │   │   │   ├── 0000000000.png\n│   │   │   │   └── ...\n│   ├── ...\n├── models\n├── output\n├── test\n│   ├── left\n│   │   ├── test_1.jpg\n│   │   └── ...\n```\n    \n## Training\nExample of training can be find in [Monodepth](Monodepth.ipynb) notebook.\n\nModel class from main_monodepth_pytorch.py should be initialized with following params (as easydict) for training:\n - `data_dir`: path to the dataset folder\n - `val_data_dir`: path to the validation dataset folder\n - `model_path`: path to save the trained model\n - `output_directory`: where save dispairities for tested images\n - `input_height`\n - `input_width`\n - `model`: model for encoder (resnet18_md or resnet50_md or any torchvision version of Resnet (resnet18, resnet34 etc.)\n - `pretrained`: if use a torchvision model it's possible to download weights for pretrained model\n - `mode`: train or test\n - `epochs`: number of epochs,\n - `learning_rate`\n - `batch_size`\n - `adjust_lr`: apply learning rate decay or not\n - `tensor_type`:'torch.cuda.FloatTensor' or 'torch.FloatTensor'\n - `do_augmentation`:do data augmentation or not\n - `augment_parameters`:lowest and highest values for gamma, lightness and color respectively\n - `print_images`\n - `print_weights`\n - `input_channels` Number of channels in input tensor (3 for RGB images)\n - `num_workers` Number of workers to use in dataloader\n\nOptionally after initialization, we can load a pretrained model via `model.load`.\n\nAfter that calling train() on Model class object starts the training process.\n\nAlso, it can be started via calling main_monodepth_pytorch.py through the terminal and feeding parameters as argparse arguments.\n\n## Train results and pretrained model\n\nResults presented on the gif image were obtained using the model with a **resnet18** as an encoder, which can be downloaded from [here](https:\u002F\u002Fmy.pcloud.com\u002Fpublink\u002Fshow?code=XZb5r97ZD7HDDlc237BMjoCbWJVYMm0FLKcy).\n\nFor training the following parameters were used:\n```\n`model`: 'resnet18_md'\n`epochs`: 200,\n`learning_rate`: 1e-4,\n`batch_size`: 8,\n`adjust_lr`: True,\n`do_augmentation`: True\n```\nThe provided model was trained on the whole dataset, except subsets, listed below, which were used for a hold-out validation.\n\n```\n2011_09_26_drive_0002_sync  2011_09_29_drive_0071_sync\n2011_09_26_drive_0014_sync  2011_09_30_drive_0033_sync\n2011_09_26_drive_0020_sync  2011_10_03_drive_0042_sync\n2011_09_26_drive_0079_sync\n```\n\nThe demo gif image is a visualization of the predictions on `2011_09_26_drive_0014_sync` subset.\n\nSee [Monodepth](Monodepth.ipynb) notebook for the details on the training.\n    \n## Testing\nExample of testing can also be find in [Monodepth](Monodepth.ipynb) notebook.\n\nModel class from main_monodepth_pytorch.py should be initialized with following params (as easydict) for testing:\n - `data_dir`: path to the dataset folder\n - `model_path`: path to save the trained model\n - `pretrained`: \n - `output_directory`: where save dispairities for tested images\n - `input_height`\n - `input_width`\n - `model`: model for encoder (resnet18 or resnet50)\n - `mode`: train or test\n - `input_channels` Number of channels in input tensor (3 for RGB images)\n - `num_workers` Number of workers to use in dataloader\n \nAfter that calling test() on Model class object starts testing process.\n\nAlso it can be started via calling [main_monodepth_pytorch.py](main_monodepth_pytorch.py) through the terminal and feeding parameters as argparse arguments. \n    \n## Requirements\nThis code was tested with PyTorch 0.4.1, CUDA 9.1 and Ubuntu 16.04. Other required modules:\n\n```\ntorchvision\nnumpy\nmatplotlib\neasydict\n```\n","# MonoDepth\n![demo.gif 动画](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOniroAI_MonoDepth-PyTorch_readme_559ab0e00a01.gif)\n\n本仓库的灵感来源于 [Clément Godard](http:\u002F\u002Fwww0.cs.ucl.ac.uk\u002Fstaff\u002FC.Godard\u002F)、[Oisin Mac Aodha](http:\u002F\u002Fvision.caltech.edu\u002F~macaodha\u002F) 和 [Gabriel J. Brostow](http:\u002F\u002Fwww0.cs.ucl.ac.uk\u002Fstaff\u002Fg.brostow\u002F) 在无监督单目深度估计方面所做的出色工作。\n原始代码和论文可通过以下链接找到：\n1. [原始仓库](https:\u002F\u002Fgithub.com\u002Fmrharicot\u002Fmonodepth)\n2. [原始论文](https:\u002F\u002Farxiv.org\u002Fabs\u002F1609.03677)\n\n## MonoDepth-PyTorch\n本仓库包含 MonoDepth 深度学习算法的 PyTorch 版本实现及相关代码。如需了解原始工作的更多信息，请访问 [作者网站](http:\u002F\u002Fvisual.cs.ucl.ac.uk\u002Fpubs\u002FmonoDepth\u002F)。\n\n## 目的\n\n本仓库的目标是构建一个更轻量级且精度更高的深度估计模型。在我们的 MonoDepth 实现中，我们使用了 ResNet50 作为编码器，并对其进行了小幅修改（增加了一次横向下采样），与原始仓库中的做法一致。\n\n此外，我们还增加了 ResNet18 的版本，并在两种情况下都使用了批量归一化以提高训练稳定性。更为重要的是，我们设计了一个灵活的特征提取器，支持 torchvision 模型库中的任意版本 ResNet，并可选择使用预训练模型。\n\n## 数据集\n### KITTI\n\n该算法需要用于训练的立体图像对以及用于测试的单张图像。我们使用了 [KITTI](http:\u002F\u002Fwww.cvlibs.net\u002Fdatasets\u002Fkitti\u002Fraw_data.php) 数据集进行训练，其中包含 38,237 个训练样本。原始数据集（约 175 GB）可以通过运行以下命令下载：\n```shell\nwget -i kitti_archives_to_download.txt -P ~\u002Fmy\u002Foutput\u002Ffolder\u002F\n```\n`kitti_archives_to_download.txt` 文件可在本仓库中找到。\n\n## 数据加载器\n数据加载器假定训练数据文件夹具有如下结构（`data_dir` 参数为该文件夹路径）：\n文件夹内包含子文件夹，分别存放左视图图像 `image_02\u002Fdata` 和右视图图像 `image_03\u002Fdata`。这种结构是 KITTI 数据集的默认格式。\n\n示例数据文件夹结构（本例中应将 `kitti` 目录路径作为 `data_dir` 传入）：\n```\ndata\n├── kitti\n│   ├── 2011_09_26_drive_0001_sync\n│   │   ├── image_02\n│   │   │   ├─ data\n│   │   │   │   ├── 0000000000.png\n│   │   │   │   └── ...\n│   │   ├── image_03\n│   │   │   ├── data\n│   │   │   │   ├── 0000000000.png\n│   │   │   │   └── ...\n│   ├── ...\n├── models\n├── output\n├── test\n│   ├── left\n│   │   ├── test_1.jpg\n│   │   └── ...\n```\n\n## 训练\n训练示例可在 [Monodepth](Monodepth.ipynb) 笔记本中找到。\n\n`main_monodepth_pytorch.py` 中的模型类需使用以下参数（以 easydict 形式）初始化后方可开始训练：\n- `data_dir`: 数据集文件夹路径\n- `val_data_dir`: 验证数据集文件夹路径\n- `model_path`: 训练好的模型保存路径\n- `output_directory`: 测试图像的深度图保存路径\n- `input_height`\n- `input_width`\n- `model`: 编码器模型（resnet18_md 或 resnet50_md，或 torchvision 提供的任意 ResNet 版本，如 resnet18、resnet34 等）\n- `pretrained`: 若使用 torchvision 模型，可下载预训练权重\n- `mode`: 训练或测试模式\n- `epochs`: 训练轮数\n- `learning_rate`\n- `batch_size`\n- `adjust_lr`: 是否应用学习率衰减\n- `tensor_type`: 'torch.cuda.FloatTensor' 或 'torch.FloatTensor'\n- `do_augmentation`: 是否进行数据增强\n- `augment_parameters`: gamma、亮度和色彩的最小值及最大值\n- `print_images`\n- `print_weights`\n- `input_channels`: 输入张量的通道数（RGB 图像为 3）\n- `num_workers`: 数据加载器使用的工作者数量\n\n可选地，在初始化后，我们还可以通过调用 `model.load()` 加载预训练模型。\n\n随后，调用模型类对象的 `train()` 方法即可启动训练过程。\n\n此外，也可以通过终端直接运行 `main_monodepth_pytorch.py`，并以 argparse 参数的形式传递相应配置来启动训练。\n\n## 训练结果与预训练模型\n\n动图中展示的结果是使用 **ResNet18** 作为编码器的模型生成的，该模型可从 [这里](https:\u002F\u002Fmy.pcloud.com\u002Fpublink\u002Fshow?code=XZb5r97ZD7HDDlc237BMjoCbWJVYMm0FLKcy) 下载。\n\n用于训练的参数如下：\n```\n`model`: 'resnet18_md'\n`epochs`: 200,\n`learning_rate`: 1e-4,\n`batch_size`: 8,\n`adjust_lr`: True,\n`do_augmentation`: True\n```\n\n所提供的模型是在整个数据集上训练得到的，但排除了以下用于留出验证的子集：\n```\n2011_09_26_drive_0002_sync  2011_09_29_drive_0071_sync\n2011_09_26_drive_0014_sync  2011_09_30_drive_0033_sync\n2011_09_26_drive_0020_sync  2011_10_03_drive_0042_sync\n2011_09_26_drive_0079_sync\n```\n\n演示动图是对 `2011_09_26_drive_0014_sync` 子集预测结果的可视化展示。\n\n更多训练细节请参阅 [Monodepth](Monodepth.ipynb) 笔记本。\n\n## 测试\n测试示例同样可在 [Monodepth](Monodepth.ipynb) 笔记本中找到。\n\n`main_monodepth_pytorch.py` 中的模型类需使用以下参数（以 easydict 形式）初始化后方可开始测试：\n- `data_dir`: 数据集文件夹路径\n- `model_path`: 训练好的模型保存路径\n- `pretrained`:\n- `output_directory`: 测试图像的深度图保存路径\n- `input_height`\n- `input_width`\n- `model`: 编码器模型（resnet18 或 resnet50）\n- `mode`: 训练或测试模式\n- `input_channels`: 输入张量的通道数（RGB 图像为 3）\n- `num_workers`: 数据加载器使用的工作者数量\n\n随后，调用模型类对象的 `test()` 方法即可开始测试过程。\n\n此外，也可以通过终端运行 [main_monodepth_pytorch.py](main_monodepth_pytorch.py)，并以 argparse 参数的形式传递相应配置来启动测试。\n\n## 要求\n本代码已在 PyTorch 0.4.1、CUDA 9.1 和 Ubuntu 16.04 环境下测试通过。其他所需模块包括：\n```\ntorchvision\nnumpy\nmatplotlib\neasydict\n```","# MonoDepth-PyTorch 快速上手指南\n\nMonoDepth-PyTorch 是一个基于 PyTorch 实现的单目深度估计算法。该项目旨在提供比原版更轻量且精度更高的模型，支持 ResNet18 和 ResNet50 作为编码器，并引入了批归一化（Batch Normalization）以提升训练稳定性。\n\n## 环境准备\n\n本代码已在 **Ubuntu 16.04**、**CUDA 9.1** 和 **PyTorch 0.4.1** 环境下测试通过。请确保您的开发环境满足以下要求：\n\n*   **操作系统**: Linux (推荐 Ubuntu)\n*   **GPU 驱动**: 支持 CUDA 9.1 或更高版本\n*   **Python 依赖**:\n    *   PyTorch (0.4.1+)\n    *   torchvision\n    *   numpy\n    *   matplotlib\n    *   easydict\n\n> **提示**：国内用户建议使用清华源或阿里源加速 PyTorch 及相关库的安装。\n\n## 安装步骤\n\n1.  **克隆仓库**\n    ```bash\n    git clone https:\u002F\u002Fgithub.com\u002Fmrharicot\u002Fmonodepth.git\n    cd monodepth\n    ```\n    *(注：如果这是 PyTorch 移植版仓库，请替换为对应的仓库地址)*\n\n2.  **安装依赖**\n    推荐使用国内镜像源安装 Python 依赖包：\n    ```bash\n    pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n    如果项目中没有 `requirements.txt`，请手动安装核心依赖：\n    ```bash\n    pip install torch torchvision numpy matplotlib easydict -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n    ```\n\n3.  **准备数据集 (KITTI)**\n    该算法训练需要立体图像对，测试仅需单张图片。以 KITTI 数据集为例：\n    \n    下载原始数据（约 175 GB）：\n    ```shell\n    wget -i kitti_archives_to_download.txt -P ~\u002Fmy\u002Foutput\u002Ffolder\u002F\n    ```\n    \n    **目录结构要求**：\n    确保数据文件夹结构如下，训练时需将包含 `kitti` 的父目录路径传递给 `data_dir` 参数：\n    ```text\n    data\n    ├── kitti\n    │   ├── 2011_09_26_drive_0001_sync\n    │   │   ├── image_02\n    │   │   │   └─ data\n    │   │   │       ├── 0000000000.png\n    │   │   │       └── ...\n    │   │   ├── image_03\n    │   │       └── data\n    │   │           ├── 0000000000.png\n    │   │           └── ...\n    ├── models\n    ├── output\n    └── test\n        └── left\n            ├── test_1.jpg\n            └── ...\n    ```\n\n## 基本使用\n\n您可以通过 Python 代码或命令行两种方式运行模型。\n\n### 方式一：使用 Python 代码 (推荐)\n\n您可以参考项目中的 `Monodepth.ipynb` Notebook，或通过以下脚本逻辑初始化和运行模型。\n\n**1. 初始化参数**\n使用 `easydict` 配置运行参数：\n\n```python\nfrom easydict import EasyDict as edict\nfrom main_monodepth_pytorch import Model\n\nparams = edict(\n    data_dir='\u002Fpath\u002Fto\u002Fdata',              # 数据集文件夹路径\n    val_data_dir='\u002Fpath\u002Fto\u002Fval_data',      # 验证集路径 (训练时必需)\n    model_path='\u002Fpath\u002Fto\u002Fsave\u002Fmodel',      # 模型保存路径\n    output_directory='\u002Fpath\u002Fto\u002Foutput',    # 输出视差图的路径\n    input_height=256,\n    input_width=512,\n    model='resnet18_md',                   # 编码器类型: resnet18_md, resnet50_md 或 torchvision 版本\n    pretrained=False,                      # 是否使用 torchvision 预训练权重\n    mode='train',                          # 模式: 'train' 或 'test'\n    epochs=200,\n    learning_rate=1e-4,\n    batch_size=8,\n    adjust_lr=True,                        # 是否应用学习率衰减\n    tensor_type='torch.cuda.FloatTensor',  # 根据是否有 GPU 选择\n    do_augmentation=True,                  # 是否进行数据增强\n    augment_parameters=[0.8, 1.2, 0.5, 1.5, 0.8, 1.2], # gamma, lightness, color 范围\n    print_images=False,\n    print_weights=False,\n    input_channels=3,\n    num_workers=4\n)\n\n# 初始化模型\nmodel = Model(params)\n\n# 可选：加载预训练模型\n# model.load('\u002Fpath\u002Fto\u002Fpretrained_weights')\n```\n\n**2. 开始训练或测试**\n\n*   **训练**:\n    ```python\n    model.train()\n    ```\n*   **测试**:\n    将 `mode` 设为 `'test'` 并重新初始化（或直接调用），然后执行：\n    ```python\n    model.test()\n    ```\n\n### 方式二：命令行运行\n\n您也可以直接通过终端运行 `main_monodepth_pytorch.py` 并传入参数：\n\n**训练示例**:\n```bash\npython main_monodepth_pytorch.py \\\n    --data_dir \u002Fpath\u002Fto\u002Fdata \\\n    --model_path .\u002Fmodels \\\n    --model resnet18_md \\\n    --mode train \\\n    --epochs 200 \\\n    --batch_size 8\n```\n\n**测试示例**:\n```bash\npython main_monodepth_pytorch.py \\\n    --data_dir \u002Fpath\u002Fto\u002Ftest\u002Fimages \\\n    --model_path .\u002Fmodels\u002Fpretrained_model \\\n    --model resnet18 \\\n    --mode test \\\n    --output_directory .\u002Foutput\n```\n\n> **预训练模型**: 项目提供基于 `resnet18` 编码器的预训练模型，可在相关链接下载后通过 `model_path` 指定进行推理。","某自动驾驶初创团队正在开发低成本的城市道路感知系统，需要在仅配备单目摄像头的测试车上实时估算前方障碍物的距离信息。\n\n### 没有 MonoDepth-PyTorch 时\n- **硬件成本高昂**：为了获取准确的深度图，团队被迫采购昂贵的激光雷达或双目立体相机，导致原型车改装预算严重超支。\n- **数据标注困难**：传统的监督学习方案依赖大量带有像素级深度真值的数据集，而真实道路场景的深度标注极其耗时且费用不菲。\n- **模型部署笨重**：现有的深度估计模型参数量大、推理速度慢，难以在车载边缘计算设备上流畅运行，无法满足实时性要求。\n- **训练稳定性差**：自行复现论文代码时，缺乏批归一化等优化策略，导致模型在训练过程中经常发散，难以收敛到可用状态。\n\n### 使用 MonoDepth-PyTorch 后\n- **纯视觉低成本方案**：利用 MonoDepth-PyTorch 的无监督单目深度估计能力，团队仅凭普通单目摄像头即可生成高质量深度图，彻底省去了昂贵传感器。\n- **无需深度真值标注**：该工具支持直接使用 KITTI 等公开的双目图像对进行无监督训练，消除了人工标注深度的需求，大幅降低了数据准备门槛。\n- **轻量化与高精度平衡**：通过集成 ResNet18\u002FResNet50 编码器及批归一化技术，MonoDepth-PyTorch 在保证精度的同时显著减少了计算量，成功部署于车载嵌入式芯片。\n- **灵活的预训练支持**：开发者可直接调用 torchvision 中的预训练 ResNet 权重快速启动训练，不仅提升了收敛稳定性，还缩短了从实验到落地的周期。\n\nMonoDepth-PyTorch 让团队以极低的硬件和数据成本，实现了媲美高端传感器的单目深度感知能力，加速了自动驾驶原型的迭代验证。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FOniroAI_MonoDepth-PyTorch_1322e7da.png","OniroAI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FOniroAI_3ccd624a.png","An independent team of passionate professionals and enthusiasts of applied Computer Vision and Artificial Intelligence. ",null,"https:\u002F\u002Fwww.oniro.ai\u002F","https:\u002F\u002Fgithub.com\u002FOniroAI",[80,84],{"name":81,"color":82,"percentage":83},"Python","#3572A5",87.2,{"name":85,"color":86,"percentage":87},"Jupyter Notebook","#DA5B0B",12.8,553,129,"2026-03-17T08:56:58","Linux","需要 NVIDIA GPU (基于 CUDA 9.1 测试)，具体显存需求未说明","未说明",{"notes":95,"python":93,"dependencies":96},"该代码已在 PyTorch 0.4.1、CUDA 9.1 和 Ubuntu 16.04 环境下测试通过。训练数据集 (KITTI) 原始数据约 175GB。支持使用 ResNet18 或 ResNet50 作为编码器，并可加载 torchvision 的预训练权重。",[97,98,99,100,101],"torch==0.4.1","torchvision","numpy","matplotlib","easydict",[15,14],[104,105,106,107,108,109],"monodepth","stereo","computer-vision","deep-learning","pytorch","depth-estimation","2026-03-27T02:49:30.150509","2026-04-19T15:38:05.535666",[113,118,123,128,133,138],{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},42599,"训练过程中视差图质量随着 epoch 增加而下降（训练不稳定）怎么办？","这通常是由于数据集中存在损坏的图像（例如视频转图像过程或编码问题导致的）。建议检查并排除训练\u002F验证集中的异常图像。此外，确保使用稳定的超参数，例如学习率 lr=1e-2 和 batch_size=8，并启用数据增强（do_augmentation=True），参数设置为 [0.8, 1.2, 0.5, 2.0, 0.8, 1.2]。维护者确认在这些参数下训练是稳定的。","https:\u002F\u002Fgithub.com\u002FOniroAI\u002FMonoDepth-PyTorch\u002Fissues\u002F1",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},42600,"为什么复现的结果无法达到 Godard 论文中报告的性能（RMSE 偏高）？","性能差异通常源于评估协议的不同。请严格遵循原始项目（mrharicot\u002Fmonodepth）提供的评估脚本，特别是 `utils\u002Fevaluation_utils.py` 和 `utils\u002Fevaluate_kitti.py`。注意其中的'masking'（掩码）操作会改变有效测量点的数量，从而显著影响 RMSE 结果。请仔细检查代码中是否完整复现了这些掩码逻辑。","https:\u002F\u002Fgithub.com\u002FOniroAI\u002FMonoDepth-PyTorch\u002Fissues\u002F15",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},42601,"加载预训练模型时报错 'size mismatch'（维度不匹配）如何解决？","该错误是因为代码版本与预训练模型权重不兼容。解决方案有两个：1. 切换到特定的旧版本提交（commit 566403987b16034122f7620c11d23386fe215ce6）并使用 README 中提供的旧模型；2. 如果使用最新代码，需确保在 `main_monodepth_pytorch.py` 第 160 行将 `ImageLoader` 替换为 `KittiLoader`，并相应调整图像和模型的路径。维护者已更新主分支代码并提供了新的预训练模型以修复此问题。","https:\u002F\u002Fgithub.com\u002FOniroAI\u002FMonoDepth-PyTorch\u002Fissues\u002F9",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},42602,"深度图的尺度（scale）不正确或视差计算有误怎么办？","这是由于坐标归一化范围不一致导致的。`grid_sample` 函数假设坐标范围是 [-1, 1]，而视差通常在 [0, 1] 范围内。修复方法是将位移量乘以 2 以适配网格采样。具体代码修改为：将 `flow_field = torch.stack((x_base + x_shifts, y_base), dim=3)` 改为 `flow_field = torch.stack((x_base + 2*x_shifts, y_base), dim=3)`。同时，建议将 `get_disp` 函数的返回改为 `0.15 * F.sigmoid(x)` 以保持与 TensorFlow 原版一致。","https:\u002F\u002Fgithub.com\u002FOniroAI\u002FMonoDepth-PyTorch\u002Fissues\u002F7",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},42603,"在哪里可以下载笔记本文件中引用的预训练模型 'monodepth_resnet18_001_cpt.pth'？","如果官方链接失效或未提供，用户可以尝试切换到历史提交版本（如 commit 566403987b16034122f7620c11d23386fe215ce6）获取旧版模型，或者直接使用维护者在更新后的主分支中提供的新预训练模型。若急需测试，也可以利用 KITTI 数据集自行训练模型。","https:\u002F\u002Fgithub.com\u002FOniroAI\u002FMonoDepth-PyTorch\u002Fissues\u002F33",{"id":139,"question_zh":140,"answer_zh":141,"source_url":117},42604,"如何正确配置训练参数以复现最佳效果？","推荐的训练配置如下：模型选择 'resnet18_md' 或 'resnet50_md'，学习率设为 1e-2，batch_size 设为 8，开启学习率调整（adjust_lr=True）和数据增强（do_augmentation=True）。数据增强参数建议设置为 `[0.8, 1.2, 0.5, 2.0, 0.8, 1.2]`。请使用完整的 KITTI 数据集进行训练，并参考原始 monodepth 仓库的数据处理流程。",[]]