简介
这些规范会不时更新,详细说明了高级 360 度全景相机(提供高速、准确的街景拍摄和发布功能)的所有硬件、时间和数据要求。请注意,本计划不适用于任何操作或机械功能。
图像
- 不低于 1500 万像素,帧速率不低于 7FPS
- 360° 水平视野范围
- 不低于 135° 的连续垂直视野范围
- Google 会审核图片和几何图形质量
IMU
建议的组件:
- 6 轴加速度计/陀螺仪:BMI160 或 ST-LSM6DSM
加速度计应满足以下要求:
- 分辨率:≥16 位
- 范围:≥ +/- 8G,通常 ≥4096 LSB/g
- 采样率:≥200 Hz,抖动 <1%
- 必须启用低通滤波以消除混叠。截止时间应设为低于奈奎斯特频率(采样率的一半)的最大值。例如,如果频率为 200 Hz,则低通滤波器截止应低于 100 Hz,但要尽可能接近。
- 噪声密度必须小于等于 300 μg/√Hz,并且应小于等于 150 μg/√Hz
- 24 小时静态数据集的静态噪声偏差稳定性 <15 μg * √Hz
- 偏差变化随温度:≤ +/- 1mg / °C
- 最佳拟合线非线性度:≤0.5%
- 灵敏度变化与温度 ≤0.03%/°C
陀螺仪应满足以下要求:
- 分辨率:≥16 位
- 范围:≥ +/- 1000 度/秒,且 ≥32 LSB/dps
- 采样率:≥200 Hz,抖动 <1%
- 必须启用低通滤波以消除混叠。截止时间应设为低于奈奎斯特频率(采样率的一半)的最大值。例如,如果采样率为 200 Hz,则低通滤波器截止应低于 100 Hz,但要尽可能接近。
- 噪声密度:≤0.01 °/s/√Hz
- 24 小时静态数据集的静态偏差稳定性 <0.0002 °/s *√Hz
- 偏差随温度的变化:≤ +/- 0.015 °/ s / °C
- 最佳拟合线非线性值必须小于等于 0.2%,小于等于 0.1%
- 灵敏度随温度的变化:≤0.02% / °C
GPS
建议的组件
要求
- 采样率:≥4 Hz
- 星座:至少同时追踪 GPS 和格洛纳斯卫星定位系统
- 首次修正时间:
- 冷:不超过 40 秒
- 热模式:≤ 5 秒
- 敏感度:
- 跟踪:-158 dBm
- 采集:-145 dBm
- 水平位置精确度:2.5 米(圆环误差概率 (CEP),50%,24 小时静态 > 6 次 SV)
- 速度准确度:0.06 米/秒(30 米/秒时为 50%)
- 操作限制:≥4 克
- 内置天线或固定安装的已知类型外部天线
天线设计
实体上的小型产品(例如同时包含 GPS 接收器系统和大量复杂电子系统的相机)容易出现由所含电子系统的射频辐射引起的无线电接收器性能问题。这种干扰通常是对无线电接收器的带内干扰,因此无法滤除。
时间规范
所有传感器测量结果都必须相对于相同的稳定系统时钟准确标记时间戳。在传感器测量数量时(而不是处理器从传感器芯片收到消息时),必须为测量结果添加时间戳。不同传感器读数之间的时间戳抖动应小于 1 毫秒。在同一传感器数据日志中记录的所有时间戳必须是连续的,不能出现间断。如果硬件重新启动或重置,且系统时钟重置,则必须创建新的日志来存储新传入的数据。
GPS
GPS 传感器应支持输出时间脉冲和关联消息,以及与该时间脉冲对应的 GPS 时间。此字段可用于为具有相同 GPS 纪元时间戳的其他 GPS 数据包添加时间戳。设备应具有一个输入来接收这些时间脉冲,并且当它收到前缘或尾随边缘(视情况而定)时,应记录稳定系统时钟的时间戳。收到包含 GPS 时间的相应消息包后,设备现在可以在收到来自 GPS 传感器的导航消息(包含 GPS 时间)时计算相对于稳定系统时钟的时间戳。
视频 / 图片
图像传感器必须支持硬件时间,以确定相对于稳定系统时钟的精确时间。如果出现丢帧的情况,后续帧仍必须反映准确的时间戳。时间戳必须相对于图片中的第一个有效光子。制造商必须指定其对应的像素。
IMU
IMU(加速度计和陀螺仪)测量数据必须根据测量时间(而不是在收到时)加上时间戳。
数据规范
针对街景进行了优化的相机和系统必须每秒收集每个传感器的多次测量数据。下面详细介绍了各项测量的数据。
IMU 数据要求
IMU(加速度计和陀螺仪)测量数据:
int64 time_accel; // The time in nanoseconds when the accelerometer // measurement was taken. This is from the same stable // system clock that is used to timestamp the GPS and // image measurements. // The accelerometer readings in meters/sec^2. The x, y, z refer to axes of // the sensor. float accel_x; float accel_y; float accel_z; int64 time_gyro; // The time in nanoseconds when the gyroscope // measurement was taken. This is from the same stable // system clock that is used to timestamp the GPS and // image measurements. // The gyro readings in radians/sec. The x, y, z refer to axes of the sensor. float gyro_x; float gyro_y; float gyro_z;
GPS 数据要求
int64 time; // Time in nanoseconds, representing when the GPS // measurement was taken, based on the same stable // system clock that issues timestamps to the IMU // and image measurements double time_gps_epoch; // Seconds from GPS epoch when measurement was taken int gps_fix_type; // The GPS fix type // 0: no fix // 2: 2D fix // 3: 3D fix double latitude; // Latitude in degrees double longitude; // Longitude in degrees float altitude; // Height above the WGS-84 ellipsoid in meters float horizontal_accuracy; // Horizontal (lat/long) accuracy in meters float vertical_accuracy; // Vertical (altitude) accuracy in meters float velocity_east; // Velocity in the east direction represented in // meters/second float velocity_north; // Velocity in the north direction represented in // meters/second float velocity_up; // Velocity in the up direction represented in // meters/second float speed_accuracy; // Speed accuracy represented in meters/second
视频要求
视频必须以 7 Hz 或更高的帧速率录制。相机还应记录与每个图像帧关联的元数据。对于每张图片
int64 time; // The time in nanoseconds when the image was taken. // This is from the same stable system clock that is used to // timestamp the IMU and GPS measurements. // The corresponding frame in the video. int32 frame_num;
您还必须在 MP4 360 视频中填写以下 user-data atom:
moov/udta/manu
:以字符串表示的相机制造商(品牌)moov/udta/modl
:字符串形式的相机模型moov/udta/meta/ilst/FIRM
:字符串形式的固件版本
$ ffprobe your_video.mp4 ... Metadata: make : my.camera.make model : my.camera.model firmware : v_1234.4321 ...
相机架构
必须针对加速度计 FOR 指定每个传感器和每个摄像头的参照系 (FOR) 之间的六个自由度 (6-DOF) 转换(相对位置和方向)。传感器 FOR 必须按照传感器数据表中的定义,并与传感器在设备中的实际位置对齐。每个摄像头的 FOR 的 z 轴正轴沿着光轴从设备指向摄像头的视野范围,x 轴指向右侧,y 轴从上向下指向下,而 FOR 的原点位于摄像头的光学中心。GPS FOR 位于天线上。
每个传感器或镜头的 6-DOF 转换(位置为 3-DOF,方向为 3-DOF)表示为 3x4 转换矩阵 T = [R p],其中 R 为 3x3 旋转矩阵,在加速度计 FOR 中表示传感器或镜头 FOR 的方向,而 p 为表示相机的 FOR 原点 (zx, y) 方向的 3x1 位置。
请求的转换可以来自设备的计算机辅助设计 (CAD) 模型,无需因制造变化而特定于设备。在评估流程开始时,必须与 Google 分享此信息。
相机配置
- 相机不应对图片执行任何运动防抖。
- 您应调整相机设置,以拍摄室内和室外图像。
电源(应采用以下两种模式,或采用以下两种模式之一):
- USB 3.1 网络共享电源和充电功能,支持时长不低于 4 小时的录制功能
- 电池供电操作支持时长超过 1 小时的录制和上传功能
软件实施提醒
必须支持通过 Street View Publish API 上传。请注意,所有对该 API 的请求都必须按照此处的说明进行身份验证。
对于上传到街景的所有图像:
- 必须指定图像创建时间(即图像拍摄的时间)。
- 必须报告产品的品牌、型号和固件版本。
- 必须关闭动作防抖。
- 原始 GPS 和 IMU 数据的所有数据组成部分都必须共享(必须根据测量时间(而非测量结果)准确标注测量结果的时间戳)。
对于上传到街景的所有 360 度视频:
- 必须使用相机运动元数据来传达遥测数据。
- 必须使用视频拍摄时正确的帧速率对照片序列进行编码。
此外,还应在用户发布(至少首次发布)之前,在您的应用中加入以下用语和内容行:
“此内容将在 Google 地图上公开显示,并可能会显示在其他 Google 产品中。如需详细了解 Google 地图用户提供的内容相关政策,请点击此处。”产品评估
- 对支持街景服务的专家感兴趣?请做好准备!
- 查看 Open Spherical Camera API 和 Street View Publish API
- 通过 Street View Publish API 支持请求访问 360 度全景照片,并说明您的商品如何符合上述规范。您可能还需要使用我们团队提供的模板提供以下信息。
- 符合上述规范(包括相机运动元数据规范)的 3 个 MP4 文件和 3 张照片
- 需要将 360 度全景照片拍摄的文档和方法加入白名单,以便获得支持街景的专家资格。
- 已选择成为支持街景的专业人员?开始使用!
- 与我们分享您产品的相机架构
- 让您的产品能够使用 Street View Publish API 将 360 度全景照片和照片序列上传到街景
- 发布 12 个照片序列(每个照片序列至少要覆盖 20 公里)和 12 张照片,在以下各照片中均分。请使用我们团队提供的模板与我们分享结果。
- 相机控制操作系统:Android、iOS、设备端
- 上传软件操作系统:Android、iOS、MacOS、Windows、设备端
- 区域类型:城市峡谷、其他城市区域、郊区社区
- 吸引至少 5 名 Beta 版测试人员分别上传至少 3 个照片序列(每个照片序列至少要上传 5 公里)。请使用我们团队提供的模板与我们分享结果。 我们会审核您的申请并提供反馈。在我们确认测试数据完整且符合规定后,请继续执行下一步。
- 请与我们的团队协调,以便提供所有必要的设备(包括配件)、访问权限和帮助内容,以评估您产品的端到端街景体验。 我们会查看测试结果并提供反馈。我们确认测试数据和发布流程符合政策后,请继续执行下一步。
- 获批成为支持街景的专业人员?恭喜!
- 最后一步 - 请提交发布计划(包括指向帮助内容和支持渠道的链接),以便为可能的联合营销机会做好准备(须遵守我们的品牌推广指南)。请使用我们团队提供的模板分享您的计划。在您提交的内容获得全面批准后,我们会提供“支持街景”专业徽章,并协调所有其他联合营销机会。
- 恭喜您获准使用街景功能(专业级)!此状态的有效期为 1 年;只要用户在第一年向 Google 地图发布的图像超过 5000 公里,就自动符合第二年的资格条件。
异常
如果具体的硬件和软件解决方案不符合个别要求,但符合本文档中规定的端到端性能指标,则可以破例。