Perpustakaan pengenalan wajah [ditutup]

169

Saya mencari perpustakaan pengenalan wajah gratis untuk proyek universitas. Saya tidak mencari deteksi wajah . Saya mencari pengakuan aktual. Itu berarti menemukan gambar yang berisi wajah atau pustaka tertentu yang menghitung jarak antara wajah tertentu.

Saat ini saya menggunakan OpenCV untuk mendeteksi wajah dan algoritma Eigenface kasar untuk pengakuan. Tapi saya pikir harus ada sesuatu di luar sana dengan kinerja yang lebih baik daripada algoritma Eigenface yang ditulis sendiri. Saya tidak berbicara tentang kecepatan sebagai kinerja, saya mencari perpustakaan dengan hasil yang lebih baik daripada pendekatan Eigenface sederhana.

Saya melihat Faint , tetapi sepertinya perpustakaan tidak terlalu bisa digunakan kembali untuk aplikasi saya sendiri.

Saya senang dengan perpustakaan di Python, Java, C ++, C atau sesuatu seperti itu. Hal terbaik adalah jika dapat dijalankan pada mesin Windows karena saya mengandalkan beberapa kode eksternal Windows saja saat ini.

Janusz
sumber
1
Apakah perlu bebas karena alasan politik atau praktis? Jika ini adalah proyek penelitian murni, Anda mungkin bisa mendapatkan lisensi akademik gratis dari salah satu pemasok komersial.
Christoffer
2
Saya mendapat hasil yang relatif baik dengan hanya pendekatan eigenfaces tetapi tampaknya api deteksi wajah yang baik yang bebas untuk digunakan adalah sesuatu yang hilang saat ini
Janusz
4
Meskipun dapat diterima pada tahun 2009, pertanyaan pertanyaan ini tidak lagi dianggap sebagai topik: Pertanyaan yang meminta kami untuk merekomendasikan atau menemukan alat, pustaka, atau sumber daya di luar situs favorit adalah di luar topik untuk Stack Overflow. Lihat Apa yang seharusnya menjadi alasan di luar topik untuk Stack Overflow?
JDB masih mengingat Monica

Jawaban:

85

Berikut adalah daftar vendor komersial yang menyediakan paket off-the-shelf untuk pengenalan wajah yang berjalan pada Windows:

  1. Cybula - Informasi tentang Pengenalan Wajah mereka SDK . Ini adalah perusahaan yang didirikan oleh Profesor Universitas dan situs web mereka terlihat tidak profesional. Tidak ada informasi harga atau demo yang dapat Anda unduh. Anda harus menghubungi mereka untuk informasi harga.

  2. NeuroTechnology - Informasi tentang SDK Pengenalan Wajah mereka . Perusahaan ini memiliki informasi harga di muka serta uji coba 30 hari aktual dari SDK mereka .

  3. Pittsburgh Pattern Recognition - ( Diakuisisi oleh Google ) Informasi tentang Facial Tracking dan Recognition SDK mereka . Demo yang mereka sediakan membantu Anda mengevaluasi teknologi mereka tetapi tidak SDSK mereka. Anda harus menghubungi mereka untuk informasi harga.

  4. Sensible Vision - Informasi tentang SDK mereka . Situs mereka memungkinkan Anda untuk dengan mudah mendapatkan penawaran harga dan Anda juga dapat memesan kit evaluasi yang akan membantu Anda mengevaluasi teknologi mereka.

Praveen Angyan
sumber
5
Terima kasih atas tautannya tetapi saat ini saya perlu menemukan perpustakaan gratis
Janusz
1
Ini mungkin tidak untuk pengenalan wajah per se , tetapi numenta.com mungkin menarik bagi Anda.
RCIX
7
Anda dapat menambahkan face.com REST API gratis ke daftar itu
Omry Yadan
@Omry, Anda harus menambahkan sebagai jawaban, atau mengedit ini untuk menambahkan face.com
Scott
face-rec.org/vendors dan secara umum face-rec.org
2vision2
54

Memperbarui

OpenCV 2.4.2 kini hadir dengan cv :: FaceRecognizer yang sangat baru . Silakan lihat dokumentasi yang sangat rinci di:

Pos Asli

Saya telah merilis libfacerec , perpustakaan pengenalan wajah modern untuk OpenCV C ++ API (lisensi BSD). libfacerec tidak memiliki dependensi tambahan dan mengimplementasikan metode Eigenfaces, metode Fisherfaces dan Histogram Pola Biner Lokal. Bagian perpustakaan akan dimasukkan dalam OpenCV 2.4.

Revisi terbaru libfacerec tersedia di:

Perpustakaan ditulis untuk OpenCV 2.3.1 dengan OpenCV 2.4 yang akan datang, jadi saya tidak mendukung versi OpenCV lebih awal dari 2.3.1. Proyek ini hadir sebagai proyek CMake dengan API yang terdokumentasi dengan baik, juga ada tutorial tentang klasifikasi gender. Anda dapat melihat dokumentasi versi HTML di:

Jika Anda ingin memahami cara kerja algoritma tersebut, Anda mungkin ingin membaca Guide To Face Recognition (termasuk contoh Python dan GNU Octave / MATLAB):

