顔認識ライブラリ[終了]


169

大学のプロジェクト用の無料の顔認識ライブラリを探しています。顔検出は探していません。実際の認識を探しています。つまり、特定の顔を含む画像、または特定の顔間の距離を計算するライブラリを検索します。

私は現在、顔の検出にOpenCVを使用しており、認識には大まかなEigenfaceアルゴリズムを使用しています。しかし、私は、自己記述型のEigenfaceアルゴリズムよりも優れたパフォーマンスを持つものがあるはずだと考えました。パフォーマンスとしての速度についてではなく、単純なEigenfaceアプローチよりも優れた結果をもたらすライブラリを探しています。

私はFaintを調べましたが、このライブラリは自分のアプリケーションではあまり再利用できないようです。

Python、Java、C ++、Cなどのライブラリに満足しています。現時点では、Windows専用の外部コードに依存しているため、Windowsマシンで実行できるのが最善です。


1
政治的または実際的な理由で無料である必要がありますか?純粋な研究プロジェクトの場合は、商用サプライヤーの1つから無料のアカデミックライセンスを取得できる可能性があります。
クリストファー

2
eigenfacesアプローチのみで比較的良い結果が得られましたが、無料で使用できる優れた顔検出APIは現時点では不足しているようです
Janusz



4
2009年には完全に受け入れられますが、この質問の質問はトピックと見なされなくなりました。ツール、ライブラリ、またはお気に入りのオフサイトリソースを推奨または検索するように求める質問は、Stack Overflowのトピックから外れます。スタックオーバーフローの定義済みのトピック外の理由は何ですか?を
JDBは2013

回答:


85

