Repository navigation
Releases: moonlightz327/facesort
Releases · moonlightz327/facesort
Release list
v2.1.0
FaceSort 2.1.0
中文
整理完成后上传百度网盘(可选)
- 「设置 → 百度网盘上传」二选一:开放平台接口(在 pan.baidu.com/union 注册个人开发者应用,填 AppKey / SecretKey,扫码或输入验证码授权一次,之后自动续期;照片传到
/apps/<应用名>/<拍摄文件夹>/<人名>/…)或 同步文件夹(复制进网盘客户端的同步目录,由客户端上传,零配置)。 - 「整理完成后自动上传」开关;预览页每次可勾选或跳过本次上传;结果页显示进度、可随时停止,失败或停止后可继续传剩下的。
- 上传有记录:同一张照片不会重复传,续跑新增的只传增量;相同内容走百度秒传。默认只传按人分好的文件夹,「未识别 / 无人脸 / 合影」可选。
- 暂停的整理不会自动上传,避免待分类照片传两遍。
English
Optional upload to 百度网盘 (Baidu Netdisk) after a sort
- Settings → 百度网盘上传: either the open-platform API (register a personal-developer app once, paste AppKey / SecretKey, authorize by QR or code; files land under
/apps/<app name>/<shoot>/<person>/…) or a sync folder the Baidu desktop client uploads on its own. - Auto-upload switch, per-run tick box on the preview page to skip a batch, progress and stop on the results page, resume after a stop.
- A ledger prevents re-uploading the same photo; identical content uses Baidu's instant upload. Person folders only by default.
v2.0.0
FaceSort 2.0.0
中文
随时暂停、随时继续,人工调整不会被覆盖
- 整理途中点「暂停」:已认出的照片先归入各自文件夹,还没看到的暂存到
_待分类,进度自动保存;再按一次「立即停止」连暂存也停。 - 对同一照片目录和输出目录再整理一次即可续跑:只处理剩下的照片,已归位的文件夹结构原样不动。中间手动把照片换到别的人物文件夹、或亲自把待分类里的照片归好,续跑都会尊重,不会复制回去。
- 完成后
_待分类自动清空消失。「整理设置」页会提示未完成的任务,预览只列出剩余部分。 - 自动分组模式暂停时不写文件(分组依赖全量照片),已识别的结果已缓存,再点整理秒级接上。
- 命令行:Ctrl-C 一次 = 暂停并暂存,两次 = 立即停止。
Windows 显卡加速,零配置
- Windows 版改用
onnxruntime-directml:任何 DirectX 12 显卡(NVIDIA / AMD / Intel,含核显)自动加速,不用装 CUDA 或任何驱动工具包;没有可用显卡自动用 CPU。「设置」显示当前使用的加速器与回退原因。 - 加速器与 CPU 的一致性由 CI 在 macOS(CoreML)和 Windows(DirectML)上逐次校验:embedding 余弦 ≥ 0.99、检测框一致。本机实测 CoreML 余弦 0.9998、框逐位相同,500ms → 60ms/张。
更快、更不重复
- 识别缓存改为全局共享:换输出目录、改设置重跑、暂停后续跑,一张照片都不会被重新识别。「设置」可查看缓存占用并清除。
- 添加样本时按缩放尺寸检查人脸,样本缩略图按需加载,样本多时启动不再变慢。
流程闭环与体验修复
- 预览页与结果页现在会列出所有被跳过的文件和所有提示(样本无人脸、暂停、报告未写入…)。
- 结果页按实际落盘计数;出错的照片逐条列出原因;「报告已保存」只在真的写入时显示。
- 照片目录里之前的整理结果文件夹(如
_sorted)不再被当作输入重复整理。 - 添加样本时若模型未安装,样本仍会保存并明确提示,不再静默下载。
- 启动失败可重试;关闭窗口会立即停止后台整理并保存进度;Windows 路径显示与「打开文件夹」按钮文案按系统适配;自动分组识别中显示实时人脸计数;空目录有明确提示。
English
Pause and resume, without losing hand edits
- Pause a sort: recognized photos go to their folders, the rest are parked in
_待分类(pending), progress is saved. Press again to stop even the parking. - Run the same folders again to resume: only pending photos are processed and the existing folder structure is left alone — including photos you moved by hand in between.
_待分类empties itself when done. - Auto-group mode pauses without writing files (groups need the whole shoot); the rerun finishes from cache in seconds.
GPU acceleration on Windows, zero setup
- The Windows build now ships
onnxruntime-directml: any DirectX 12 GPU (NVIDIA / AMD / Intel, integrated included) is used automatically, no CUDA toolkit; falls back to CPU otherwise. Settings shows what is active. - CI checks accelerator vs CPU agreement on macOS (CoreML) and Windows (DirectML).
Faster, never twice
- One shared recognition cache across runs, output folders and settings changes. Visible and clearable in Settings.
Workflow fixes
- Skipped files and warnings are shown on the preview and results pages; results count what actually landed on disk; per-file errors are listed; earlier result folders inside the input are skipped; adding samples without the model no longer downloads silently; closing the window stops the sort and saves progress.
v1.1.1
v1.1.0
v1.1.0: Apple 芯片加速 (8.4x)、APFS 克隆 (整理不再需要等量空间)、大批量整理不再假死、聚类不再分出上百组
v1.0.3
FaceSort v1.0.3 模型 - 下载显示百分比/速度/剩余时间/下载源,可随时取消 - 新增「设置」页,可提前装好模型;配置持久化保存 - 修复:模型加载面板盖住「识别照片 X/N」;模型已加载时直接进入识别 流程 - 修复:执行中点「设置」后无法返回执行步骤 - 修复:返回运行中步骤会重复发起任务 - 修复:去设置页再回来会丢弃刚算好的预览 - 修复:识别完成后界面倒退回「正在准备(首次需加载识别模型)」 - 任务进行中锁定其他步骤,取消/完成后流程闭环 取消 - 修复:模型下载阶段无法取消 - 修复:计划阶段的取消被静默丢弃 - 按钮点击后显示「正在取消…」,明确已接收
v1.0.2
FaceSort v1.0.2 - 大 JPEG 按一半尺寸解码,24MP 照片端到端快 1.62x,分组结果完全一致 - 默认 max_side=1400(12MP 及以上都能减半,且不会掉到 1/4) - 可用 --full-decode 或高级选项「按原始分辨率解码」关闭
v1.0.1
FaceSort v1.0.1 - 模型下载多源 + 手动导入,修复国内网络 ConnectTimeout - 聚类分组可在预览页/结果页自定义命名,同名自动合并 - 保存人物闭环打通(空人物不再导致整轮失败) - 并行分析,实测端到端约 1.4-2x 提速
v1.0.0
ci: fix Windows build — ASCII build-script output + force UTF-8 Windows consoles default to cp1252; the inline step's Chinese print raised UnicodeEncodeError. Use ASCII output and set PYTHONUTF8/PYTHONIOENCODING in CI. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v0.1.0
Initial commit: FaceSort — 按人物样本自动归类照片的跨平台工具 核心:InsightFace(SCRFD+ArcFace) 人脸识别 + 计划/执行分离的归类引擎, SQLite 嵌入缓存,命名模板,多人合影三策略,RAW+JPEG 配对,无样本聚类。 界面:CLI(run/cluster/inspect/gui) + React/pywebview 图形界面四步向导。 打包:PyInstaller 跨平台 spec(macOS .app/.dmg,Windows .exe)+ GitHub Actions。 测试:64 项单元测试(核心逻辑用假嵌入,不依赖 insightface)。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>