Immich相册服务——智能搜索与人脸识别

2024-08-13 10:04:16 2点赞 12收藏 5评论

Immich的智能搜索和人脸识别功能,通过应用机器学习模型,极大地提升了用户检索和管理媒体库的体验。本文将介绍如何优化这些功能所使用的模型,以适应不同的语言和提高识别准确性。

01智能搜索

图片图片

Immich的智能搜索功能利用先进的机器学习模型,帮助用户快速找到图片和视频:

  1. 启动智能搜索:在Immich Web界面的“管理”页面中,找到“任务”部分,选择“智能搜索”,然后点击“全部”以启动搜索任务。

  2. 输入关键词:在搜索栏中输入关键词,Immich将显示与关键词相关的所有媒体文件。

  3. 使用过滤器:Immich提供了多种过滤器,包括日期、人物和地点,帮助您进一步细化搜索结果。

02人脸识别

图片图片


人脸识别功能自动识别媒体库中的人物,并允许您按人物浏览图片。模型更换过程与智能搜索类似:

  1. 在“设置”页面中找到“人脸识别”使用的模型设置。

  2. 更换为更适合您媒体库的模型,例如使用支持更多种族和年龄特征的模型。

  3. 启动人脸识别任务,让Immich重新处理媒体库中的图片。

03大模型的使用

在【管理】->【任务】界面看到人脸检测、人脸识别和智能搜索任务均已经清零的情况下,在Immich Web的【探索】页面没有显示人物,智能搜索也没有搜索出你期望的内容,那很大概率是大模型下载失败导致的。

immich-machine-learning这个服务试图从huggingface处下载大模型,可惜huggingface网站目前需要搭一把梯子才能实现访问。这里我为各位准备好了大模型数据,下载下来就马上能用。

下载地址:https://url22.ctfile.com/d/58003522-62058436-b932de?p=4215 (访问密码: 4215)

图片图片

打开后能见到三个模型,他们分别是:

  • XLM-Roberta-Large-Vit-B-16Plus:用于智能搜索,建议先下载。

  • ViT-B-32__openai:用于智能搜索,系统模型版本。可以不下载。

  • buffalo_l:用于人脸检测和人脸识别,建议下载。

下载并解压后,模型的存放目录结构是有讲究的,具体看下面:

- model-cache - clip - XLM-Roberta-Large-Vit-B-16Plus - facial-recognition - buffalo_l

模型优化

Immich的智能搜索和人脸识别功能通过集成先进的机器学习模型,为用户提供了强大的媒体检索和管理能力。特别是,XLM-Roberta-Large-Vit-B-16Plus模型因其多语言支持和高识别精度而备受推崇。该模型支持包括中文在内的多种语言,使得智能搜索功能不再局限于英文环境。

替换过程

图片图片

这里就需要更换模型了,这里我们进入【管理】->【设置】界面,找到【机器学习设置】一栏点开,再在智能搜索CLIP模型处,将原来的ViT-B-32__openai更改为XLM-Roberta-Large-Vit-B-16Plus (需要注意不得出现多余空格)。

接着修改docker-compose.yml文件,在其中找到immich_machine_learning进行修改:

immich-machine-learning: container_name: immich_machine_learning # For hardware acceleration, add one of -[armnn, cuda, openvino] to the image tag. # Example tag: ${IMMICH_VERSION:-release}-cuda image: ghcr.io/immich-app/immich-machine-learning:${IMMICH_VERSION:-release} # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/ml-hardware-acceleration # file: hwaccel.ml.yml # service: cpu # set to one of [armnn, cuda, openvino, openvino-wsl] for accelerated inference - use the `-wsl` version for WSL2 where applicable volumes: - - model-cache:/cache + - ./model-cache:/cache env_file: - .env restart: always

接下来,再跑docker-compose up -d重启一下immich服务。

图片图片

最后在【管理】->【任务】界面找到【智能搜索】、【人脸检测】和【人脸识别】,重新跑一下任务。到这里你将获得Immich完整的使用体验,去享受吧🤘。

04结语

智能搜索和人脸识别基于huggingface网站提供的大模型实现其功能,我们通过下载我打包好的大模型数据来解决无法下载大模型的问题。也通过替换为XLM-Roberta-Large-Vit-B-16Plus模型,Immich的智能搜索功能将支持中文搜索,能为我们带完整的使用体验。如果在操作过程中需要帮助,欢迎评论或者私信留言。

展开 收起
5评论

  • 精彩
  • 最新
  • 之前运行看log每次语义检索老要去down模型。一查yml配置发现model-cache:/cache这句好像没挂载好,挂载上去是个cache空目录。后来索性用了windows绝对路径就没问题了。

    校验提示文案

    提交
    绝对路径填写的格式是啥,能不能发个例子

    校验提示文案

    提交
    收起所有回复
  • up主,能看下模型存放的完整文件目录结构吗?找不到model文件夹

    校验提示文案

    提交
  • 模型下载了,但是跑了一夜也没结果,log里面有提示检查到人脸。另外就是我的immich地图是空白的。。。。F12之后发现是报JSON解析错误。。。。。。

    校验提示文案

    提交
  • 请问老师,下载后的三个大模型解压后是放在:immich目录下建立的model-cache目录里面吗?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
12
扫一下,分享更方便,购买更轻松