Ada juga implementasi algoritma Python dan GNU Octave / MATLAB dalam repositori github saya . Kedua proyek di facerec juga menyertakan beberapa metode validasi silang untuk mengevaluasi algoritma:

Publikasi yang relevan adalah:

  • Turk, M., dan Pentland, A. Eigenfaces untuk pengakuan. . Jurnal Cognitive Neuroscience 3 (1991), 71-86.
  • Belhumeur, PN, Hespanha, J., dan Kriegman, D. Eigenfaces vs. Fisherfaces: Pengakuan menggunakan proyeksi linear spesifik kelas. . Transaksi IEEE pada Analisis Pola dan Kecerdasan Mesin 19, 7 (1997), 711-720.
  • Ahonen, T., Hadid, A., dan Pietikainen, M. Pengenalan Wajah dengan Pola Biner Lokal. . Computer Vision - ECCV 2004 (2004), 469–481.
bytefish
sumber
19

pam-face-authentication, Modul PAM untuk Otentikasi Wajah: tetapi akan membutuhkan kerja keras untuk mendapatkan apa yang Anda inginkan. Tes cepat menunjukkan, bahwa tingkat pengakuan tidak sebagus VeriLook dari NeuroTechnology.

Malic adalah perangkat lunak pengenalan wajah open source lainnya, yang menggunakan deskriptor Gabor Wavelet. Tetapi pembaruan terakhir untuk sumbernya adalah 3 tahun.

Dari situs web: " Malic adalah perangkat lunak pengenal wajah sumber terbuka yang menggunakan gabor wavelet. Ini adalah sistem pengenalan wajah real-time yang didasarkan pada Sistem Evaluasi Identifikasi Wajah Malib dan CSU (csuFaceIdEval). Menggunakan perpustakaan Malib untuk pemrosesan gambar realtime dan beberapa csuFaceIdEval untuk wajah pengakuan. "

Lebih lanjut ini bisa menarik:

gaborboosting : Program ilmiah yang diterapkan pada Pengenalan Wajah dengan Algoritma Gabor Wavelet dan AdaBoost

Fitur Extraction Library - FELib mengacu pada "Anotasi Wajah oleh Transductive Kernel Fisher Discriminant,"

jk.
sumber
13

Saya akan berpikir Eigenface , yang sudah Anda lakukan, adalah cara untuk pergi jika Anda ingin menghitung jarak antar wajah. Anda dapat mencoba berbagai pendekatan seperti Support Vector Machine atau Hidden Markov Model . Saya menemukan halaman yang mencantumkan algoritma utama yang dapat digunakan untuk pengenalan wajah: Beranda Pengenalan Wajah .

Juga, ketika Anda mengatakan "kinerja yang lebih baik," maksud Anda kecepatan atau akurasi? Masalah apa yang Anda alami? Seberapa beragam datanya? Apakah mereka sebagian besar wajah depan atau mereka termasuk profil?

Eugene Yokota
sumber
5
Dengan kinerja saya memperhatikan akurasi deteksi. Eigenfaces bagus tetapi yang saya cari adalah paket siap untuk mengenali wajah karena saya tidak ingin menemukan kembali roda dan saya tidak punya waktu
Janusz
7

Anda harus melihat http://libccv.org/

Ini cukup baru, tetapi menyediakan API tingkat tinggi open source gratis untuk deteksi wajah.

(... Dan, saya berani mengatakan, sangat menakjubkan)

Sunting: Perlu dicatat juga, bahwa ini adalah salah satu dari sedikit lib yang TIDAK bergantung pada opencv, dan hanya untuk iseng, inilah salinan kode untuk deteksi wajah dari halaman dokumentasi, untuk memberi Anda gambaran tentang apa yang terlibat:

#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;
} 
Doug
sumber
5

Saya tahu ini sudah lama, tetapi bagi siapa pun yang tertarik, ada proyek Faint , yang telah menggabungkan banyak fitur ini (deteksi, pengenalan, dll.) Ke dalam paket perangkat lunak yang bagus.

Marcus PS
sumber
4

Kami menggunakan OpenCV . Ada banyak hal -hal non-pengenalan wajah di sana juga, tetapi, yakinlah, ia memang melakukan pengenalan wajah.

Paul J. Lucas
sumber
2
Saya pikir tidak ada algoritma langsung di OpenCV untuk pengenalan wajah. Deteksi Wajah dari Perpustakaan OpenCV berfungsi dengan baik
Janusz
3
Ya kau benar. Saya bingung pengenalan wajah dan deteksi wajah.
Paul J. Lucas
Sama seperti catatan tambahan, ada cv :: FaceRecognizer sekarang, yang dapat digunakan untuk pengakuan.
huesforalice
1

Anda dapat mencoba membuka pustaka MVG, Dapat digunakan untuk banyak antarmuka juga.


sumber
0

Langkah selanjutnya adalah FisherFaces. Cobalah dan periksa apakah mereka cocok untuk Anda. Ini perbandingan yang bagus.

Łukasz Lew
sumber