मैं अब तक छात्र और आंखों के कोनों का पता लगाने में सक्षम हूं। आप अपने खुद के प्रश्न यहाँ करने के लिए कुछ स्नैप मैं अपने जवाब में अपलोड देख सकते हैं:आंख की छवि से अनुमान लगाना
Performing stable eye corner detection
यहाँ मैं अब तक क्या किया है है। मैं TLCP, TRCP और BLCP को देखकर उपयोगकर्ता की टकटकी कैलिब्रेटेड जहां
CP = calibration point; a screen point used for calibration
B = bottom
T = top
L= left
R = right
gaze_width = TRCP.x - TLCP.x
gaze_height = BLCP.y- TLCP.y
और इसी निगाहें अंक मैं उन सीपी को देखकर मिलता है जीपी
एक निगाहें बिंदु जीपी की गणना कहा जाता है :
मैं वर्तमान छात्र केंद्र के स्थान से टीएलजीपी के नियमों के मूल्यों को घटाता हूं, क्योंकि दृष्टि बिंदु को अनुमानित आयताकार में गिरना पड़ता है जिसका मुझे आशा है कि आप इसे समझ लेंगे, यह वास्तव में बहुत सरल है।
मैं रैखिक गणना की पुतली केंद्र के स्थान से इस प्रकार एक बुनियादी स्केलिंग प्रणाली है जहाँ तराजू गणना कर रहे हैं का उपयोग कर अंक स्क्रीन करने के लिए टकटकी अंक मैप किया गया है:
scaleX = screen_width/gaze_width
scaleY = screen_height/gaze_height
और किसी भी निगाहें बिंदु पी (एक्स के लिए, वाई) मैं इसी स्क्रीन बिंदु Q (एम, एन) के रूप में गणना:
m = scaleX*x
n = scaleY*y
लेकिन समस्या यह है (लगभग क्योंकि भले लगभग पूर्ण छात्र का पता लगाने के बाद गरीब प्रकाश में यह झूठे सकारात्मक देता है, है लेकिन मैं उस डाल करने के लिए करना चाहते हैं। सीमाओं के तहत क्योंकि मैं इस पर काम नहीं कर सकता, i पर्याप्त समय नहीं है), मैं अभी भी खराब नजर चौड़ाई और ऊंचाई ऊंचाई देख रहा हूँ।
DO_CAL= True
Gaze Parameters:
TLGP = (38, 26) | TRGP = (20, 22) | BLGP = (39, 33)
screen height = 768 screen width = 1366
gaze height = 7 gaze width = 18
scales: X = 75.8888888889 | Y = 109.714285714
Thing on = True
Gaze point = (5, 3)
Screen point: (987, 329)
Gaze point = (5, 3)
Screen point: (987, 329)
Gaze point = (7, 5)
Screen point: (835, 549)
Thing on = False
TLGP = (37, 24) | TRGP = (22, 22) | BLGP = (35, 29)
screen height = 768 screen width = 1366
gaze height = 5 gaze width = 15
scales: X = 91.0666666667 | Y = 153.6
Thing on = True
Gaze point = (12, 3)
Screen point: (1093, 461)
Gaze point = (12, 3)
Screen point: (1093, 461)
ESC pressed
बस (उनके अधीन) निगाहें अंक और उनकी संगत निगाहें पता लगाए गए स्क्रीन अंक पर नज़र डालें:
यहाँ एक परीक्षण चालन लॉग है। एक्स, वाई ordinates 'मूल्यों में विशाल अंतर मुझे पागल bugging है। सोमवार अंतिम प्रस्तुति है।
कैलिब्रेशन पहली विधि के रूप में किया जाता है:
इस दृष्टिकोण के बाद, मैं जहां में एक और एक सिद्धांत दिया। मैं नज़र, और इसकी दिशा की गति का पता लगाऊंगा। कहें, छात्र केंद्र के स्थान, पी और क्यू के दो बिंदु दिए गए हैं, जहां पी पहला नजरिया बिंदु है, क्यू दूसरा है, फिर हम लाइन पीक्यू की दिशा और लंबाई की गणना करते हैं।
चलो मान लेते हैं कि इस लाइन खंड की लंबाई एल हम तो पैमाने एल अनुपात स्क्रीन करने के लिए कहते हैं, एल है स्क्रीन पैमाने में विकास है, और टकटकी चाल की दिशा को देखते हुए, हम पर कर्सर ले जाने के आराम के आखिरी बिंदु से स्क्रीन, आर, डी दूरी, एक नए बिंदु एस को कहें, जिसे रेखा खंड के अंतिम बिंदु के रूप में गणना की जाएगी जिसका लंबाई डी है, और प्रारंभ बिंदु एस। आकृति में रूपरेखा प्रस्तुत किया गया है। इस प्रकार मूल रूप से, मैं स्क्रीन बिंदु पर किसी भी नजर डेटा को मैप नहीं करता हूं, मैं मूल रूप से नज़र को ट्रैक करता हूं, और इसे स्क्रीन पर कर्सर पर लागू करने के लिए "पुश" में परिवर्तित करता हूं। लेकिन मैंने अभी तक इसे लागू नहीं किया है। क्योंकि यह वास्तव में स्क्रीन समन्वय के लिए नजरअंदाज नहीं करता है, और इस प्रकार गलत हो सकता है। इस सिद्धांत के लिए प्रेरणा स्रोत फोर्ज पर eViacam प्रोजेक्ट से ली गई थी - वे मूल रूप से आपके चेहरे को ट्रैक करते हैं, और माउस को तदनुसार ले जाते हैं।अंशांकन में वे सिर्फ गणना करते हैं कि धुरी के साथ आपका चेहरा कितना चलता है।
निष्कर्ष: तो अगर आप में से किसी के लिए एक पूरी तरह से संसाधित आंख छवि से किसी उपयोगकर्ता के टकटकी पता लगाने के लिए के किसी भी विचार है - एक का पता चला छात्र केंद्र और आंख कोनों साथ एक, कृपया बता करते हैं! मुझे बस एक दिन मिल गया है, और मुझे देर हो चुकी है, लेकिन मुझे बस किसी भी जादुई विचार की ज़रूरत है जो मेरी मदद कर सके।
सबसे पहले, मैं चेहरे का पता लगाने के लिए फ्रंटल फेस कैस्केड का उपयोग कर रहा हूं, इसलिए eye_a आंख का पता नहीं लगाया जाएगा। दूसरी बात, मुझे आंखों के कोनों के संबंध में छात्र केंद्र को ट्रैक करके अलग-अलग धुंध बिंदु मिलते हैं। असल में अब तक मैंने छवि उत्पत्ति को संदर्भ बिंदु के रूप में उपयोग किया है, लेकिन बहाव प्राप्त करें। उस सीमा को जिसे उपयोगकर्ता को किसी विशेष स्थिति से कैलिब्रेटेड करने के बाद अपने सिर को स्थानांतरित नहीं करना है, वह दो अलग-अलग दृश्य बिंदुओं की अनुमति नहीं दे सकता है, भले ही वे सामने वाले चेहरे से हों (यानी, eye_b के समान इसके बाएं या दाएं)। उपयोगकर्ता को उसी सिर की स्थिति –
ग्रेट ड्राइंग से देखना होगा! आपने किस कार्यक्रम का उपयोग किया था? – Mene