【免费下载链接】sapiens2-pointmap-1b-bf16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/sapiens2-pointmap-1b-bf16点击查看免费下载Sapiens2 是 Meta 发布的以人物为中心的视觉模型能从单张图像预测逐像素 3D 点云坐标XYZ pointmap和尺度scalesapiens2-pointmap-1b-bf16 则是它的 MLX bf16 转换版面向 Apple Silicon 高效推理。图像在喂给模型前要经过一串标准化的 preprocessing 流水线缩放rescale、resize 到 1024×768、填充pad、ImageNet 统计量归一化最后被切成 3072 个 token。这篇文章带你逐步看懂这条流程。 先认识任务模型到底要输出什么和分类模型一张图 → 一个标签不同sapiens2-pointmap-1b-bf16 是一个密集任务模型架构名Sapiens2ForPointmapEstimation见 config.json任务标签depth-estimation深度估计输出每个像素点对应的三维坐标 (H, W, 3) 一个全局 scale正因为输出是逐像素的输入分辨率不能太低——这也是为什么预处理目标定在1024×768这么高的分辨率而不是常见的 224×224。 预处理全景图从 JPEG 到 3072 个 token 的 5 步流水线整个流程由 preprocessor_config.json 中声明的Sapiens2ImageProcessor驱动可以概括为步骤操作关键配置项①Rescale像素值 0–255 → 0–1rescale_factor 1/255②Resize缩放到 1024×768高×宽sizeresample 2双线性插值③Pad按规则填充对齐do_pad: true④Normalize减均值、除标准差image_mean/image_std⑤Patch 化切成 16×16 小块 → 3072 个 tokenpatch_size: 16在 config.json一句话记忆先缩到 0–1再缩到 1024×768补齐形状按 ImageNet 统计量归一化最后切块成 token 喂给 Transformer。 关键参数逐条解读preprocessor_config.json打开 preprocessor_config.json核心字段如下表字段值通俗含义image_processor_typeSapiens2ImageProcessor由专门的图像处理器执行下述全部操作do_rescale/rescale_factortrue/0.00392156862745098即 1/255把 uint8 像素换算成 0–1 浮点数do_resize/sizetrue/1024×768第 25–28 行统一输入分辨率高 1024、宽 768resample2重采样方式为双线性插值bilinear边缘更平滑do_padtrue允许填充保证尺寸能整除 patch、比例对齐do_normalizetrue启用均值/标准差归一化image_mean[0.485, 0.456, 0.406]RGB 三通道均值ImageNet 标准统计量image_std[0.229, 0.224, 0.225]RGB 三通道标准差同样来自 ImageNetdo_center_crop/crop_sizefalse/224关闭中心裁剪224 只是默认占位值两个常见疑问为什么是 ImageNet 的均值/标准差模型骨干网络ViT在 ImageNet 上预训练推理时沿用同一套归一化分布才和训练时一致。224×224 是干什么的crop_size只是图像处理器的默认字段do_center_crop为false实际不生效真正生效的是 1024×768。 为什么是 1024×768一道 16×16 的除法题这是全文最硬核也最有趣的一步。模型把图像切成16×16的小块patch见 config.json 的patch_size每个小块变成一个 token1024 ÷ 16 64高方向 64 块768 ÷ 16 48宽方向 48 块64 × 48 3072 个 token所以无论你的原图是什么比例进入 Transformer 的永远是64×48 的 token 网格。1024×768 恰好是4:3比例且两个维度都能被 16 整除do_pad: true则负责在 resize 之后把尺寸补齐、对齐避免切块时出现半块。模型侧image_size: [1024, 768]config.json与此严格对应。 从 token 到点云骨干与解码头速览预处理完成后数据进入模型权重为 bf16共 3.26 GB见 model.safetensors.index.json40 层 ViT 骨干hidden_size1536intermediate_size6144Gated MLP注意力结构前 8 层与后 8 层用 24 个头中间 24 层用 12 个 KV 头num_key_value_heads_per_layer节省注意力开销现代配方RMSNorm、QK-Norm、RoPE 位置编码rope_theta: 100、8 个 register tokens解码头3 层 3×3 卷积64/32/16 通道Pixel Shuffle 4 倍上采样1536→768→512→256最终逐像素输出 XYZ 与 scale并在输出前对骨干特征做归一化normalize_backbone_outputs: true用 mlx-vlm 跑通只需几行来自 README.mdmodel, _ load(mlx-community/sapiens2-pointmap-1b-bf16) predictor Sapiens2Predictor(model) output predictor.infer(read_image(image.jpg)) pointmaps, scale output[pointmaps], output[scales] # (H, W, 3), (1,)❓ FAQ关于预处理的三个高频问题Q1我的照片不是 4:3会不会变形会统一缩放到 1024×768do_pad负责尺寸对齐输出按输入分辨率返回必要时可自行映射回原图像素坐标。Q2我能改成 512×384 跑得更快点吗预处理目标是固定的 1024×768改小会让 patch 网格和位置编码对不上精度也会下降想省显存bf16 权重比 float32 小一半已是本仓库的主要优化。Q3输出的 scale 是什么点云坐标需要一个统一的尺度基准scale 提供该基准便于把 XYZ 还原到真实相对尺寸。 本仓库文件资源清单文件作用README.md模型介绍与 mlx-vlm 使用示例preprocessor_config.json图像预处理全部参数本文主角config.json模型结构patch、层数、注意力头、解码头model.safetensors.index.jsonbf16 权重索引注意已合并的wqkv张量小结记住1/255 → 1024×768 → pad → ImageNet 归一化 → 64×48 3072 tokens这条链你就完全掌握了图像进入 sapiens2-pointmap-1b-bf16 的全过程。✅赞分享【免费下载链接】sapiens2-pointmap-1b-bf16项目地址https://ai.gitcode.com/hf_mirrors/mlx-community/sapiens2-pointmap-1b-bf16点击查看免费下载相关推荐1024×768不是拍脑袋sapiens2-matting-1b-bf16输入预处理与ImageNet归一化深度解析1024×768不是拍脑袋sapiens2 matting 1b bf16输入预处理与ImageNet归一化深度解析 sapiens2 matting 1b为什么法线估计结果发虚sapiens2-normal-0.4b-bf16预处理细节全解1024×768、填充与ImageNet归一化为什么法线估计结果发虚sapiens2 normal 0.4b bf16预处理细节全解1024×768、填充与ImageNet归一化 sapiens2 n如何理解Sapiens2点图模型sapiens2-pointmap-0.4b-bf16入门指南一张图还原3D世界的完整解析如何理解Sapiens2点图模型sapiens2 pointmap 0.4b bf16入门指南一张图还原3D世界的完整解析 Sapiens2点图模型 sa上一篇Notepad--跨平台文本编辑器的终极选择与完整使用指南下一篇在3个典型漫画场景中如何用BallonTranslator实现翻译效率的10倍提升创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考