跳至主要内容

幫家人整理舊資料

· 閱讀時間約 3 分鐘

家裡的舊電腦、舊硬碟備份堆了好幾年,照片、文件散在一堆「新增資料夾」裡,這次請 AI 一起幫忙整理,順手記一下做法。

1. 整理時的幾個小發現​

  • 刪之前先比對:以為「整理版」已經夠了,用 hash 比對後,還是從原始資料救回十幾張照片,包括一張漏掉的畢業合照。找重複檔時先比大小,大小一樣才算 hash,快很多
  • Google 相簿匯出的 .json 別直接刪:看起來很多餘,但有兩成照片的拍攝時間只存在 json 裡。可以先用 exiftool 把時間寫回照片的 EXIF,之後 json 就能放心刪了
  • 要不要打包成 ZIP:照片、影片本身已經壓縮過,打包也不會變小,但幾千個小檔案包成一個,搬移、備份會快很多。這次考量直接看縮圖比較方便,最後選擇不打包。

2. 用本地模型找出「有貓的照片」​

想從幾千張照片裡把家裡貓咪的照片挑出來。這些都是家人的生活照,所以直接在自己電腦上跑辨識模型,照片完全不用離開電腦。

順便一提,費用上也差很多:

做法大概的 token
AI 一張一張看(約 4,500 張)500 萬以上
縮圖拼成 5×5 合圖再給 AI 看30 萬左右
在自己電腦上跑辨識模型幾乎 0

做法是本地跑 YOLO:

  • 用 uv 開一個 Python 3.12 的環境(系統的 3.14 還沒有 torch 可以裝)
  • 裝 CPU 版的 torch + ultralytics,模型用最小的 yolo11n
  • 筆電沒有獨顯(i7-1260P),4,837 張大概跑了 12 分鐘
uv venv --python 3.12 .venv
uv pip install --python .venv\Scripts\python.exe torch torchvision --index-url https://download.pytorch.org/whl/cpu
uv pip install --python .venv\Scripts\python.exe ultralytics

模型會給每張照片一個「有貓的信心分數」,接下來分三段處理:

  • 高分:直接收,隨機抽 25 張檢查,全部都是貓
  • 中間:模型沒把握的 61 張拼成合圖再確認,其中 54 張真的有貓
  • 誤判:貓的擺飾、投影片、還有瀑布照

這次中間那批是請小助理看合圖確認的,不過回頭想想,需要確認的也就幾十張,自己看一下就好。

本地模型粗篩 + 自己複查,就已經很夠用了,照片也不用上傳到任何地方。

找到的照片另外複製一份到「貓咪」資料夾,原本的活動資料夾不動,這樣每次活動的照片還是完整的。

用完記得把環境刪掉,torch 加上 uv 的快取差不多佔了 2GB。

3. 舊文件變成一個小網站​

長輩有一批很久以前寫的 Word 文件,想做成手機也能方便翻的樣子,有點像個人的小小博物館:

  • 用 Word 的 COM 介面批次把 .doc 轉成純文字
  • 統一簡繁、去掉空白後比對,把重疊的部分拿掉
  • 做成純靜態網頁,雙擊 index.html 就能開,不用架伺服器
  • 搜尋簡繁通用(OpenCC 做對照表),長段落自動分段,半形標點轉成全形

小結​

這次的收穫是「本地模型 + 自己複查」這個組合:家人的照片不用交給雲端,準確度也夠,以後要從一堆照片裡找東西都可以這樣做。