MPhoto 照片搜索

简介

作为一个马拉松爱好者,我们有一个热情互助的社区。每次比赛,总有很多摄影师为我们拍摄了大量的照片。一场大型赛事,照片数量可能高达一两万张。在这样大的照片里找到自己或特定人的照片变得非常耗时。这个小工具就是为了解决这个痛点。

架构

这个工具由三个部分组成:

  1. 第三方的照片存储,目前只支持 Google Drive 和 Google Photo。但强烈建议使用 Google Drive。因为 Google Photo 是一款个人消费级产品,在服务器端使用会面临很多限制。一旦API调用超过限制,我们的服务就会失败,我们必须等待次日再使用。
  2. 分布式的照片处理程序。这个程序安装在IT志愿者的电脑上,帮助我们处理照片,并发送处理结果到服务端。
  3. 服务端提供了照片搜索和后台管理的网页界面。

照片搜索

  1. 首先访问网页地址: https://www.compusky.com/mphoto/
  2. Face Input 下面,选择一个您参与的 Event
  3. 输入您的 Bib 号码。
  4. 输入您的头像。您最多可以使用3个头像。注意:
    • 您无需使用其他照片编辑软件预先裁剪头像;
    • 您可以选择一个电脑中的照片,然后使用网页内嵌的裁剪工具,选择头像
    • 您最多可以选择三个头像。
    • 为了提高匹配准确度,建议您:
      • 使用比赛当日的头像。
      • 使用不同角度的头像以匹配不同角度的照片。
  5. 可以只使用 Bib 或头像,但二者必须有一个。
  6. 每次提交,您必须点击 Google 的 reCAPCHA,服务器在搜索照片后,页面进入 Thumbnail
  7. 每次最多只能返回100张照片
  8. 返回的照片缩略图,您可以根据需要,点击下载原图。
  9. 须知
    • 所有的照片都保存在摄影师分享出来的云存储上。我们的服务器并不保存照片。
    • 下载链接直接指向了云存储上的原始照片。如果您发现照片分辨率不足,请直接联系摄影师获取更高分辨率的照片。
    • 遗憾的是,我们也不知道摄影师是谁。所以只能祝您好运。
    • 国内的用户,受有关网络限制,您可能无法使用我们的服务。请自行解决科学上网。

摄影师和活动组织者

须知:

  1. 重要的事情:强烈建议使用 Google Drive 进行照片分享。不要使用 Google Photo,这款服务不适合这样大规模的照片搜索
    • Google Photo 的照片分享,处理方式复杂,我们会放在最后处理,且花费更长时间
    • 在日活跃高的日子,Google Photo 分享出来的照片,会遇到无法显示、下载的问题。目前没有任何付费、免费的解决方法。这个不是 Bug,请不要联系我们解决。
  2. 摄影师请务必分享您的 Google Drive 目录。
  3. Google Drive 分享目录可以有子目录。
  4. 这个应用支持很多照片分享链接
  5. 所有的照片需要进行预处理,才能被搜索到。根据不同的电脑性能,处理1000张照片,需要20-60分钟时间。
  6. Google Photo 需要额外的手工步骤来获取内部的分享链接。

如何处理照片 - 让我们来为您服务

  1. 所以在您分享照片后,请务必告诉我们您的分享链接,让我们进行处理。
  2. 您可以添加新照片到已经分享过的目录,并通知我们,我们的程序会处理新添加的照片,您在分享目录里删除的照片,程序也会删除相关记录。
  3. 我们会使用自己的电脑和GPU处理每张照片,并且把处理结果上传到服务器。

如何处理照片 - 自助服务

须知:本方法目前只支持 Google Drive。Google Photo 由于其特殊性,并不适用。

  1. 申请一个免费账号
  2. 设置 API key
  3. 创建一个活动/Event
  4. 添加 CloudStorageURL
  5. 安装照片处理程序:
    • 您需要一台性能出色的电脑,或者搭载了一块比较新的 GPU,比如 30xx 系列。
    • 您需要一定的 Python/Conda 使用能力。
    • 如果您熟悉 Windows WSL,您可以在 Linux 下运行,这是目前最稳定的使用方式。
    • 程序也支持在 Windows 下直接运行。
    • 本程序没有在 MacOS 下测试过。
  6. 熟悉 mphoto 工具,并在每次添加照片后,调用处理程序。