写真の人物を自動的にぼかすツール[終了]


11

写真に写っている人を簡単に認識できなくする方法を探しています。自分のオンラインアルバムに写真(通常は都市や風景)を入れるときは常に、見知らぬ人の写真を公開しないことが礼儀正しさの基本事項であるため、最初にすべての認識できる人を認識できないようにします。

したがって、私は基本的にGoogleがストリートビュー画像に対して行うことを多かれ少なかれ行いたいと思っています。現在、Gimpですべての顔の周りに楕円の選択範囲を描画し、選択範囲にぼかしフィルターを使用して、写真ごとにこれを手動で行っています。

ワンクリックで多かれ少なかれこれをぼかすことができるツールはありますか?理想的には、最初のステップで認識されたすべての顔を表示してから、ぼかしたくない顔の選択を解除できますか?

(車のナンバープレートなど、他の個人の詳細をぼかすこともいいでしょうが、私の主な目的は、人々が写真に頻繁に登場するため、顔をぼかすためのこのようなツールを見つけることですが、判読可能なナンバープレートの総数は最小限です。さらに、顔をぼかすツールを探しています。ピクセレーションはフォールバックになる可能性がありますが、ぼかしほど画像の他の部分とうまく統合されません。)

私はこのようなツールをもうしばらく探していましたが、見つけたものはすべて次の3つのカテゴリのいずれかに属しているようです。

  • このアプリなどのデスクトップコンピューターではなく、スマートフォンで実行することを目的としています。
  • これこれ、またはこの記事のような同様の質問によって示されるように、それはビデオのためのものです。
  • これはウェブベースであるため、すべての写真を処理するために誰かのサーバーにアップロードする必要があり、このサービスこのエディターなどで写真を編集するときにはインターネット接続が必要です。

私は、インターネット接続を必要とせずにWindowsやUbuntuで動作するソフトウェアのみを探しています(つまり、処理のためにすべての写真をアップロードする必要のあるクラウドツールはありません)。無料のツールがいいですが、有償ツールのほうが、まったくツールがないよりはましです。

回答:


2

2010年のGIMP the Face Detectionプラグインを見つけました(まだ機能する保証はありません)。

画像

それ以外の場合は、独自のソフトウェアを展開する必要があります。この場合、次のリンクを参照してください。

顔検出ソフトウェア
Microsoft Research Face SDK Beta
Intel Perceptual Computing SDK

特筆すべきはOpenCVです。 Pythonの使用例については、検出してから画像自動トリミングするを参照してください。


1
残念ながら、プラグインをコンパイルできませんでした。記事に記載されている以外にも必要なパッケージをインストールしcvHaarDetectObjects、現在の(下位互換性がない?)APIを1つの追加パラメーターと一致するように呼び出しを更新しましたが、gccはへの未定義の参照で失敗しlrintます。
ORマッパー2013年

lrintは「最も近い整数に丸める」ことを行い、「long int lrint(double x)」として定義されます。コーディングしやすいはずです。
harrymc 2013年

この回答は最も有用であり、有望であるように思われるため、今のところこの回答を受け入れます。残念ながら、SUのバウンティシステムでは、バウンティの期限が切れる前に、さまざまな提案を十分に試して最終的な有用性を判断するための十分な時間が与えられていません... そして、仕事をします;-)後で追加の備考。
ORマッパー2013年

うーん。の定義を追加するlrintと、コンパイラはの定義の競合lrintについて不平を言い、追加しないlrintと、未定義の参照であると不平を言います。
またはMapper

問題の定義を見つけ、それに基づいて関数ヘッダーを作成します。
harrymc 2013年

5

「いくつかのアセンブリが必要」なソリューションで問題ない場合は、「facedetect」(単にOpenCVを使用)とImageMagickを使用してみてください。次のページに例があります。

http://www.thregr.org/~wavexx/hacks/facedetect/#blurring-faces-within-an-image

例に関するいくつかのメモ:

  • ピクセル化を使用しますが、「-scale」演算子を単純な「-blur 0x100」に簡単に置き換えることができます。
  • この例では、各顔が個別に処理されます。これはまさに必要なものです。「display -crop GEOMETRY」を使用して、ぼかし処理の前に顔を表示できます。「zenity」またはシェルスクリプトを使用すると、ぼかしを続行するかどうかを尋ねるのは比較的簡単です。

ただし、100%正確な顔検出ソフトウェアはありません。誤検知とミスの両方が発生します。特に、デフォルトのOpenCVプロファイルは、追加のトレーニングなしでは市場で最高とは言えません。誤検知は、説明した方法で簡単に回避できますが、ミスは別の話です。すべての写真を手動で確認する必要がある場合、多くの時間を節約できない可能性があります。精度の要求次第だと思います。

検出を重ねて表示するには、画像のサンプルで「-o」フラグを使用し、検出率がニーズに適しているかどうかを確認します。


2

現在のベストアンサーは次のようです。

https://github.com/openalpr/openalpr

残念ながら、これは単なるソフトウェアライブラリであり、検出専用です。これをぼかしを行うソフトウェアに統合する必要があります。

私も同様のニーズがあるので、試してみるかもしれませんが、私のプログラミングスキルは少し…さびています。

Googleにも同じ問題がありました。彼らは彼らの研究をここに公開しましたが、コードは公開していませんでした:http : //static.googleusercontent.com/media/research.google.com/en//archive/papers/cbprivacy_iccv09.pdf


ええと、C ++は私のコア言語ではありません。現在実験する時間はありませんが、少し後(数週間?しかし、readmeファイルから、これはナンバープレートのみであり、顔ではないようです。
またはMapper

0

アプリ開発に詳しい場合は、CloudinaryのAPIを使用してみてください。これに関する詳細は次のとおりです。http//cloudinary.com/blog/automatic_face_blurring_in_images_made_easy

それを自動的に実行するソフトウェアアプリも見つかりませんでした。PhotoshopまたはGimp用のプラグインがいくつかある可能性があります。


申し訳ありませんが、私が探していないものの例として、質問の中でその記事に既にリンクしていました。転送には時間がかかり、その会社のサーバーで写真に何が起こるか誰が知っているので、一部のWebサービスに写真をアップロードしたくありません。スタンドアロンがない場合は、Gimpプラグインを探し続けます。
ORマッパー2013年

@ORMapper:すみません、私はそれをスキップしなければなりません。アプリを見つけたらお知らせください。
Alex
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.