Windowsで実行される顔認識用の既製のパッケージを提供する商用ベンダーのリストを以下に示します。

  1. Cybula- 顔認識SDKに関する情報。これは大学教授によって設立された会社であり、そのため彼らのウェブサイトは専門家ではないように見えます。ダウンロードできる価格情報やデモはありません。価格情報については、彼ら連絡する必要があります。

  2. NeuroTechnology- 顔認識SDKに関する情報。この会社は両方持っているアップフロント価格情報だけでなく、彼らのSDKの実際の30日間試用版を

  3. ピッツバーグパターン認識 -(Googleが取得顔追跡および認識SDKに関する情報。彼らが提供するデモは、SDSKではなくテクノロジーの評価に役立ちます。価格情報については、彼ら連絡する必要があります。

  4. Sensible Vision - SDKに関する情報。彼らのサイトでは、簡単に価格見積りを入手でき、テクノロジーの評価に役立つ評価キットを注文することもできます。


5
リンクをありがとうございますが、現時点では無料のライブラリを見つける必要があります
Janusz

1
これは、顔認識のためではないかもしれない、それ自体が、numenta.comあなたに興味があるかもしれません。
RCIX 2009

7
face.comの無料REST APIをそのリストに追加できます
Omry Yadan

@Omry、回答として追加するか、これを編集してface.com
スコット


54

更新

OpenCV 2.4.2には、非常に新しいcv :: FaceRecognizerが付属しています。次の場所にある非常に詳細なドキュメントを参照してください。

元の投稿

OpenCV C ++ API(BSDライセンス)用の最新の顔認識ライブラリであるlibfacerecをリリースしました。libfacerecには追加の依存関係はなく、Eigenfacesメソッド、Fisherfacesメソッド、ローカルバイナリパターンヒストグラムを実装します。ライブラリの一部はOpenCV 2.4に含まれる予定です。

libfacerecの最新リビジョンは次の場所にあります。

このライブラリは、OpenCV 2.3.1用に作成されたもので、OpenCV 2.4を想定しているため、2.3.1より前のバージョンのOpenCVはサポートしていません。このプロジェクトは、十分に文書化されたAPIを備えたCMakeプロジェクトとして提供されます。性別分類に関するチュートリアルもあります。HTMLバージョンのドキュメントは次の場所にあります。

これらのアルゴリズムがどのように機能するかを理解したい場合は、私の顔認識ガイド(PythonとGNU Octave / MATLABの例を含む)を読んでください。

私のgithubリポジトリには、アルゴリズムのPythonおよびGNU Octave / MATLAB実装もありますfacerecの両方のプロジェクトには、アルゴリズムを評価するためのいくつかの相互検証メソッドも含まれています。

関連する出版物は次のとおりです。

  • ターク、M。、ペントランド、A 。Journal of Cognitive Neuroscience 3(1991)、71–86。
  • Belhumeur、PN、Hespanha、J。、およびKriegman、D。Eigenfaces 対Fisherfishfaces:クラス固有の線形射影を使用した認識。。IEEE Transactions on Pattern Analysis and Machine Intelligence 19、7(1997)、711–720。
  • Ahonen、T.、Hadid、A.、およびPietikainen、M .ローカルのバイナリパターンによる顔認識。。コンピュータビジョン-ECCV 2004(2004)、469–481。


19

pam-face-authentication顔認証用のPAMモジュール:しかし、それはあなたが望むものを得るためにいくつかの作業を必要とするでしょう。簡単なテストでは、認識率がNeuroTechnologyのVeriLookの認識率ほど良くないことが示されました。

Malicは、Gabor Wavelet記述子を使用するもう1つのオープンソースの顔認識ソフトウェアです。しかし、ソースの最後の更新は3年前です。

Webサイトから:「Malicは、gaborウェーブレットを使用するオープンソースの顔認識ソフトウェアです。これは、MalibとCSUの顔識別評価システム(csuFaceIdEval)に基づくリアルタイム顔認識システムです。リアルタイム画像処理にMalibライブラリを使用し、顔にcsuFaceIdEvalの一部を使用します認識。

さらに、これは興味深いかもしれません:

gaborboosting:Gabor WaveletとAdaBoostアルゴリズムを使用した顔認識に適用される科学的プログラム

特徴抽出ライブラリ-FELib「トランスダクティブカーネルフィッシャー判別式による顔注釈」を参照します


13

私が思うだろう固有顔あなたはすでにやっている、あなたは顔の間の距離を計算する場合に移動するための方法です。Support Vector MachineHidden Markov Modelなどのさまざまなアプローチを試すことができます。顔認識に使用できる主要なアルゴリズムをリストしたページ、顔認識ホームページを見つけました。

また、「パフォーマンスが良い」とは、スピードや正確さを意味しますか?どのような問題がありますか?データはどの程度変動していますか?それらは主に正面の顔ですか、それともプロファイルが含まれていますか?


5
パフォーマンスにより、検出精度を維持します。Eigenfacesは素晴らしいですが、私が探しているのは、ホイールを再発明したくなく、時間がないため、顔を認識するための既製のパッケージです
Janusz


7

あなたはhttp://libccv.org/を見てください

それはかなり新しいですが、顔検出のための無料のオープンソース高レベルAPIを提供します。

(...そして、あえて言うと、すごくすごいです)

編集:これはopencvに依存しない数少ないライブラリの1つであることにも注目してください。キックのために、ドキュメントページにある顔検出用のコードのコピーを以下に示します。

#include <ccv.h>
int main(int argc, char** argv)
{
    ccv_dense_matrix_t* image = 0;
    ccv_read(argv[1], &image, CCV_IO_GRAY | CCV_IO_ANY_FILE);
    ccv_bbf_classifier_cascade_t* cascade = ccv_load_bbf_classifier_cascade(argv[2]);         ccv_bbf_params_t params = { .interval = 8, .min_neighbors = 2, .accurate = 1, .flags = 0, .size = ccv_size(24, 24) };
    ccv_array_t* faces = ccv_bbf_detect_objects(image, &cascade, 1, params);
    int i;
    for (i = 0; i < faces->rnum; i++)
    {
        ccv_comp_t* face = (ccv_comp_t*)ccv_array_get(faces, i);
        printf("%d %d %d %d\n", face->rect.x, face->rect.y, face->rect.width, face->rect.y);
    }
    ccv_array_free(faces);
    ccv_bbf_classifier_cascade_free(cascade);
    ccv_matrix_free(image);
    return 0;
} 

5

久しぶりのことですが、興味のある方のために、これらの機能(検出、認識など)の多くを素敵なソフトウェアパッケージにバンドルしたFaintプロジェクトがあります。


4

OpenCVを使用しています。顔認識以外のものもたくさんありますが、安心して顔認識を行います。


2
OpenCVには顔認識のための直接的なアルゴリズムはないと思います。OpenCVライブラリからの顔検出は正常に機能します
Janusz

3
はい、あなたが正しい。顔認識と顔検出を混同しました。
ポールJ.ルーカス

補足として、認識のために使用できるcv :: FaceRecognizerがあります。
huesforalice

1

MVGライブラリを開いてみてください。複数のインターフェースにも使用できます。


0

次のステップは、FisherFacesです。それを試して、彼らがあなたのために働くかどうかを確認してください。 これは素晴らしい比較です。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.