की अंतर्निहित तकनीक मैं एंड्रॉइड पर एक फेस ट्रैकर लागू कर रहा हूं, और एक साहित्य अध्ययन के रूप में, एंड्रॉइड के फेसडिएक्टर की अंतर्निहित तकनीक की पहचान करना चाहता हूं।एंड्रॉइड के FaceDetector
बस शब्दों में कहें: मैं समझना चाहता हूं कि android.media.FaceDetector
वर्गीकरण कैसे काम करता है।
एक संक्षिप्त Google खोज ने कुछ भी जानकारीपूर्ण नहीं कमाई, इसलिए मैंने सोचा कि मैं कोड को देखूंगा।
जावा स्रोत कोड, FaceDetector.java
पर देखकर, सीखा जाना बहुत कुछ नहीं है: FaceDetector
केवल एक वर्ग है जो छवि आयाम और चेहरों की संख्या प्रदान करता है, फिर चेहरों की एक श्रृंखला देता है।
एंड्रॉइड स्रोत contains the JNI code for this class। मैं समारोह कॉल, जहां, नंगे अनिवार्य करने के लिए कम के माध्यम से पीछा किया, मुझे पता चला:
- "FaceFinder" लाइन 90 पर
FaceFinder.c:75
- में बनाई गई है,
bbs_MemSeg_alloc
एकbtk_HFaceFinder
वस्तु (जो करने के लिए समारोह में शामिल रिटर्न वास्तव में चेहरों को ढूँढ़ने में), अनिवार्य रूप से यहbtk_SDK_create()
- ऐसा लगता है कि कार्यों की भूलभुलैया संकेत और
btk_HSDK
के उदाहरण के साथ एक दूसरे प्रदान करते हैं, लेकिन कहीं मैं द्वारा मूलbtk_HSDK
ऑब्जेक्ट को प्रारंभ (भीतर प्रारंभ) (FaceDetector_jni.cpp:145
) कीhsdkA->contextE.memTblE.espArrE
सरणी को कॉपी एक कॉन्सर खोजेंsdk->contextE.memTblE.espArrE[0]
की ईटीई तत्कालता जिसमें माना जाता है कि जादू है।
मैं क्या की खोज की है, एक छोटे से सुराग है: JNI कोड का संदर्भ एक FFTEm पुस्तकालय है कि मैं के लिए स्रोत कोड नहीं मिल रहा। इसके बावजूद, एफएफटी फास्ट फूरियर ट्रांसफॉर्म है, जो शायद पूर्व-प्रशिक्षित तंत्रिका नेटवर्क के साथ उपयोग किया जाता है। एकमात्र साहित्य मैं इस सिद्धांत के साथ संरेखित कर सकता हूं a paper by Ben-Yacoub et al.
मुझे यह भी सच में नहीं पता कि मैं सही रास्ते पर सेट हूं, इसलिए कोई भी सुझाव निस्संदेह मदद करेगा।
संपादित करें: मैंने किसी भी व्यक्ति के लिए +100 बक्षीस जोड़ा है जो कोई अंतर्दृष्टि दे सकता है।
libFFTEm Android के चेहरे का पता लगाने परत से संदर्भित नहीं है, वास्तव में यह बाहरी में सभी स्रोतों से संकलित उत्पादन होता है/नेवेन – ognian
यही कारण है कि बताते हैं मैं स्रोत कोड नहीं मिला! धन्यवाद; इससे पता चलता है कि अगर यह वास्तव में फास्ट फूरियर ट्रांसफॉर्म का उपयोग करता है, तो इसके बारे में कुछ सबूत 'Neven' में होना चाहिए। हालांकि, वास्तव में मुझ पर कुछ भी नहीं निकलता है। –
ऐसा लगता है कि 'libFFTEm' में "em" रंग-आधारित त्वचा पहचान में उपयोग की जाने वाली एक सांख्यिकीय विधि "अपेक्षा-अधिकतमता" का संदर्भ ले सकता है। – Justin