クラウド不要のAI写真選別ツール
Best Photo Picker は、完全にローカルで動作するオープンソースの写真管理ツールです。AIが写真のシャープネス、露出、顔、構図などをスコアリングし、大量の写真からベストショットを素早く選び出します。クラウドにデータをアップロードする必要はなく、顔認識、スマート重複除去、時間的多様性のバランスなどの機能を備え、Web UIやmacOSネイティブアプリも利用できます。
デジタル時代、写真ライブラリは数万枚に及ぶことも珍しくありません。Apple PhotosやGoogle Photosは便利ですが、大量の写真から本当に良いものを選び出すのは難しく、クラウドに依存する必要があります。そこで登場したのが Best Photo Picker(bpp)です。これは完全にローカルで動作するオープンソースの写真管理ツールで、人工知能を使って各写真をスコアリングし、クラウドにアップロードすることなく効率的にベストショットを選び出すことができます。
bppの核となる機能は自動スコアリングです。写真のシャープネス、露出の質、顔検出、構図(三分割法など)を分析し、総合スコアを算出します。ユーザーはリアルタイムのスライダーで各要素の重みを調整でき、好みに合わせて選別基準をカスタマイズできます。さらに、知覚ハッシュ(dHash、aHash)とCLIPセマンティック類似度を用いたスマート重複除去機能により、連写写真を自動的にクラスタリングします。時間的多様性を確保するため、1日あたりの最大選択枚数や月ごとの最低カバレッジを設定可能です。
顔認識はbppの大きな特徴です。複数の顔検出エンジン(YuNet、SCRFD、BlazeFaceなど)を統合し、自動で顔をクラスタリングして人物ごとのスマートアルバムを作成します。ユーザーは手動で顔ラベルをマージ、無視、再割り当てできるほか、特定の人物(子どもやペットなど)の写真が選ばれやすくなるようブースト機能も利用できます。
bppのワークフローは「インポート→分析→スコアリング→重複除去→選択→エクスポート」です。写真はSHA-256で重複チェックされた管理ライブラリにコピーされます。分析はバックグラウンドで並列実行され、結果はSQLiteデータベースにキャッシュされます。エクスポート時はコピー、ハードリンク、シンボリックリンクが選択でき、HTMLギャラリーも生成可能です。
プライバシーはbppの最優先事項です。すべての処理はローカルで行われ、ネットワーク接続は必要ありません。モデルのダウンロード、マップタイルの取得(オプション)、アップデートの確認など、ごく一部のネットワークリクエストを除き、データが外部に送信されることはありません。テレメトリーや分析も一切収集しません。
インストール方法は複数あります。pipxを使った「pipx install "bppicker[web]"」が推奨されますが、pipでもインストール可能です。macOSユーザー向けには、Python不要のスタンドアロンデスクトップアプリも提供されています(Apple Silicon専用)。また、環境変数BPP_ONNX_PROVIDERSを使用してハードウェアアクセラレーションを有効にできます。Apple SiliconではCoreML、LinuxではCUDA、WindowsではDirectMLが利用可能です。
パフォーマンス面では、bppはデフォルトでCPU推論を使用します。6000枚の写真ライブラリの場合、Apple Siliconで約50分かかります。並列ワーカー数を増やすことで処理時間を大幅に短縮できますが、メモリ使用量が増加します。詳細なチューニングパラメータも提供されており、上級ユーザーは環境に合わせて最適化できます。
要するに、Best Photo Pickerは、大量の写真を持ち、クラウドに頼らずにベストショットを素早く見つけたいユーザーに向けた、強力なオープンソースソリューションです。家族写真の整理、旅行の思い出のセレクション、プロの写真家による作品選びなど、ローカルファーストのアプローチで効率的に作業を進められます。