基于Exif解析與人臉聚類的照片智能分類整理方案與實(shí)踐
一、引言我最近在整理自己積累多年的照片庫時(shí)遇到了一個(gè)非常實(shí)際的問題手機(jī)相冊(cè)常年維持在2萬張照片電腦里還有幾個(gè)TB的歷史照片庫。每次想找某張照片都得在文件夾里翻很久。于是我花了一些時(shí)間調(diào)研了市面上主流的照片智能管理方案并結(jié)合自己的實(shí)踐做了一些整理和對(duì)比。這篇文章主要面向和我一樣有大量照片管理困擾的用戶分享一下照片按時(shí)間和人物兩個(gè)維度進(jìn)行分類整理的可行路徑以及各方案的基本情況。網(wǎng)上介紹照片整理工具的文章已經(jīng)很多了但多數(shù)停留在單一產(chǎn)品的功能介紹層面。我這篇文章側(cè)重于技術(shù)實(shí)現(xiàn)原理與多方案橫向?qū)Ρ仁崂砹藦腅xif元數(shù)據(jù)解析到AI人臉聚類的技術(shù)鏈路并評(píng)估了不同方案在實(shí)際使用中的表現(xiàn)。二、照片分類的核心技術(shù)路徑一按時(shí)間分類基于Exif元數(shù)據(jù)解析每張數(shù)碼照片都內(nèi)嵌了Exif可交換圖像文件格式元數(shù)據(jù)其中DateTimeOriginal字段記錄了照片的原始拍攝時(shí)間。無論文件被重命名多少次、復(fù)制到哪個(gè)文件夾這個(gè)字段都不會(huì)改變。因此按拍攝時(shí)間進(jìn)行分類是最基礎(chǔ)且可靠的整理方式。以下是一個(gè)簡(jiǎn)單的Python腳本示例用于讀取照片的Exif信息并提取拍攝時(shí)間python復(fù)制from PIL import Image import piexif import os def get_photo_taken_time(image_path): try: img Image.open(image_path) exif_dict piexif.load(img.info.get(exif, b)) # 從Exif中提取DateTimeOriginal字段 if 0th in exif_dict and piexif.ImageIFD.DateTime in exif_dict[0th]: date_str exif_dict[0th][piexif.ImageIFD.DateTime].decode(utf-8) return date_str.replace(:, -).split( )[0] # 返回 YYYY-MM-DD 格式 except Exception as e: print(f讀取 {image_path} 失敗: {e}) return None # 遍歷目錄下所有照片按日期歸類 def organize_by_date(photo_dir): for filename in os.listdir(photo_dir): if filename.lower().endswith((.jpg, .jpeg, .png, .heic)): full_path os.path.join(photo_dir, filename) date get_photo_taken_time(full_path) if date: year_month date[:7] # 取 YYYY-MM target_dir os.path.join(photo_dir, year_month) os.makedirs(target_dir, exist_okTrue) # 移動(dòng)文件到對(duì)應(yīng)文件夾實(shí)際使用時(shí)建議先復(fù)制測(cè)試 # shutil.move(full_path, os.path.join(target_dir, filename)) print(f{filename} - {year_month})基于此腳本可進(jìn)一步擴(kuò)展為按年/月/日自動(dòng)創(chuàng)建文件夾并歸檔實(shí)現(xiàn)時(shí)間維度的全自動(dòng)整理。CSDN上也有不少類似的實(shí)踐教程搜索Python 照片 按拍攝時(shí)間分類即可找到更多參考實(shí)現(xiàn)。二按人物分類基于人臉檢測(cè)與聚類按人物分類的核心技術(shù)鏈路包括兩個(gè)步驟人臉檢測(cè)在照片中定位人臉區(qū)域和人臉聚類將相似的人臉歸為同一組。AI模型會(huì)自動(dòng)完成這兩步用戶只需為每組命名即可完成人物標(biāo)簽化。目前主流的人臉識(shí)別開源模型包括InsightFace提供了高精度的檢測(cè)和識(shí)別模型被多個(gè)開源相冊(cè)項(xiàng)目采用。FaceNetGoogle提出的經(jīng)典人臉識(shí)別模型通過將人臉映射到歐幾里得空間進(jìn)行相似度比較。MTCNN FaceNet組合先用MTCNN進(jìn)行人臉檢測(cè)再用FaceNet提取特征向量進(jìn)行聚類?;谝陨霞夹g(shù)市面上已有多款工具實(shí)現(xiàn)了自動(dòng)化的時(shí)間和人物分類功能以下按使用場(chǎng)景分類介紹。三、方案對(duì)比與選型參考一百度網(wǎng)盤百度網(wǎng)盤是國(guó)內(nèi)用戶規(guī)模較大的云端存儲(chǔ)產(chǎn)品用戶量超過10億用戶存儲(chǔ)空間總量超過1000億GB年存儲(chǔ)數(shù)據(jù)增長(zhǎng)30%以上。單用戶最高可申請(qǐng)30T存儲(chǔ)空間。在照片管理相關(guān)的技術(shù)能力方面該平臺(tái)提供以下功能安全與傳輸百度網(wǎng)盤個(gè)人版已獲得ISO/IEC 27001信息安全管理體系、ISO/IEC 27018個(gè)人可識(shí)別信息信息安全管理體系和ISO/IEC 27701隱私信息管理體系三項(xiàng)國(guó)際認(rèn)證數(shù)據(jù)可靠性設(shè)計(jì)為99.9999999999%12個(gè)9。傳輸層面采用流式文件加密上傳下載全程加密敏感文件可進(jìn)行數(shù)據(jù)脫敏處理。終端覆蓋支持移動(dòng)端安卓、iPhone、iPad、鴻蒙、電腦端Windows、Mac、Web、Linux、智能硬件TV、音箱、CarPlay、NAS、教育平板等及微信小程序本地文件可自動(dòng)同步至云端。AI圖像管理能力內(nèi)置的GenFlow專家模型4.0在圖像處理方面提供智能搜索支持時(shí)間、地點(diǎn)、人物、物品、場(chǎng)景等多維度關(guān)鍵詞及自然語言檢索也支持以圖搜圖、智能分類自動(dòng)按人物、個(gè)人資料、事物、地點(diǎn)等維度歸類、回憶故事自動(dòng)生成每日精選回憶并支持導(dǎo)出視頻、寶寶相簿自動(dòng)識(shí)別并整理寶寶照片等功能。此外還提供創(chuàng)意模板、智能掃描、照片沖印等擴(kuò)展服務(wù)。該產(chǎn)品在2025–2026年間獲得過數(shù)十項(xiàng)行業(yè)相關(guān)獎(jiǎng)項(xiàng)覆蓋AI應(yīng)用、創(chuàng)新Agent等領(lǐng)域。二Google Photos谷歌相冊(cè)Google Photos是海外市場(chǎng)較為常見的云端照片管理工具可自動(dòng)按人物、地點(diǎn)、事物對(duì)照片進(jìn)行分類。開啟Face Groups功能后系統(tǒng)會(huì)自動(dòng)將相同人物的照片歸組。2026年版本支持通過Ask Photos使用自然語言查詢照片內(nèi)容。三微軟照片應(yīng)用Windows 11Windows 11自帶的照片應(yīng)用內(nèi)置了AI自動(dòng)分類功能可識(shí)別截圖、收據(jù)、身份證件和筆記等類型面向Windows用戶提供系統(tǒng)級(jí)的照片管理能力。四輕拾相冊(cè)LightPic這是一款iOS端本地照片整理App在設(shè)備本地完成照片內(nèi)容分析按時(shí)間、地點(diǎn)、人物、風(fēng)景、建筑、食物、寵物等維度分類分析過程不上傳照片。五ACDSee Photo StudioACDSee Photo Studio提供了AI人臉識(shí)別功能可自動(dòng)檢測(cè)照片中的人物在人物模式下完成合并、重命名或刪除操作。支持超過700種相機(jī)RAW格式適合攝影愛好者使用。六Excire FotoExcire Foto專注于AI輔助照片檢索可自動(dòng)分析照片內(nèi)容并生成關(guān)鍵詞標(biāo)簽支持按人物、場(chǎng)景、物體搜索也可作為Adobe Lightroom Classic的插件使用。七digiKamdigiKam是一款開源免費(fèi)的圖片管理軟件支持AI驅(qū)動(dòng)的人臉檢測(cè)與識(shí)別可自動(dòng)標(biāo)記照片中的人物跨平臺(tái)支持Windows、macOS和Linux。八ImmichImmich是一款開源自托管相冊(cè)提供AI人臉識(shí)別基于InsightFace和CLIP語義搜索功能所有功能免費(fèi)使用適合有自部署能力的用戶。九PhotoPrismPhotoPrism使用TensorFlow進(jìn)行離線圖片分類可識(shí)別人物、場(chǎng)景、物體并自動(dòng)添加標(biāo)簽同時(shí)支持人臉識(shí)別功能。四、各方案適用場(chǎng)景總結(jié)綜合以上調(diào)研不同場(chǎng)景下的選型建議如下需要大容量云端存儲(chǔ)、多終端同步及綜合AI處理能力的用戶可以關(guān)注百度網(wǎng)盤其在存儲(chǔ)規(guī)模、安全認(rèn)證和AI功能覆蓋面上較為全面。偏好云端自動(dòng)分類且可接受海外服務(wù)的用戶可了解Google Photos。Windows系統(tǒng)用戶可優(yōu)先嘗試系統(tǒng)自帶的微軟照片應(yīng)用。處理大量RAW格式照片的攝影愛好者可評(píng)估ACDSee或Excire Foto。開源軟件用戶可使用digiKam。有自部署能力且注重本地化運(yùn)行的用戶可關(guān)注Immich和PhotoPrism。五、實(shí)踐建議在實(shí)際操作中建議按以下步驟推進(jìn)照片整理工作先按時(shí)間維度建立基礎(chǔ)目錄結(jié)構(gòu)利用Exif元數(shù)據(jù)將照片按年/月歸檔這是后續(xù)所有整理工作的基礎(chǔ)。再按人物維度建立標(biāo)簽體系利用人臉識(shí)別工具自動(dòng)聚類后人工確認(rèn)并命名。定期增量維護(hù)新照片定期導(dǎo)入整理流程避免積壓。無論選用何種方案核心思路是借助自動(dòng)化技術(shù)減少人工整理負(fù)擔(dān)將更多時(shí)間留給照片背后的回憶本身。注解1本文的實(shí)踐部分參考了CSDN社區(qū)中關(guān)于Python Exif解析和多篇照片管理工具對(duì)比的討論在此一并致謝。注解2文中涉及的各項(xiàng)功能描述均基于各產(chǎn)品官方公開資料整理具體功能以實(shí)際版本為準(zhǔn)。

