EXIF AI:让最差性能NAS也能享受顶级AI图片管理
前言
自投身摄影领域以来,高效管理拍摄的照片便成为我的迫切需求。为此,我购置了一款价格亲民的成品NAS(网络附加存储)。
即便是这款入门级的NAS,也配备了QuMagie——威联通标榜具备AI智能的相册管理工具。
官方宣传如下:
QuMagie 整合了 AI 深度学习算法,能够聪明地辨识人脸及对象,并会依据拍照地点将 NAS 中的照片自动分类,您可于「人物相簿」、「事物相簿」及「地点相簿」中快速找到相似的人物、事物及地点照片。友善的使用接口提供多样的实用功能,包含:时间轴、自定义文件夹封面,以及更强大的搜寻机制。搭配 QuMagie Mobile 手机版应用,您可随时随地浏览 NAS 照片。照片管理及分享也能如此直觉流畅,乐趣无穷!
然而,实际使用体验却令人失望……
老虎成了猫,峡谷成了城堡,寿司成了芝士尤其是搜索功能,难以根据拍摄内容精准检索照片。
一次偶然的机会,我发现通过在图片的EXIF信息中添加描述和标签,也能实现快速搜索和分类。但手动为数千张图片编写描述和打标签过于繁琐。于是,我萌生了利用AI技术解决这一问题的想法。
从描述当中搜索出对应图片AI生成的描述性文字项目
我开发了一款名为exif-ai的命令行工具。它可借助本地开源大模型或商业大模型识别图片内容,自动生成描述或标签,并写入文件的EXIF信息中。支持识别EXIF信息的相册管理工具便能根据标签自动分类图片,或通过描述文字进行搜索。
tychenjiajun/exif-ai: A Node.js CLI and library that uses Ollama or ZhipuAI to intelligently write image description to exif metadata by it's content. (github.com)
安装
以下仅针对威联通TS-216进行说明。
第一步:设置ssh,请参考
第二步,AppCenter里添加myqnap仓库
第三步,安装Node.js和Perl
在安装Node.js时,我选择了版本16而不是最新版本。这是因为我的TS-216 NAS设备内置的glibc库不支持Node.js 18及以上版本。选择兼容的Node.js版本是确保软件能够顺利运行的关键步骤。如果您也遇到类似的情况,建议检查您的NAS设备的glibc版本,并选择与之兼容的Node.js版本进行安装。
第四步,ssh登录你的nas,安装exif-ai
npm config set registry https://registry.npmmirror.com
npm install -g exif-ai
第五步,配置大模型
不建议在NAS上运行大模型,因其性能有限。建议使用商业的智谱AI大模型开放平台。
注册登录智谱AI开放平台 (bigmodel.cn)。
点击右上角“控制台”,再点击“API密钥”,复制一个密钥。
在SSH中输入:export ZHIPUAI_API_KEY=你的密钥
第六步,试运行大模型
输入以下命令:
exif-ai -d -v -a zhipu -i jpeg文件路径 -T tag description
观察输出是否符合预期。
若输出为英文,需改为中文,则输入:
export LANG=zh_CN.UTF-8
然后重新运行上述命令。
第七步,使用exif-ai修改文件EXIF
修改描述和标签:
exif-ai -a zhipu -i jpeg文件路径 -T tag description
将生成一个名为“jpeg文件路径_original”的备份文件。
仅修改标签:
exif-ai -a zhipu -i jpeg文件路径 -T tag
同样会生成备份文件。
仅修改描述,不备份:
exif-ai -a zhipu -i jpeg文件路径 -T description --exif-tool-write-args -overwrite_original
使用Ollama
如果您决定使用Ollama作为AI模型,并且希望通过远程连接到一台性能更强的机器来提高处理效率,您可以按照以下步骤进行操作:
运行exif-ai工具
执行命令:使用exif-ai工具执行以下命令,其中 http://远程机器ip:11434 是您的远程Ollama服务的地址,jpeg文件路径是您想要处理的图片文件路径,llava是您想要使用的Ollama模型:
exif-ai -a ollama --provider-args "http://远程机器ip:11434" -i "jpeg文件路径" -m llava
更多玩法
可通过exif-ai --help获取帮助信息。
其他NAS和图片管理软件的支持
这个玩法对大部分的图片管理软件都有效
PhotoPrism:支持描述和标签识别 Metadata Compatibility – PhotoPrism
Immich:支持标签识别 feat(server): support lightroom tags by jrasm91 · Pull Request #12288 · immich-app/immich (github.com)
QuMagie:支持描述和标签识别
Synology Photos:支持描述和标签识别 What metadata standards does Synology Photos support? - Synology Knowledge Center
已知问题
虽然exif-ai工具在图片管理和搜索方面提供了便利,但我们也意识到存在一些已知问题,这些问题可能会影响您的使用体验。以下是目前已知的一些问题:
1. 标签生成准确度不高
在当前的版本中,标签生成的准确度可能不尽如人意。在某些情况下,AI模型可能无法准确识别图片中的对象或场景,导致生成的标签不够精确。在极端情况下,甚至可能无法生成任何标签。
2. 描述生成内容的中英文混杂
虽然这种情况出现的概率极低,但仍有可能会生成包含中英文混杂的描述内容。这可能是由于AI模型在处理多语言数据时出现了混淆。
解决方案与未来计划
我们正在积极努力解决这些问题,并计划在未来版本中进行以下改进:
1. 提升标签生成准确度
用户反馈机制:建立用户反馈机制,收集用户对标签准确性的反馈,用于改进输入prompt。
2. 确保描述内容的语言一致性
增加语言检测:在生成描述之前,增加语言检测步骤,确保使用正确的语言模型。
期待您的反馈与分享
exif-ai项目的成长离不开每一位用户的反馈和支持。如果您在使用过程中有任何想法、建议或遇到问题,欢迎随时与我分享。您的宝贵意见将帮助我不断改进和完善这个工具,使其更好地服务于大家。
您可以通过以下方式与我联系:
GitHub Issues:在项目的GitHub页面提交Issue,详细描述您的问题或建议。
社区论坛:在本文下方评论留言,与其他用户一起交流心得和经验。
期待您的积极参与,让我们一起打造一个更强大的图片管理工具!
(本文部分内容使用AI生成)
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
枫叶飘落
看看我的这个链接,有关于人像识别的数据库
去看看
校验提示文案
孙阚
校验提示文案
star_xin
校验提示文案
枫叶飘落
校验提示文案
淡淡无味
校验提示文案
淡淡无味
校验提示文案
star_xin
校验提示文案
孙阚
校验提示文案
枫叶飘落
看看我的这个链接,有关于人像识别的数据库
去看看
校验提示文案
枫叶飘落
校验提示文案