nextcloud/recognize

👁 👂 Smart media tagging for Nextcloud: recognizes faces, objects, landscapes, music genres

解决的问题

Recognize 是一个为 Nextcloud 设计的智能媒体标签系统,可自动对照片、视频和音乐文件进行分类。它利用 AI 识别内容,并通过 Nextcloud 的协作标签系统应用适当的标签,从而完全消除手动标记媒体集合的工作。

工作原理

该应用在 Nextcloud 服务器上本地运行,使用 Node.js 中的 Tensorflow.js。它采用多个预训练模型来处理不同类型的媒体:

  • 图像: 使用 EfficientNet v2 进行物体检测(动物、风景、食物等),并使用 Landmarks v1 模型识别纪念碑和地标。
  • 人脸: 使用 face-api.js 提取并比较面部特征,以对照片进行分组。
  • 视频: 使用 MoViNet 模型对视频中的人类动作进行分类。
  • 音频: 使用 Musicnn 神经网络架构对音乐流派进行分类。

适用人群

希望在不将数据发送到外部云服务提供商的情况下,对自己的自托管媒体库进行整理的 Nextcloud 用户,优先考虑隐私和本地处理。

主要亮点

  • 注重隐私: 所有处理均在服务器上本地完成;不会将敏感数据发送给云服务提供商。
  • 多模态识别: 支持照片(物体、人脸、地标)、视频(动作)和音乐(流派)。
  • Docket 兼容: 支持通过 AVX 指令实现原生速度,或使用 WASM 模式以提高更广泛的硬件兼容性。
  • 伦理 AI: 大多数功能使用开源训练软件和免费可用的模型。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目