オープンソースプロジェクト
Zeyi-Lin/HivisionIDPhotos avatar
Zeyi-Lin/HivisionIDPhotos

HivisionIDPhotos:軽量なAI証明写真作成ツール

HivisionIDPhotos: 軽量で効率的な AI 証明写真ツール。 AI 。

スター 21,528フォーク 2,497PythonApache-2.0

ひと目でわかる

これは何?
Pythonベースのオープンソースプロジェクトで、AIモデルによる人物切り抜き、サイズ調整、レイアウト生成を実現し、CPUオフライン推論をサポート。
誰に向いている?
HivisionIDPhotosはApache-2.0ライセンスで公開されており、コアコードの自由な利用と変更が可能ですが、プロジェクト自体は商用サポートやセキュリティ保証を提供しておらず、実際のデプロイと性能は環境と公式ドキュメントに依存します。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 75 日前です。
何の言語で書かれている?
主に Python です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

プロジェクトの位置付け:証明写真作成のためのAIワークフロー

HivisionIDPhotosはPythonで書かれた人工知能ツールで、ユーザーの撮影シーンを認識し、人物の切り抜きを行い、規格に合った証明写真を生成することを目的としています。リポジトリの説明では、軽量で効率的なAI証明写真アルゴリズムと定義されています。現在、リポジトリは2万以上のスターと2千以上のフォークを獲得していますが、プロジェクトは活発に開発が続けられており、アーカイブされていません。READMEには4つの主要な機能が記載されています:軽量な切り抜き、異なるサイズ仕様に基づく標準証明写真と六寸レイアウト写真の生成、完全オフラインまたはエッジクラウド推論のサポート、そして未実装の美顔効果とスマート正装チェンジです。後者の2つはREADMEで待機状態とマークされており、実装されていません。

モデルとウェイト:3つの選択可能な切り抜きモデル

プロジェクトは切り抜きのために外部の事前学習モデルに依存しています。READMEには3つの選択可能なウェイトファイルがリストされています。MODNetの人物切り抜きウェイトと、純色背景置換に最適化されたプロジェクト独自のMODNetバリアントは、両方とも24.7MBで、プロジェクトのGitHubリリースページから直接ダウンロードできます。3つ目のモデルはBRIA AIのRMBG-1.4で、176.2MBあり、Hugging Faceからダウンロードしてリネームする必要があります。これらのウェイトファイルは手動でhivision/creator/weightsディレクトリに配置する必要があり、プロジェクトは全ウェイトを自動ダウンロードするスクリプトを提供しておらず、特定のモデルをダウンロードするコマンドのみがあります。

推論フロー:入力写真から証明写真へ

Python推論のエントリポイントはinference.pyスクリプトで、コアパラメータには入力・出力パス、推論タイプ、モデル選択が含まれます。推論タイプは4つあります:idphoto、human_matting、add_background、generate_layout_photosで、それぞれ証明写真生成、人物切り抜き、背景追加、レイアウト生成に対応します。証明写真生成は、標準証明写真1枚と高解像度の4チャンネル透明PNGを出力します。切り抜きモードは4チャンネル透明PNGを出力し、背景追加モードは透明PNGを受け取って3チャンネルの色付き画像を出力し、レイアウトモードは六寸レイアウト写真を生成します。READMEはidphoto_cropタイプにも言及していますが、これはコアパラメータリストに含まれておらず、検証が必要です。すべてのコマンド例はpython inference.pyを使用していますが、正確なパラメータの組み合わせはドキュメントを確認する必要があります。

顔検出モデル:3つの選択肢

プロジェクトは、顔の位置を特定して切り抜きとサイズ調整を支援するために、3つの顔検出モデルをサポートしています。MTCNNはデフォルトモデルで、オフラインで動作し、CPU推論性能は高いものの精度は比較的低くなっています。RetinaFaceもオフラインで、CPU推論時間は秒単位で、精度が高く、追加のウェイトファイルをダウンロードする必要があります。Face++はMegviiが提供するオンラインAPIで、検出精度は高いですが、APIキーとネットワーク接続が必要です。READMEにはFace++のドキュメントへのリンクがありますが、キーの設定方法は説明されておらず、DockerデプロイセクションではFACE_PLUS_API_KEYとFACE_PLUS_API_SECRET環境変数が言及されています。異なる顔検出モデルを選択すると推論速度と精度に影響し、正確な性能差はREADMEの性能テスト表に記載されています。

デプロイ方法:ローカル、Docker、APIサービス

プロジェクトは複数のデプロイパスを提供しています。ローカル実行にはPython 3.7以上が必要で、Python 3.10が推奨され、Linux、Windows、macOSをサポートしています。依存関係をインストールしウェイトファイルをダウンロードした後、python app.pyを実行するとGradioデモインターフェースが起動し、python deploy_api.pyを実行するとAPIバックエンドサービスが起動します。DockerデプロイはDocker Hubからlinzeyi/hivision_idphotosイメージをプルするか、Dockerfileからビルドするか、Docker Composeを使用するかをサポートしています。Docker実行ではポートマッピングを指定でき、例えばGradioサービス用にポート7860、API用にポート8080をマッピングします。READMEにはRUN_MODE環境変数も言及されており、beastに設定すると顔検出と切り抜きモデルがメモリを解放せず、2回目以降の推論が高速化されますが、少なくとも16GBのRAMが必要です。

Gradioデモとカスタマイズ

Gradioデモインターフェースはプロジェクトの対話型エントリポイントであり、python app.pyを実行するとローカルにWebページが生成されます。READMEの更新ログによると、2024年9月から11月にかけて、印刷レイアウトオプション、美顔パラメータ、base64画像入力、レイアウト切り抜き線、ビーストモード、DPIパラメータ、テンプレート写真の共有、アメリカンスタイル背景、カスタム背景色HEX入力、顔の回転アライメント、ミリメートルサイズ入力、明るさ・コントラスト・シャープネス調整などの機能が追加されました。これらの機能のほとんどはGradioインターフェースに直接統合されており、コードの変更は不要です。カスタムサイズと色はCSVファイルを変更することで定義でき、正確なパスはREADMEのQ&Aセクションで説明されています。

コミュニティエコシステムとライセンス

プロジェクトページには、ComfyUIワークフロー、WeChatミニプログラム、Uniappフロントエンド、C++バージョン、Windows GUI、Synology NASデプロイチュートリアルなど、コミュニティが貢献した複数の拡張機能がリストされており、これらはすべて独立したGitHubリポジトリにホストされています。プロジェクト自体はApache-2.0ライセンスで公開されています。ライセンステキストによると、ユーザーはコードを複製、派生作品の作成、公開表示、実行、サブライセンス、配布するための、永続的、世界的、非独占的、無償、ロイヤリティフリー、取消不能な著作権ライセンスを付与されます。ライセンスには特許付与も含まれていますが、ユーザーがプロジェクトに対して特許訴訟を起こした場合、特許ライセンスは終了すると述べられています。ライセンスは保証やサポートの約束を提供しておらず、READMEもセキュリティ更新や脆弱性処理プロセスについては言及していません。

編集部の結論

HivisionIDPhotosはApache-2.0ライセンスで公開されており、コアコードの自由な利用と変更が可能ですが、プロジェクト自体は商用サポートやセキュリティ保証を提供しておらず、実際のデプロイと性能は環境と公式ドキュメントに依存します。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート