image processing - चेहरा पहचान पुस्तकालय




image-processing computer-vision (8)

अद्यतन करें

ओपनसीवी 2.4.2 अब बहुत ही नए cv::FaceRecognizer साथ आता है। कृपया यहां बहुत विस्तृत दस्तावेज देखें:

मूल पोस्ट

मैंने libfacerec सी ++ एपीआई (बीएसडी लाइसेंस) के लिए एक आधुनिक चेहरा पहचान पुस्तकालय, libfacerec जारी किया है। libfacerec में कोई अतिरिक्त निर्भरता नहीं है और Eigenfaces विधि, फिशरफेस विधि और स्थानीय बाइनरी पैटर्न हिस्टोग्राम लागू करता है। लाइब्रेरी के हिस्सों को ओपनसीवी 2.4 में शामिल किया जा रहा है।

Libfacerec का नवीनतम संशोधन यहां उपलब्ध है:

पुस्तकालय ओपनसीवी 2.3.1 के लिए आगामी ओपनसीवी 2.4 के साथ दिमाग में लिखा गया था, इसलिए मैं 2.3.1 से पहले ओपनसीवी संस्करणों का समर्थन नहीं करता हूं। यह प्रोजेक्ट एक अच्छी तरह से प्रलेखित एपीआई के साथ एक सीएमके परियोजना के रूप में आता है, लिंग वर्गीकरण पर एक ट्यूटोरियल भी है। आप दस्तावेज का एक HTML संस्करण यहां देख सकते हैं:

यदि आप समझना चाहते हैं कि वे एल्गोरिदम कैसे काम करते हैं, तो आप मेरी गाइड टू फेस पहचान पहचानना चाहेंगे (पायथन और जीएनयू ऑक्टेव / MATLAB उदाहरण शामिल हैं):

मेरे जीथब भंडार में एल्गोरिदम के पाइथन और जीएनयू ऑक्टेव / MATLAB कार्यान्वयन भी हैfacerec में दोनों परियोजनाओं में एल्गोरिदम का मूल्यांकन करने के लिए कई क्रॉस सत्यापन विधियां भी शामिल हैं:

प्रासंगिक प्रकाशन हैं:

  • तुर्क, एम।, और पेंटलैंड, पहचान के लिएEigenfaces। । जर्नल ऑफ़ कॉग्निटिव न्यूरोसाइंस 3 (1 99 1), 71-86।
  • Belhumeur, पीएन, हेस्पान्हा, जे।, और क्रेगमन, डी। Eigenfaces बनाम फिशरफेस: कक्षा विशिष्ट रैखिक प्रक्षेपण का उपयोग कर पहचान। । पैटर्न विश्लेषण और मशीन इंटेलिजेंस पर आईईईई लेनदेन 1 9, 7 (1 99 7), 711-720।
  • अहओन, टी।, हदीद, ए, और पिटिकैनन, स्थानीय बाइनरी पैटर्न के साथ एम। फेस रिकग्निशन। । कंप्यूटर विजन - ईसीसीवी 2004 (2004), 46 9-481।

मैं एक विश्वविद्यालय परियोजना के लिए एक मुफ्त चेहरा पहचान पुस्तकालय की तलाश में हूँ। मैं चेहरा पहचान की तलाश नहीं कर रहा हूं । मैं वास्तविक मान्यता की तलाश में हूं। इसका मतलब है उन छवियों को ढूंढना जिनमें विशिष्ट चेहरे या पुस्तकालय शामिल हैं जो विशिष्ट चेहरों के बीच दूरी की गणना करते हैं।

मैं वर्तमान में पहचान के लिए चेहरे का पता लगाने के लिए OpenCV का उपयोग कर रहा हूं और एक मोटा Eigenface एल्गोरिदम का उपयोग कर रहा हूं। लेकिन मैंने सोचा कि एक स्व-लिखित ईजिनफेस एल्गोरिदम की तुलना में बेहतर प्रदर्शन के साथ वहां कुछ होना चाहिए। मैं प्रदर्शन के रूप में गति के बारे में बात नहीं कर रहा हूं, मैं एक साधारण ईजिनफेस दृष्टिकोण से बेहतर परिणामों के साथ एक पुस्तकालय की तलाश में हूं।

मैंने Faint पर एक नज़र Faint , लेकिन ऐसा लगता है कि पुस्तकालय मेरे अपने अनुप्रयोगों के लिए बहुत पुन: प्रयोज्य नहीं है।