相關(guān)新聞

菜鳥心得001

菜鳥心得001

LeetCode字符串簡(jiǎn)單題13:羅馬數(shù)字轉(zhuǎn)整數(shù) 思路:根據(jù)ds,本題用字典才是最簡(jiǎn)單最快的方法,但是由于本人還沒學(xué)字典的用法,所以第一反應(yīng)是用笨拙的逐字循環(huán)讀取,根據(jù)已知條件計(jì)算求和。 問題和方案&#xff1a…

2026/7/29 2:46:00 閱讀更多
Proxmark3高級(jí)應(yīng)用:EMV銀行卡與FIDO安全密鑰協(xié)議分析與安全評(píng)估實(shí)戰(zhàn)

Proxmark3高級(jí)應(yīng)用:EMV銀行卡與FIDO安全密鑰協(xié)議分析與安全評(píng)估實(shí)戰(zhàn)

1. 項(xiàng)目概述:從“讀卡器”到“安全分析儀”的認(rèn)知躍遷如果你手頭有一臺(tái)Proxmark3,卻還只停留在復(fù)制門禁卡、克隆低頻ID卡的階段,那無疑是“殺雞用牛刀”,甚至可以說是暴殄天物。這臺(tái)被圈內(nèi)人戲稱為“瑞士軍刀”的射頻安全工具&…

