2011-11-07 9 views
5

मैं काम कर रहा हूँ रूपांतरण।परिपत्र Hough एक परितारिका पहचान एल्गोरिथ्म है कि पहचान और सत्यापन के लिए अद्वितीय कोड में छवियों के <a href="http://i.imgur.com/XFLuf.jpg" rel="nofollow">these</a> तरह प्रक्रियाओं पर सुधार

छानने के बाद, समझदारी से thresholding, तो छवि में किनारों खोजने, अगले कदम स्पष्ट रूप से शिष्य और आईरिस के हलकों फिट करने के लिए है। मैंने सर्कुलर हफ़ ट्रांसफॉर्म का उपयोग करने के लिए तकनीक की चारों ओर देखा है। मेरे कार्यान्वयन के लिए कोड यहाँ है। क्रिप्टिक वेरिएबल नामों के बारे में खेद है।

print "Populating Accumulator..." 
# Loop over image rows 
for x in range(w): 
    # Loop over image columns 
    for y in range(h): 
     # Only process black pixels 
     if inp[x,y] == 0: 
      # px,py = 0 means pupil, otherwise pupil center 
      if px == 0: 
       ra = r_min 
       rb = r_max 
      else: 
       rr = sqrt((px-x)*(px-x)+(py-y)*(py-y)) 
       ra = int(rr-3) 
       rb = int(rr+3) 
      # a is the width of the image, b is the height 
      for _a in range(a): 
       for _b in range(b): 
        for _r in range(rb-ra): 
         s1 = x - (_a + a_min) 
         s2 = y - (_b + b_min) 
         r1 = _r + ra 
         if (s1 * s1 + s2 * s2 == r1 * r1): 
          new = acc[_a][_b][_r] 
          if new >= maxVotes: 
           maxVotes = new 
print "Done" 

# Average all circles with the most votes 
for _a in range(a): 
    for _b in range(b): 
     for _r in range(r): 
      if acc[_a][_b][_r] >= maxVotes-1: 
       total_a += _a + a_min 
       total_b += _b + b_min 
       total_r += _r + r_min 
       amount += 1 
top_a = total_a/amount 
top_b = total_b/amount 
top_r = total_r/amount 
print top_a,top_b,top_r 

यह अजगर में लिखा और इमेज प्रोसेसिंग करने के लिए पायथन इमेजिंग पुस्तकालय का उपयोग करता है। जैसा कि आप देख सकते हैं, यह मंडलियों को खोजने का एक बहुत ही बेवकूफ बल विधि है। यह काम करता है, लेकिन कई मिनट लगते हैं। बुनियादी विचार है कि जहां भी ब्लैक पिक्सेल (थ्रेसहोल्डिंग और एज-डिटेक्शन से) होता है, तब तक रैंक से आरएमएक्स तक मंडलियों को आकर्षित करना होता है, छवि पर स्थान पर कितनी बार "वोट" होता है। जो भी एक्स, वाई, और आर सबसे अधिक वोट है ब्याज का चक्र है। मैंने इस तथ्य का उपयोग करने की कोशिश की कि आईआरआईएस और छात्र के पास आर लूप की कुछ जटिलता को कम करने के लिए एक ही केंद्र (चर आरए और आरबी) के बारे में है, लेकिन छात्र का पता लगाना इतना लंबा लगता है कि इससे कोई फर्क नहीं पड़ता।

अब, जाहिर है कि मेरा कार्यान्वयन बहुत ही मूर्ख है। यह एक त्रि-आयामी पैरामीटर स्पेस (एक्स, वाई, और आर) का उपयोग करता है, जो दुर्भाग्य से इसे स्वीकार्य से धीमा गति से चलाता है। मैं किस प्रकार के सुधार कर सकता हूं? क्या इसे दो-आयामी पैरामीटर स्पेस में कम करने का कोई तरीका है? क्या पिक्सल तक पहुंचने और सेट करने का एक और अधिक प्रभावी तरीका है जिसे मैं नहीं जानता हूं?

एक तरफ ध्यान दें पर, वहाँ इस एल्गोरिथ्म है कि मैं के बारे में पता नहीं कर रहा हूँ के समग्र क्रम में सुधार के लिए किसी अन्य तकनीकों कर रहे हैं? जैसे कि छात्र या आईरिस के अधिकतम त्रिज्या का अनुमान लगाने के तरीके?

नोट: मैं भी इस बात के लिए OpenCV का उपयोग करने की कोशिश की है, लेकिन मैं नहीं धुन पर्याप्त मापदंडों लगातार सही हो सकती है।

मुझे पता हो, तो किसी भी अन्य जानकारी है कि आप की जरूरत हैं।

नोट: एक बार फिर मैं अपने खुद के कोड का गलत मतलब निकाला। यह तकनीकी रूप से 5-आयामी है, लेकिन 3-आयामी एक्स, वाई, आर लूप केवल काले पिक्सेल पर चल रहा है।

उत्तर

1

मान लिया जाये कि आप चक्र की स्थिति के बजाय आर

का एक उपाय चाहते हैं यदि आप एक आम तकनीक निश्चित की पहली अनुमान के लिए एल्गोरिथ्म चलाने के लिए है तो आर के संभावित रेंज के एक सभ्य अनुमान है, तो आर, इसे समायोजित करें और पुनः प्रयास करें।

+0

मुझे पता है कि आर लूप को हटाकर या सरलीकृत करके, समस्या काफी कम हो जाती है। समस्या यह है कि मुझे नहीं पता कि लूप को सरल कैसे बनाया जाए। मैंने अपने केंद्र को छात्र के केंद्र के करीब होने के बावजूद आईरिस के पता लगाने को सरल बनाने का प्रयास किया, लेकिन यह मुझे छात्र खोजने में मदद नहीं करता है। यदि छात्र की सीमाओं और स्थान का अनुमान लगाने का कोई तरीका था (जैसा कि आपने कहा था), इससे कुछ समस्या हल हो जाएगी, लेकिन स्थान, स्थिति और आकार इतना भिन्न हो सकता है कि मुझे नहीं पता कि मैं कैसे करूं उस। –

+0

संभवतः कैमरे के प्रकार और लेंस के प्रकार से आकार पर सीमाएं हैं? यदि छात्र केवल 3-4 पिक्सल है तो आप शायद इसे नहीं ढूंढ पाएंगे और यह छवि ऊंचाई के आधे से अधिक नहीं हो सकता है –

संबंधित मुद्दे