मैं पाइथन, जावा, सी ++, सी या उस तरह की कुछ लाइब्रेरी से खुश हूं। सबसे अच्छी बात यह होगी कि यह विंडोज मशीन पर चलाया जा सकता है क्योंकि मैं फिलहाल कुछ बाहरी विंडोज़-केवल कोड पर निर्भर हूं।


अगला कदम फिशरफेस होगा। इसे आज़माएं और जांचें कि वे आपके लिए काम करते हैं या नहीं। Here एक अच्छी तुलना है।


आपको http://libccv.org/ पर देखना चाहिए

यह काफी नया है, लेकिन यह चेहरा पहचान के लिए एक मुक्त मुक्त स्रोत उच्च स्तरीय एपीआई प्रदान करता है।

(... और, मुझे हिम्मत है, बहुत सुंदर आश्चर्यजनक है)

संपादित करें: यह भी ध्यान देने योग्य है कि यह कुछ libs में से एक है जो ओपनसीवी पर निर्भर नहीं है, और सिर्फ किक्स के लिए, यहां दस्तावेज़ों के चेहरे का पता लगाने के लिए कोड की प्रतिलिपि है, ताकि आपको इसमें शामिल होने का विचार दिया जा सके:

#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;
} 

फेस प्रमाणीकरण के लिए पैम pam-face-authentication एक पीएएम मॉड्यूल: लेकिन आपको जो चाहिए वह प्राप्त करने के लिए कुछ काम की आवश्यकता होगी। एक त्वरित परीक्षण से पता चला कि मान्यता दर न्यूरो टेक्नोलॉजी से वेरीलुक की तरह उतनी अच्छी नहीं है।

Malic एक और ओपन सोर्स चेहरे पहचान सॉफ्टवेयर है, जो गैबर वेवलेट डिस्क्रिप्टर का उपयोग करता है। लेकिन स्रोत के लिए अंतिम अद्यतन 3 साल पुराना है।

वेबसाइट से: " मैलिक एक ओपनसोर्स चेहरे पहचान सॉफ़्टवेयर है जो गैबर वेवलेट का उपयोग करता है। यह रीयलटाइम चेहरा पहचान प्रणाली है जो मालिब और सीएसयू फेस पहचान मूल्यांकन प्रणाली (csuFaceIdEval) पर आधारित है। वास्तविक समय छवि प्रसंस्करण के लिए मालिब लाइब्रेरी का उपयोग करता है और चेहरे के लिए कुछ csuFaceIdEval मान्यता। "

इसके अलावा यह ब्याज का हो सकता है:

gaborboosting : gaborboosting और एडाबुस्ट एल्गोरिदम के साथ फेस रिकग्निशन पर लागू एक वैज्ञानिक कार्यक्रम

फीचर एक्सट्रैक्शन लाइब्रेरी - एफईएलआईबी का मतलब है "ट्रांसडक्टिव कर्नेल फिशर डिस्प्रिंटेंट द्वारा फेस एनोटेशन,"


मुझे लगता है कि Eigenface , जो आप पहले से कर रहे हैं, अगर आप चेहरे के बीच की दूरी की गणना करना चाहते हैं तो यह तरीका है। आप समर्थन वेक्टर मशीन या हिडन मार्कोव मॉडल जैसे विभिन्न दृष्टिकोणों को आजमा सकते हैं। मुझे एक ऐसा पृष्ठ मिला जो प्रमुख एल्गोरिदम सूचीबद्ध करता है जिसका उपयोग चेहरे की पहचान के लिए किया जा सकता है: फेस रिकग्निशन होमपेज

साथ ही, जब आप "बेहतर प्रदर्शन" कहते हैं, तो क्या आपका मतलब गति या सटीकता है? आप किस तरह की समस्या कर रहे हैं? डेटा कितना भिन्न है? क्या वे अधिकतर सामने वाले चेहरे हैं या क्या वे प्रोफ़ाइल शामिल करते हैं?


यदि आपकी परियोजना किसी मूवी या टीवी पर है, या किसी भी चीज में स्क्रिप्ट है, तो ऐसा लगता है कि आप निश्चित रूप से मार्क एवरिंगहम et al. के काम को देखना चाहते हैं al. । सॉफ़्टवेयर available , जैसा कि एक बफी एपिसोड पर परिणाम हैं।



हम OpenCV का उपयोग कर रहे हैं। इसमें बहुत सारी गैर-पहचान-पहचान सामग्री भी है, लेकिन, बाकी आश्वासन दिया है, यह चेहरा पहचान करता है।





face-recognition