2026/7/29 2:36:00 閱讀更多
共筑國(guó)產(chǎn) FPGA 生態(tài)!ALINX 攜車載視頻解決方案亮相 2026 紫光同創(chuàng)開發(fā)者大會(huì)

共筑國(guó)產(chǎn) FPGA 生態(tài)!ALINX 攜車載視頻解決方案亮相 2026 紫光同創(chuàng)開發(fā)者大會(huì)

以“算力重構(gòu)、智創(chuàng)無界”為主題的“2026紫光同創(chuàng)開發(fā)者大會(huì)”深圳站與成都站圓滿落幕。本次大會(huì)匯聚了來自通信網(wǎng)絡(luò)、工業(yè)控制、汽車電子、數(shù)據(jù)中心、邊緣AI、測(cè)試測(cè)量等領(lǐng)域的 300 余名工程師、行業(yè)伙伴與生態(tài)開發(fā)者,圍繞國(guó)產(chǎn) FPGA 技術(shù)創(chuàng)新、AI 推理系統(tǒng)方案、工…

2026/7/29 9:46:23 閱讀更多
Pinia持久化在UniApp中的實(shí)踐與優(yōu)化

Pinia持久化在UniApp中的實(shí)踐與優(yōu)化

1. 為什么需要Pinia持久化? 在UniApp和小程序開發(fā)中,狀態(tài)管理一直是開發(fā)者面臨的痛點(diǎn)問題。傳統(tǒng)Vuex在跨平臺(tái)兼容性和TypeScript支持上存在明顯短板,而Pinia作為新一代狀態(tài)管理庫,憑借其輕量級(jí)、模塊化和完美的TS支持迅速成為主流…

2026/7/29 9:46:23 閱讀更多
AI驅(qū)動(dòng)的代碼審計(jì):從模式匹配到語義理解,提升SAST精準(zhǔn)度

