7.1.2. AI 相册#

一、简介#

Axera 芯片本地 AI 私有云相册解决方案,通过将开源相册 Immich 深度适配至爱芯元智(Axera)边缘硬件,打造了一条完整的本地智能影像数据链路。

该方案可将搭载 AX650/AX8850 芯片的边缘设备(如 M4N-Dock 开发板、M5Stack AI Pyramid Pro 等)直接升级为隐私安全的“本地版 Google Photos”:

  • 纯本地闭环: 部署完毕后,数据存储与 AI 推理(语义、OCR、人脸比对)可100% 本地完成,零云端依赖,满足严苛的隐私保护与离线运行需求。

  • 芯片级加速: 深度调用 Axera NPU,为 CN-CLIP、PP-OCRv5 和 InsightFace 提供底层硬件加速,彻底释放 CPU 压力,实现海量照片毫秒级检索。

  • 开箱即用: 依托 Immich 成熟生态,原生自带精美的 Web/App 双端界面及多用户管理体系,免二次开发,极速落地。

  • 多维 AI 检索: 聚合人脸聚类图谱、自然语言模糊搜索及精确 OCR 文本提取,打造无死角检索体验。

  • 极简部署: 基于 Docker 环境,灵活适配各类轻量级边缘计算盒子与开发套件,部署成本极低。

二、适用场景#

场景

典型需求

方案收益

家庭/极客私有云相册

海量照片无感备份,按人脸自动管理,要求数据绝对隐私。

纯本地图谱: 数据不出网,实现原画质极速备份、InsightFace 自动人脸聚类与动态足迹地图。

个人知识库与票据管理

快速找回堆积的证件照、发票、会议白板及带字截图。

OCR 图文提取: 利用 PP-OCRv5 精准提取文字,将静态图片转化为即搜即得的本地资料库。

专业影像创作者/工作室

在缺少标签的海量图片素材底库中,快速精准提取目标。

自然语言找图: 免除人工打标签,输入文字描述即可瞬间定位所需素材。

旅游博主与户外游记

旅途产生大量影像,需直观梳理行程轨迹,并方便后续向朋友或粉丝复盘分享。

动态足迹与共享: 自动解析图文 EXIF 坐标并在地图生成专属旅行轨迹,结合多用户与相册共享功能,轻松实现无缝的游记分享。

三、示例效果#

1.AI极速找图#

照片入库后,Axera 芯片的 NPU 会立即接管高负载计算。系统运行 PP-OCRv5 和 CN-CLIP 等模型,对图片进行高维特征提取与文字识别,并在本地快速建立多维向量索引数据库。网页或APP端接收到检索请求时,系统直接在索引库中进行高维空间比对。

  • 语义检索: 响应模糊自然语言描述的匹配结果。

  • OCR 检索: 精准锁定包含特定文字的图片。

  • 免除人工打标签的繁琐,以及不受网络波动影响的毫秒级毫秒级无感检索体验。

在网页端进行“穿红色衣服的小孩”、“在黑色汽车上的猫”、“savor delicious food”等中英文描述搜索

在APP端使用OCR功能,进行图片水印、变形字体的搜索

2.智能人物相册#

当导入海量照片时,系统会在后台实时运行人脸识别算法,提取面部特征并进行高维度比对。系统会自动将同一人物的影像进行聚类,并在“探索”界面中生成独立的专属图片集。用户可对该集合进行自定义命名标签,后续当带有该人物的新照片上传时,系统会自动进行特征匹配并动态将其归入对应的档案中。

  • 全自动化的人物特征提取与高精度聚类,彻底免去繁琐的人工挑图与分类建档工作。

  • 建立动态生长的个人影像库,新上传的照片自动触发比对规则,实现无感自动入库。

  • 高自由度的干预机制,支持用户对自动归类进行自定义命名与手动修正,确保图谱精准度。 在“探索”界面直观管理所有人物图谱,让海量照片按人像自动井然有序,轻松构建专属的家庭成员或社交圈数字成长轨迹。

3.唤醒老照片#

针对早期单反或扫描件等缺失 GPS 信息的照片,用户可以通过界面手动填写位置信息、图片描述等信息。系统接收并处理这些自定义信息后,会直接重写底层数据库的影像属性节点,并动态下发更新至所有终端。

  • 对照片底层元数据(地理位置、时间等)的绝对编辑与控制权。

  • 将散落的历史图片重新赋予空间维度,瞬间融入用户的全局数字轨迹中。

  • 即时生效、跨端同步(Web端修改,APP端地图同步刷新)的数据一致性体验。

在网页端重新编辑图片地址信息,并同步到地图中,方便快速翻阅,快速打造属于自己的“旅行足迹”

4.自动备份#

在同一网络下,移动端生成新影像资产后,Immich 客户端会实时侦测并在后台建立传输通道。照片流推入 Axera 边缘硬件后,系统瞬间完成数据落盘,并自动提取和解析文件的 EXIF 元数据(包含经纬度、时间戳、设备参数)。系统将空间坐标转化为可视化锚点,并映射至全景地图中。

  • 安全落盘的图片/视频原文件以及系统自动生成的轻量级缩略图。

  • 基于时间轴与地理坐标双维度构建的结构化数字资产库。

  • 直观呈现个人运动轨迹的动态地图与区域热力分布。

