px-asset-extract — 画像から個別資産を抽出するツール
概要
px-asset-extractは、複雑な機械学習を使わずに、入力画像中のポスターやスライド中の個別要素(図、表、ブロック、図形等)を自動で検出して個別の透明PNGとして保存し、各資産の位置情報などをまとめたJSONマニフェストを出力するツールです。古典的な画像処理手法で領域検出・マスク生成・切り出し・透視補正を行うため、実行が軽くオンプレや低リソース環境でも利用しやすい点が魅力です。デモはHugging Faceで確認できます。
リポジトリの統計情報
- スター数: 3
- フォーク数: 0
- ウォッチャー数: 3
- コミット数: 7
- ファイル数: 9
- メインの言語: Python
主な特徴
- 完全に古典的コンピュータビジョン手法で実装(No ML models)
- 画像中の複数資産を個別の透明PNGとして出力、同時にJSONマニフェストを生成
- ポスター・スライド・インフォグラフィック向けにチューニング済みの前処理とフィルタリング
- Hugging Faceでのデモ公開、Python 3.9+サポート、MITライセンス
技術的なポイント
px-asset-extractは学習モデルを使わない方針のため、処理は従来型CVパイプラインで完結します。まず入力画像に対してカラースペース変換(RGB→グレースケールやHSV)やガウシアンブラーでノイズ低減を行い、適応的閾値処理やエッジ検出(Canny等)で候補領域を浮かび上がらせます。次にモルフォロジー演算(膨張・収縮)で領域を整形し、輪郭検出で連結成分を抽出。面積・アスペクト比・形状の凸性・周囲の余白など複数のヒューリスティックでフィルタリングして「有効な資産」を識別します。検出領域には透視補正(四点射影変換)や回転補正を施して矩形に正規化し、アルファマスクを生成して背景を透過させたPNGを出力します。生成されるJSONマニフェストには、元画像に対するバウンディングボックス、切り出しファイル名、座標(および必要に応じて透視変換行列やスコア)などが含まれ、後続のワークフローで使いやすく設計されています。
実装面ではPython中心で、OpenCV等の一般的ライブラリを想定した構成になっており、軽量でローカル実行が容易です。利点はモデルの学習不要による即時利用性と低ランニングコスト、欠点は複雑な重なりや微妙な境界(半透明やグラデーション)に対するロバスト性が限定される点です。将来的な拡張としては、選択的にセマンティックセグメンテーションモデルを組み合わせるハイブリッド方式、パラメータ自動調整やユーザインタラクションによる微調整UI、OCR連携によるテキストメタデータ抽出などが考えられます。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- LICENSE: file
- README.md: file
- SKILL.md: file
- examples: dir
…他 4 ファイル
(examplesフォルダにはサンプル画像と処理コマンドの例が入っており、READMEにはHugging Faceデモへのリンクや簡単な実行方法が記載されています)
まとめ
古典的CVで軽快に画像資産を抽出する実用的なツールです。
リポジトリ情報:
- 名前: px-asset-extract
- 説明: Extract individual assets from images as transparent PNGs. Zero ML models, pure classical CV.
- スター数: 3
- 言語: Python
- URL: https://github.com/JadeLiu-tech/px-asset-extract
- オーナー: JadeLiu-tech
- アバター: https://avatars.githubusercontent.com/u/266345503?v=4
READMEの抜粋:
px-asset-extract
Extract individual assets from images — posters, infographics, slides, diagrams — as transparent PNGs with a JSON manifest. Zer…