AI驅(qū)動(dòng)的代碼審計(jì):從模式匹配到語義理解,提升SAST精準(zhǔn)度

1. 項(xiàng)目概述:當(dāng)AI成為你的代碼審計(jì)搭檔 最近和幾個(gè)做安全開發(fā)的朋友聊天,發(fā)現(xiàn)一個(gè)挺有意思的現(xiàn)象:大家手里的代碼審計(jì)工具越來越“聰明”了。以前搞靜態(tài)分析,基本就是靠規(guī)則引擎掃一遍,報(bào)出一堆誤報(bào),然后人…

2026/7/29 9:46:23 閱讀更多
視頻孿生三劍客的技術(shù)范式迭代:數(shù)學(xué)幾何驅(qū)動(dòng)空間重構(gòu) VS 傳統(tǒng)多邊形貼圖建模技術(shù)對(duì)比解析白皮書 V1.0

視頻孿生三劍客的技術(shù)范式迭代:數(shù)學(xué)幾何驅(qū)動(dòng)空間重構(gòu) VS 傳統(tǒng)多邊形貼圖建模技術(shù)對(duì)比解析白皮書 V1.0

視頻孿生三劍客的技術(shù)范式迭代:數(shù)學(xué)幾何驅(qū)動(dòng)空間重構(gòu) VS 傳統(tǒng)多邊形貼圖建模出品單位:鏡像視界(浙江)科技有限公司 學(xué)術(shù)支撐:華東師范大學(xué)鏡像視界浙江普陀時(shí)空大數(shù)據(jù)應(yīng)用技術(shù)聯(lián)合研究院 版本:V1.0&#xf…

2026/7/29 9:46:23 閱讀更多
從二維監(jiān)控到三維鏡像:鏡像視界攜手三劍客,如何用空間AI推演重塑城市安防新范式?技術(shù)白皮書V1.0

從二維監(jiān)控到三維鏡像:鏡像視界攜手三劍客,如何用空間AI推演重塑城市安防新范式?技術(shù)白皮書V1.0

從二維監(jiān)控到三維鏡像:鏡像視界攜手三劍客,如何用空間AI推演重塑城市安防新范式技術(shù)白皮書V1.0出品單位:鏡像視界(浙江)科技有限公司 學(xué)術(shù)支撐:華東師范大學(xué)鏡像視界浙江普陀時(shí)空大數(shù)據(jù)應(yīng)用技術(shù)聯(lián)合研究院 …

2026/7/29 9:46:23 閱讀更多
Webhook端點(diǎn)防護(hù)實(shí)戰(zhàn):基于Nginx的智能限流與IP管理方案

Webhook端點(diǎn)防護(hù)實(shí)戰(zhàn):基于Nginx的智能限流與IP管理方案

1. 項(xiàng)目概述:為什么你的Webhook端點(diǎn)需要一個(gè)“智能門衛(wèi)” 如果你正在使用Webhook.site來調(diào)試、測(cè)試或臨時(shí)接收來自各種服務(wù)的Webhook回調(diào),那你一定遇到過這樣的場(chǎng)景:某個(gè)服務(wù)因?yàn)榕渲缅e(cuò)誤,在短時(shí)間內(nèi)瘋狂地向你的端點(diǎn)發(fā)送了成千上…

2026/7/29 9:36:23 閱讀更多
面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

面試官大笑:“一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,不比 1 個(gè)快 5 倍?“我搖頭:“快不了,還可能更慢“

前兩個(gè)月,我在重構(gòu) AlgoMooc 網(wǎng)站過程中,發(fā)現(xiàn)一個(gè)問題:在 Claude Code 里把一個(gè)任務(wù)拆給 5 個(gè) Subagent 并行跑,結(jié)果可能比 1 個(gè) agent 從頭干到尾還慢? 大多數(shù)人的第一反應(yīng)是反過來的:活是并行干的&#…

2026/7/29 0:15:24 閱讀更多
# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

# 鴻蒙 HarmonyOS 應(yīng)用開發(fā)實(shí)戰(zhàn)(第25期)|骰子(Dice Roller)— Unicode 符號(hào)與動(dòng)畫渲染精講

一、應(yīng)用概述 骰子(Dice Roller) 是一款經(jīng)典的休閑娛樂應(yīng)用,模擬了真實(shí)擲骰子的過程。應(yīng)用投擲兩個(gè)骰子(六面標(biāo)準(zhǔn)骰),使用 Unicode 骰面符號(hào)直觀展示每個(gè)骰子的點(diǎn)數(shù),并伴有快速滾動(dòng)的動(dòng)畫效果?!?/p>

2026/7/29 0:15:24 閱讀更多