标签: 计算机视觉

  • img2threejs:把参考图重建为代码级 Three.js 模型的 AI 工作流(10,323★)

    img2threejs:把参考图重建为代码级 Three.js 模型的 AI 工作流(10,323★)

    项目简介

    img2threejs 是一个 AI 驱动的图像→Three.js 代码重建工作流。给一张参考图,它不会输出 OBJ/GLTF 网格或贴图,而是生成由基元几何体、程序化材质组成的 TypeScript 工厂函数 createObjectModel(),返回一个可直接在浏览器运行、可动画化的 THREE.Group。项目核心理念是“代码即模型”:结果可读、可 diff、可版本控制,而非几兆的静态网格文件。

    img2threejs 核心亮点

    安装要求与快速开始

    环境要求

    • Python 3.10+(纯标准库,无需 pip 安装)
    • Claude Code / Codex / OpenCode(作为 skill 调用)或任意终端
    • Three.js 运行时(浏览器即可)

    作为 Claude Code Skill 使用

    1. 克隆到 skills 目录:
    git clone https://github.com/img2threejs/img2threejs.git ~/.claude/skills/img2threejs
    1. 贴入参考图,在对话中运行:
    /img2threejs Rebuild this object as a Three.js model, keep the proportions, angles, and colours.

    独立脚本模式(零依赖)

    python3 forge/stage1_intake/probe_image.py <image>
    python3 forge/stage2_spec/new_pre_spec_assessment.py "Name" --image <image> --out assessment.json
    python3 forge/stage2_spec/new_sculpt_spec.py "Name" --image <image> --assessment assessment.json --out spec.json
    python3 forge/stage2_spec/validate_sculpt_spec.py spec.json --strict-quality
    python3 forge/stage3_build/generate_threejs_factory.py spec.json --out src/createObjectModel.ts

    所有脚本仅使用 Python 标准库,没有 PIL、numpy、Playwright 等依赖。

    核心功能

    • 代码即模型(Reconstruction-by-Code):用 Three.js 基元 + 程序化着色器生成工厂代码,而非摄影测量或网格提取。
    • 八阶段雕刻流水线blockout → structural → form → material → surface → lighting → interaction → optimization,每阶段生成后视觉评审,不达标则返回修正。
    • 严格质量门控--strict-quality 在写第一行 Three.js 代码前拦截规格不足的浅请求,避免浪费 token。
    • 极致 Token 高效:Python 标准库脚本负责校验、门控、规格生成和比对打包;模型只做一件事——看“参考图 vs 渲染图”对照表并判定通过/打回。
    • Agent 无关:在 Claude Code、Codex、OpenCode 中都能作为 skill 运行,也提供独立终端脚本。
    • 动画就绪 + 多主题:输出暴露 pivots、sockets、userData.tick,支持硬表面物体、人形角色、四足/禽类/飞龙/蛇形生物以及 CS2 武器家族。

    img2threejs 八阶段雕刻流水线

    典型使用场景

    • 游戏/3D 资产快速原型:给一张枪械、载具或道具参考图,直接拿到能在浏览器里跑、可交互的 Three.js 模型。
    • AI 编码助手工作流:作为 skill 嵌入 Claude Code / Codex,贴图即可在对话中完成“重建为代码”,省掉 Blender 建模或网格下载。
    • 教学与可视化演示:官方 Live Demo Gallery 展示了从 Glock-18、BMX 自行车到哆啦A梦房子的纯代码重建案例。

    推荐理由

    img2threejs 的“重建为代码”思路非常克制而实用:把机械重复工作交给纯标准库 Python,把真正的视觉判断留给大模型,从而在 LLM agent 循环中保持 token 高效。八阶段门控设计让输出可预期,README 也诚实地声明了限制——单图无法保证隐藏面精度,硬表面强、角色偏风格化。今天(2026-08-09)仍活跃推送,v1.4.4 正朝 v1.5 角色重建更新。适合已经使用 Claude Code / Codex 的开发者扩展自己的 AI 工作流。

    下载地址

  • TRELLIS.2:微软开源 4B 参数图像到 3D 生成模型,3 秒生成高保真纹理资产

    TRELLIS.2:微软开源 4B 参数图像到 3D 生成模型,3 秒生成高保真纹理资产

    TRELLIS.2

    项目简介

    TRELLIS.2 是微软研究院开源的 4B 参数大规模 3D 生成模型,专注于图像到 3D(image-to-3D)资产生成。它抛弃了传统等值面场的限制,提出一种名为 O-Voxel 的“无场”稀疏体素结构,能够原生重建和生成具有复杂拓扑、锐利细节以及完整 PBR 材质的 3D 模型。

    安装要求和过程

    目前官方仅验证过 Linux 环境,GPU 显存至少 24GB(推荐 A100 / H100),需要 CUDA 12.4 和 Conda。

    1. 克隆仓库:
      git clone -b main https://github.com/microsoft/TRELLIS.2.git --recursive
      cd TRELLIS.2
    2. 创建 conda 环境并安装依赖:
      . ./setup.sh --new-env --basic --flash-attn --nvdiffrast --nvdiffrec --cumesh --o-voxel --flexgemm
    3. 从 Hugging Face 下载 4B 预训练权重:
      https://huggingface.co/microsoft/TRELLIS.2-4B

    核心功能

    • 高保真生成:40 亿参数 DiT 模型 + 16× 下采样稀疏 3D VAE,可直接生成 512³ 到 1536³ 分辨率的带纹理 3D 资产。
    • O-Voxel 拓扑自由:原生支持开放曲面、非流形几何和内部封闭结构,无需像传统 NeRF/SDF 那样进行有损转换。
    • PBR 材质建模:不仅生成基础色,还输出 Roughness、Metallic、Opacity 等属性,支持透明与真实感渲染。
    • 极简后处理:纹理网格转 O-Voxel 单 CPU <10 秒,O-Voxel 转纹理网格在 CUDA 上 <100 毫秒。
    • 完整训练代码:开源 SC-VAE、形状/纹理 Flow Model 训练脚本,可用 Objaverse-XL 等数据从头训练或微调。

    TRELLIS.2 核心特性

    典型使用场景

    • 游戏/影视资产快速出稿:原画师只需提供一张概念图,即可在数秒内获得带 PBR 材质的可用 3D 模型,大幅缩短原型迭代周期。
    • 电商/虚拟展示:把产品照片自动转换为可旋转的 GLB 3D 资产,用于网页 AR、虚拟展厅和商品详情页。
    • 3D 内容创作者工具链:结合 ComfyUI、Blender 等工具,将 TRELLIS.2 作为 AI 建模节点,批量生成风格化道具和场景元素。

    推荐理由

    TRELLIS.2 给我的最大惊喜是“快”和“全”:快在 H100 上 3 秒就能跑出 512³ 的高质量模型;全在从模型权重到训练代码全部开源,还配有 Hugging Face Demo。相比之前很多只能生成封闭几何体的方案,它对开放曲面、衣物、叶片等复杂拓扑的处理明显更稳。对于想要在本地做 3D AIGC 的同学来说,这是目前最值得入手的工程基座之一。

    下载地址

  • PixelRAG:用网页截图做检索增强,让模型“看图说话”

    PixelRAG:用网页截图做检索增强,让模型“看图说话”

    PixelRAG 配图

    项目简介

    PixelRAG 是伯克利 SkyLab / BAIR 团队开源的视觉检索增强生成框架。它把网页、PDF、图片渲染成截图块,再用视觉语言模型直接在“像素”上检索,从而绕过传统文本 RAG 的 HTML 解析问题,把表格、图表、版式、信息图原样保留给读者模型。仓库还附带一个已建好的 828 万维基百科页面视觉索引,以及免费的在线 API,真正做到了开箱即用。

    安装要求和过程

    环境要求

    • Python 3.10+
    • Linux(CUDA)或 macOS(Apple Silicon / MPS),CPU 亦可作为 fallback
    • 可选:Playwright / CDP 用于网页渲染
    • 可选:用于本地索引构建的 GPU,或直接使用 api.pixelrag.ai 线上服务

    快速安装

    # 1. 基础包:像素化截图工具 pixelshot
    pip install pixelrag
    
    # 2. 带向量化:用于本地构建 FAISS 索引
    pip install 'pixelrag'
    
    # 3. 完整流水线:source → ingest → embed → index
    pip install 'pixelrag[index]'
    
    # 4. 本地搜索 API 服务
    pip install 'pixelrag[serve]'
    

    如果想让 pixelshot 始终处在 PATH 里供 Claude 调用,官方推荐用 uv toolpipx

    uv tool install pixelrag   # pipx install pixelrag
    

    核心功能

    1. 像素级文档渲染: 通过 pixelshot 把网页、PDF 转成截图块,保留文本 RAG 会丢失的视觉结构与版式。
    2. 视觉语义检索: 基于 Qwen3-VL-Embedding-2B 微调后的嵌入模型,将页面图片映射到可检索向量空间。
    3. 828 万维基百科预建索引: 官方已建好并托管了 api.pixelrag.ai,无需任何配置即可搜索,还支持“以图搜图”。
    4. 本地自建索引: 通过 pixelrag index build 处理本地文档(网页 / PDF / 图片),再 pixelrag serve 启动 FastAPI 搜索服务。
    5. Claude Code 插件: pixelbrowse skill 让 Claude 直接截图并阅读页面,告别原始 HTML。

    传统文本RAG vs PixelRAG

    传统文本RAG会丢失表格等视觉结构,PixelRAG通过截图块保留完整版式。

    PixelRAG 关键速览

    典型使用场景

    场景 1:财报 / 论文中的表格问答

    传统文本 RAG 把 PDF 表格拆成凌乱文字后,模型经常找不到数字。PixelRAG 直接截取表格区域截图,检索相关页并交给 VLM 读取,数字、单位、行列关系一目了然。

    场景 2:Claude 浏览复杂网页

    安装 pixelbrowse skill 后,Claude 能够对任意页面执行 /screenshot https://example.com,然后“看图”总结新闻、解读产品页或提取图表结论,而不再受限于 HTML 标签提取不全的问题。

    场景 3:内部知识库可视化搜索

    把企业内的产品手册、设计稿、UI 截图、架构图做成 PixelRAG 索引。用户上传一张截图或输入图片描述,即可召回相关视觉文档,适用于设计系统、运维监控面板、竞品分析资料库。

    推荐理由

    PixelRAG 给我最大的启发是:当大家都在卷“更好的 HTML 解析器”时,它直接换了一条赛道——让模型像人一样“看”网页。这不是炫技,而是切中了 RAG 的实际痛点:大量网页的表格、图表、公式和交互组件一旦转成纯文本就面目全非。配合已经训练好的视觉嵌入模型和 828 万维基百科索引,从实验到落地只需要几条命令。

    对于 Claude / Cursor / Codex 等 Coding Agent 用户来说,pixelbrowse skill 是一个润物细无声的能力升级:它不需要 MCP server,也不依赖后端服务,只是让 Agent 多了一双“眼睛”。如果你正在做多模态知识库、网页问答或文档理解,PixelRAG 值得放进候选清单。

    下载地址

    —— 本文由 WorkBuddy 整理发布。

  • Unlimited OCR:百度开源的「一次前向通读整本 PDF」的 OCR 大模型

    Unlimited OCR:百度开源的「一次前向通读整本 PDF」的 OCR 大模型

    项目简介

    Unlimited OCR 是百度开源的一款端到端 OCR 大模型,主打「One-shot Long-horizon Parsing」——在单次前向传播中,直接解析长达 32K token 的整份 PDF 或连续多页图像,而不是把文档切碎后一页页跑。

    它以 DeepSeek-OCR 的编码器为基础,但把解码器的所有注意力层替换为自研的 Reference Sliding Window Attention(R-SWA),让 KV Cache 在解码过程中保持恒定。换句话说:输出越长,显存和速度越稳定,不会出现传统 LLM 解码器「越写越慢」的窘境。

    核心亮点

    • 恒定 KV Cache:R-SWA 替换标准自注意力,长文档生成时显存占用平稳、解码速度不衰减。
    • 一次前向通读多页:标准 32K 上下文内,可一次完成数十页文档解析,保留跨页上下文。
    • 三种部署形态:提供 Hugging Face transformers、vLLM Docker 镜像、SGLang OpenAI 兼容服务三种开箱方案。
    • 通用解析机制:R-SWA 不局限于 OCR,论文指出同样适用于 ASR、翻译等需要长序列输出的任务。
    • 全链路开放:代码与模型权重均托管在 GitHub 与 Hugging Face,MIT 协议可商用。

    安装与快速上手

    项目环境要求:Python 3.12.3 + CUDA 12.9 通过验证;单张 NVIDIA GPU 即可体验。

    1. Transformers 快速体验

    # 依赖
    pip install torch==2.10.0 torchvision==0.25.0 transformers==4.57.1 Pillow==12.1.1
    pip install matplotlib==3.10.8 einops==0.8.2 addict==2.4.0 easydict==1.13 pymupdf==1.27.2.2 psutil==7.2.2
    
    # 加载模型
    from transformers import AutoModel, AutoTokenizer
    model_name = 'baidu/Unlimited-OCR'
    tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
    model = AutoModel.from_pretrained(model_name, trust_remote_code=True,
                                      use_safetensors=True, torch_dtype=torch.bfloat16).eval().cuda()
    
    # 单图解析(gundam 配置:base_size=1024, image_size=640, crop_mode=True)
    model.infer(tokenizer, prompt='<image>document parsing.',
                image_file='your_image.jpg', output_path='./outputs',
                base_size=1024, image_size=640, crop_mode=True,
                max_length=32768, save_results=True)
    
    # 多页 / PDF
    model.infer_multi(tokenizer, prompt='<image>Multi page parsing.',
                      image_files=['page1.png', 'page2.png'], output_path='./outputs',
                      image_size=1024, max_length=32768, save_results=True)
    

    2. vLLM 生产部署

    # CUDA 13.0
    docker pull vllm/vllm-openai:unlimited-ocr
    # Hopper GPU 使用 cu129 镜像
    docker pull vllm/vllm-openai:unlimited-ocr-cu129
    # 官方 recipe: https://recipes.vllm.ai/baidu/Unlimited-OCR
    

    3. SGLang 批处理服务

    uv venv --python 3.12
    source .venv/bin/activate
    uv pip install wheel/sglang-*.whl kernels==0.11.7 pymupdf==1.27.2.2
    
    python -m sglang.launch_server --model baidu/Unlimited-OCR --served-model-name Unlimited-OCR \
      --attention-backend fa3 --page-size 1 --context-length 32768 \
      --enable-custom-logit-processor --disable-overlap-schedule \
      --skip-server-warmup --host 0.0.0.0 --port 10000
    
    # 并发批跑目录或 PDF
    python infer.py --pdf ./examples/document.pdf --output_dir ./outputs --concurrency 8 --image_mode gundam
    

    典型使用场景

    1. 学术论文整本转 Markdown:把 30 页 PDF 直接丢给模型,一次前向输出带标题层级、公式占位、表格结构的 Markdown,省去分块合并。
    2. RAG 知识库文档预处理:批量解析合同、手册、财报,保留原文版面和段落结构,作为高质量向量库原始文本。
    3. 票据与表格版面结构化:针对扫描发票、银行流水、Excel 截图等,输出键值对或 JSON 结构化结果。

    推荐理由

    最近大家注意力都在 Coding Agent 上,OCR 赛道反而被低估。Unlimited-OCR 真正的价值在于把「长序列输出」这件事做扎实了——R-SWA 让 KV Cache 不再线性膨胀,这是端到端文档理解从 demo 走向生产的关键。

    另外百度这次放出了完整的训练、推理、部署、微调(ms-swift)链路,并且兼容 vLLM / SGLang 两大推理框架,对工程落地非常友好。如果你在做 RAG、知识库、文档数字化,它很可能成为你管道里的默认 OCR 组件。

    资源下载

    • GitHub 仓库:https://github.com/baidu/Unlimited-OCR
    • Hugging Face 模型:https://huggingface.co/baidu/Unlimited-OCR
    • 在线 Demo:https://huggingface.co/spaces/baidu/Unlimited-OCR
    • arXiv 论文:https://arxiv.org/abs/2606.23050
    • ModelScope 模型:https://modelscope.cn/models/PaddlePaddle/Unlimited-OCR
    • 百度智能云:https://cloud.baidu.com/doc/OCR/s/fmr1p39gb
  • Supervision:Roboflow 开源计算机视觉工具库,46.3K+ Stars 让 CV 开发不再重复造轮子

    Supervision:Roboflow 开源计算机视觉工具库,46.3K+ Stars 让 CV 开发不再重复造轮子

    🔍 Supervision

    Roboflow 开源计算机视觉工具库

    ⭐ 46.3K+ Stars
    🍴 4.1K+ Forks
    🐍 Python
    📜 MIT 许可

    📌 项目简介

    Supervision 是 Roboflow 团队开发的开源 Python 计算机视觉工具库,提供模型无关的检测、跟踪、标注和数据集处理能力。它让你专注于业务场景,而不是重复编写基础 CV 工具函数。

    ✨ 核心特色

    🔗 模型无关设计

    内置 Ultralytics (YOLO)、Transformers、MMDetection、RF-DETR 等主流库的连接器,统一输出 sv.Detections 格式,换模型不改代码。

    🎨 丰富可视化标注

    提供 BoxAnnotator、MaskAnnotator、EllipseAnnotator、LabelAnnotator 等多种标注器,高度可定制,一行代码完成结果可视化。

    📦 数据集处理

    支持 COCO、YOLO、Pascal VOC、YOLOv8 Oriented Bounding Box 等格式的加载、拆分、合并、格式转换,一站式数据集管理。

    📹 视频分析工具

    内置目标跟踪(ByteTrack/Norfair)、区域计数、速度估计、驻留时间分析等常见 CV 任务的配套工具,开箱即用。

    ⚙️ 安装要求和过程

    环境要求

    • Python ≥ 3.10
    • 操作系统:Windows / macOS / Linux 全平台支持
    • 可选依赖:根据使用的模型后端选择安装(ultralytics / transformers / mmdet 等)

    快速安装

    # 使用 pip 安装(推荐)
    pip install supervision
    
    # 使用 conda 安装
    conda install -c conda-forge supervision
    
    # 从源码安装最新版
    pip install git+https://github.com/roboflow/supervision.git

    💡 安装后可在 Google Colab 中在线体验,或访问 HuggingFace Spaces 体验标注器效果。

    🚀 典型使用场景

    场景一:目标检测 + 可视化标注

    使用 YOLO 或 RF-DETR 模型进行目标检测,并用 Supervision 的标注器一键可视化结果:

    import cv2
    import supervision as sv
    from rfdetr import RFDETRSmall
    
    # 加载模型
    model = RFDETRSmall()
    image = cv2.imread("image.jpg")
    
    # 推理
    detections = model.predict(image, threshold=0.5)
    
    # 可视化
    box_annotator = sv.BoxAnnotator()
    label_annotator = sv.LabelAnnotator()
    
    annotated = box_annotator.annotate(
        scene=image.copy(), detections=detections
    )
    annotated = label_annotator.annotate(
        scene=annotated, detections=detections
    )
    
    cv2.imwrite("result.jpg", annotated)

    场景二:视频目标跟踪与区域计数

    对视频中的目标进行跨帧跟踪,并统计穿越特定区域的目标数量:

    import supervision as sv
    
    # 定义感兴趣区域(多边形)
    ZONE = sv.PolygonZone(
        polygon=sv.Polygon.from_file("zone.json")
    )
    
    tracker = sv.ByteTrack()
    
    for frame in sv.get_video_frames_generator("video.mp4"):
        detections = model.predict(frame)
        detections = tracker.update(detections)
        
        # 统计区域内的目标
        zone_count = ZONE.trigger(detections)
        print(f"区域内目标数: {zone_count}")

    场景三:数据集格式转换

    在不同标注格式之间自由转换,方便切换训练框架:

    import supervision as sv
    
    # 从 COCO 格式加载
    dataset = sv.DetectionDataset.from_coco(
        images_directory_path="data/train/images",
        annotations_path="data/train/_annotations.coco.json",
    )
    
    # 拆分为训练集和验证集
    train_ds, val_ds = dataset.split(split_ratio=0.8)
    
    # 保存为 YOLO 格式
    train_ds.as_yolo(
        images_directory_path="data/yolo/images/train",
        annotations_directory_path="data/yolo/labels/train",
    )

    💡 推荐理由

    计算机视觉开发者最头疼的事情之一,就是每次用新的检测模型都要重新写一遍数据预处理、结果解析、可视化标注、数据集转换的代码。Supervision 把这个痛点彻底解决了。

    它的 模型无关设计 是一大亮点——不管你用 YOLOv8、YOLO11、RT-DETR、SAM 还是 Grounding DINO,Supervision 都能以统一的 sv.Detections 格式输出结果,让你的下游代码完全不用改。

    另一个让人惊喜的地方是数据集处理工具。以前 COCO 转 YOLO 要写几十行脚本,现在几行代码就搞定。格式拆分、合并、统计类别分布,全都内置了。

    Roboflow 作为计算机视觉领域的头部公司,维护质量和文档完善度都非常高。PyPI 月下载量超百万,社区活跃,Discord 里提问基本当天就有回复。不管是做学术研究还是工业落地,这都是必备工具库。

    📊 项目信息

    GitHub Stars ⭐ 46,329+
    Forks 🍴 4,106+
    语言 🐍 Python
    许可 📜 MIT License
    最新版本 v0.29.0(要求 Python ≥ 3.10)
    创建时间 2022-11-28
    维护方 Roboflow 团队

    🤖 本文由 AI 自动生成 · 数据来源:GitHub – roboflow/supervision