APP同步相册,拍照完成后,自动同步相册数据,并将位置信息同步到地图

四、开发者接入示例#

下面是核心配置片段,用于说明开发者需要关注的关键开关。完整部署请以资源包 README 和本站安装文档为准

1.导入并启动docker#

• 加载离线 Docker 镜像包,并使用 Docker Compose 启动容器服务。

docker load -i ax-immich-server-aarch64.tar.gz
docker compose -f docker-compose.yml -f docker-compose.override.yml up -d

2.搭建ml环境并启动ml服务#

#注意安装py 3.11版本(v2.7.5 immich官方指定)
curl -sS https://bootstrap.pypa.io/get-pip.py | python3.11

# 安装依赖
pip install -r requirements.txt

#建议选择PyAXEngine最新版本 当前最新0.1.3.rc3
pip install https://github.com/AXERA-TECH/pyaxengine/releases/download/0.1.3.rc3/axengine-0.1.3-py3-none-any.whl

#安装Wheel包
pip install immich_ml-2.7.5-py3-none-any.whl

3.选择模型并启动任务#

通过ip和端口进入网页,选择对应模型、运行任务后即可使用:

  • CLIP模型:ViT-L-14-336-CN__axera

  • 人脸识别模型(默认为AXERA模型):buffalo_l_axera(AXERA)

  • OCR模型(默认为AXERA模型):PPOCR_v5_axera(AXERA)

五、性能评估#

Immich 服务由 Docker 中的 server/postgres/redis 与宿主机 immich_ml 组成。由于模型懒加载、运行时缓存、数据库缓存以及AX CMM 分配策略等因素,MEM与 CMM 占用会受操作影响。下面固定测试场景进行性能评估:

本次测试模拟用户日常使用流程,使用AxEngineExecutionProvider:通过 Web 页面批量上传图片,随后由系统自动完成缩略图、元数据、人脸识别、OCR、重复检测和智能搜索索引等后台处理。

  • 测试图片:2310 张

  • 上传方式:Web 页面手动上传

  • ML 模型:本地缓存加载HF_HUB_OFFLINE=1

  • 测试模式:预热后的日常连续使用状态

1、整体处理能力#

上传2310张混合图片

阶段

耗时

处理能力

Web 批量上传

205 秒

约 11.3 张/秒

上传后后台 AI 处理

829 秒

约 2.8 张/秒

从开始上传到全部完成

1034 秒

约 17 分 14 秒

处理完成后,本批图片产生:

  • 人脸记录:1660 条

  • OCR 文本记录:710 条

2、存储占用#

目录

占用

AXERA / Immich ML 模型缓存

637 MiB

HuggingFace 缓存

544 KiB

Immich 图库目录

585 MiB

本次测试使用本地模型缓存运行,不依赖外网下载,适合边缘设备、内网部署和离线演示环境。

3、搜索能力#

  • 后端搜索接口能力 使用脚本直接请求 Immich 搜索接口,分别覆盖元数据搜索 /api/search/metadata 和智能语义搜索 /api/search/smart。每个关键词连续执行 10 轮,第 1 轮作为首次查询参考,第 2-10 轮作为热查询统计。该指标反映服务端从接收搜索请求到返回 JSON 结果的耗时,不包含浏览器输入防抖、页面渲染、缩略图加载等前端开销。

能力项

测试内容

测试结果

产品化描述

中文语义搜索

查询“穿红色衣服的小孩”

首次约 105 ms,热查询平均约 60 ms

支持中文自然语言描述检索,可根据人物、颜色、衣着等复合语义查找图片。

英文语义搜索

查询“red clothes child”

首次约 83 ms,热查询平均约 59 ms

支持英文自然语言检索,适合中英文混合展示和国际化场景。

人物类搜索

查询“小孩 / child / 孩子”

热查询平均约 60-63 ms

可根据人物类别进行语义检索,适合快速查找人物相关照片。

颜色与衣着搜索

查询“红色衣服 / red shirt”

热查询平均约 60-61 ms

可识别图片中的颜色和衣着特征,支持更细粒度的图片查找。

组合条件搜索

查询“person in red”

热查询平均约 59 ms

支持人物与颜色等多条件组合描述,提升图库检索的直观性。

查询响应体验

每个关键词连续查询 10 轮

首次查询约 76-105 ms,热查询约 58-63 ms

在 2310 张图片规模下,智能搜索响应保持在百毫秒级以内,适合现场演示和日常使用。

查询稳定性

中英文关键词多轮请求

HTTP 状态均为 200,异常数 0

查询接口响应稳定,连续检索过程中未出现请求失败。

4、推荐部署余量#

基于本轮 2310 张图片测试结果,建议产品化部署预留以下资源:

项目

建议值

说明

OS 内存

>= 3.5 GiB

按实测总内存峰值约 2.62 GiB 增加 30% 余量

CMM

>= 1.0 GiB

按实测 CMM 峰值约 732 MiB 增加 30% 余量

推荐 CMM 配置

4 GiB

本次测试配置余量充足,适合展示和扩展

模型缓存空间

>= 1 GiB

当前模型缓存约 637 MiB,建议留足更新空间

图库空间

原图空间 + 30% 以上

缩略图、索引、派生文件会随图库增长

六、相关链接指引#