Waiting
Login processing...

Trial ends in Request Full Access Tell Your Colleague About Jove
Click here for the English version

Behavior

स्वचालित व्यवहार विश्लेषण के लिए दीपव्यवहार, डीप लर्निंग टूलबॉक्स का एक चरण-दर-चरण कार्यान्वयन

Published: February 6, 2020 doi: 10.3791/60763

Summary

इस प्रोटोकॉल का उद्देश्य व्यवहार ट्रैकिंग को स्वचालित करने और विस्तृत व्यवहार विश्लेषण करने के लिए पूर्व-निर्मित कन्वोन्यूशनल तंत्रिका जाल का उपयोग करना है। व्यवहार ट्रैकिंग किसी भी वीडियो डेटा या छवियों के दृश्यों पर लागू किया जा सकता है और किसी भी उपयोगकर्ता-परिभाषित वस्तु को ट्रैक करने के लिए सामान्य है।

Abstract

व्यवहार को समझना वास्तव में मस्तिष्क में तंत्रिका तंत्र को समझने का पहला कदम है जो इसे चलाता है। पारंपरिक व्यवहार विश्लेषण विधियां अक्सर प्राकृतिक व्यवहार के लिए अंतर्निहित समृद्धि को कैप्चर नहीं करती हैं। यहां, हम अपनी हालिया कार्यप्रणाली, दीपव्यवहार के दृश्यों के साथ विस्तृत कदम-दर-कदम निर्देश प्रदान करते हैं। दीपव्यवहार टूलबॉक्स तेजी से प्रक्रिया और व्यवहार वीडियो का विश्लेषण करने के लिए convolutional तंत्रिका नेटवर्क के साथ निर्मित गहरे सीखने के ढांचे का उपयोग करता है। यह प्रोटोकॉल एकल ऑब्जेक्ट डिटेक्शन, मल्टीपल ऑब्जेक्ट डिटेक्शन और थ्री-डिसिबल (3डी) ह्यूमन ज्वाइंट पोज ट्रैकिंग के लिए तीन अलग-अलग फ्रेमवर्क को दर्शाता है। ये चौखटे व्यवहार वीडियो के प्रत्येक फ्रेम के लिए ब्याज की वस्तु के कार्टेसियन निर्देशांक वापस करते हैं। दीपव्यवहार टूलबॉक्स से एकत्र किए गए डेटा में पारंपरिक व्यवहार विश्लेषण विधियों की तुलना में बहुत अधिक विस्तार होता है और व्यवहार गतिशीलता को विस्तृत अंतर्दृष्टि प्रदान करता है। दीपव्यवहार एक मजबूत, स्वचालित और सटीक तरीके से व्यवहार कार्यों की मात्रा निर्धारित करता है। व्यवहार की पहचान के बाद, व्यवहार वीडियो से जानकारी और दृश्य निकालने के लिए पोस्ट-प्रोसेसिंग कोड प्रदान किया जाता है।

Introduction

व्यवहार का एक विस्तृत विश्लेषण मस्तिष्क और व्यवहार संबंधों को समझने के लिए महत्वपूर्ण है। उच्च लौकिक संकल्प के साथ न्यूरोनल आबादी को रिकॉर्ड करने और हेरफेर करने के तरीकों में कई रोमांचक प्रगति हुई है, हालांकि, व्यवहार विश्लेषण विधियां एक ही दर पर विकसित नहीं हुई हैं और अप्रत्यक्ष माप और एक न्यूनीकरण दृष्टिकोण1तक सीमित हैं। हाल ही में, स्वचालित और विस्तृत व्यवहार विश्लेषण2,3,4,5 करने के लिए गहरे सीखने आधारित तरीके विकसित किए गएहैं। यह प्रोटोकॉल दीपव्यवहार टूलबॉक्स के लिए एक कदम-दर-कदम कार्यान्वयन गाइड प्रदान करता है।

पारंपरिक व्यवहार विश्लेषण विधियों में अक्सर कई मूल्यांकनकर्ताओं द्वारा मैन्युअल रूप से लेबलिंग डेटा शामिल होता है, जिससे प्रयोगकर्ता व्यवहार6को कैसे परिभाषित करते हैं। डेटा की मैन्युअल लेबलिंग के लिए समय और संसाधनों की आवश्यकता होती है जो एकत्र किए गए डेटा की मात्रा में असंगत रूप से वृद्धि करते हैं। इसके अलावा, मैन्युअल रूप से लेबल किए गए डेटा व्यवहार परिणामों को स्पष्ट मापन में कम करते हैं जो व्यवहार की समृद्धि को कैप्चर नहीं करते हैं, और अधिक व्यक्तिपरक होंगे। इस प्रकार, वर्तमान पारंपरिक तरीके प्राकृतिक व्यवहार में विवरण पर कब्जा करने में सीमित हो सकते हैं।

दीपव्यवहार टूलबॉक्स व्यवहार विश्लेषण के लिए गहरी सीखने का उपयोग करके एक सटीक, विस्तृत, अत्यधिक अस्थायी और स्वचालित समाधान प्रस्तुत करता है। डीप लर्निंग जल्दी से ओपन-सोर्स टूल्स और पैकेजके साथ सभी के लिए सुलभ हो गई है। कन्वोलुशनल न्यूरल नेटवर्क (सीएनएस) ऑब्जेक्ट रिकग्निशन और ट्रैकिंगकार्यों7,8में अत्यधिक प्रभावी साबित होते हैं। आधुनिक दिन सीएनएस और उच्च प्रदर्शन ग्राफिक्स-प्रोसेसिंग-इकाइयों (जीपीयू) का उपयोग करके, बड़ी छवि और वीडियो डेटासेट को उच्च सटीक7,9,10,11के साथ जल्दी से संसाधित किया जा सकता है। दीपव्यवहार में, तीन अलग-अलग कन्वोन्तितंत्रिका शुद्ध आर्किटेक्चर, टेंसोरबॉक्स, योलओवी 3 और ओपनपोस2हैं।

पहला फ्रेमवर्क, टेन्सरबॉक्स, एक बहुमुखी ढांचा है जिसमें ऑब्जेक्ट डिटेक्शन12के लिए कई अलग-अलग सीएनएन आर्किटेक्चर शामिल हैं। टेन्सरबॉक्स प्रति छवि केवल एक ऑब्जेक्ट वर्ग का पता लगाने के लिए सबसे उपयुक्त है। परिणामस्वरूप आउटपुट ब्याज की वस्तु(चित्रा 1)और बाउंडिंग बॉक्स के कार्टेशियन निर्देशांक के बक्से को बाध्य कर रहे हैं।

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

पिछले दो चौखटे पशु विषयों में मानक प्रयोगशाला प्रयोगों से एकत्र सामान्यीकृत व्यवहार डेटा के लिए लाभप्रद हैं। सीएनएन का अंतिम ढांचा ओपनपोस14,15,16 है जिसका उपयोग मानव संयुक्त मुद्रा अनुमान के लिए किया जाता है । ओपनपोज छवियों पर मानव शरीर, हाथ, चेहरे और पैर के प्रमुख बिंदुओं का पता लगाता है। ढांचे के आउटपुट मानव विषय की छवियों के साथ-साथ शरीर में सभी 25 प्रमुख बिंदुओं और प्रत्येक हाथ के 21 प्रमुख बिंदुओं(चित्र 3)के निर्देशांक लेबल किए गए हैं।

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

Subscription Required. Please recommend JoVE to your librarian.

Protocol

1. जीपीयू और पायथन सेटअप

  1. जीपीयू सॉफ्टवेयर
    जब कंप्यूटर डीप लर्निंग एप्लीकेशंस के लिए पहला सेटअप हो, तो जीपीयू-उपयुक्त सॉफ्टवेयर और ड्राइवर लगाए जाने चाहिए जो जीपीयू की संबंधित वेबसाइट पर पाया जा सकता है । (इस अध्ययन में उपयोग किए जाने वाले लोगों के लिए सामग्री की तालिका देखें)।
  2. अजगर 2.7 स्थापना
    अपनी मशीन पर एक कमांड लाइन शीघ्र खोलें।
    कमांड लाइन: सुडो उपयुक्त-स्थापित अजगर-रंज अजगर-देव अजगर-वर्चुअलेनव

2. टेन्सरबॉक्स

  1. टेन्सरबॉक्स सेटअप
    1. टेन्सरबॉक्स के लिए वर्चुअल एनवायरमेंट बनाएं
      कमांड लाइन: सीडी ~
      कमांड लाइन: वर्चुअलेनवी--सिस्टम-साइट-पैकेज ~/टेन्सरफ्लो
      नोट: ' ~ /tensorflow ' पर्यावरण का नाम है और मनमाना है
    2. पर्यावरण को सक्रिय करें
      कमांड लाइन: स्रोत ~/tensorflow/bin/सक्रिय
  2. टेन्सरबॉक्स इंस्टॉलेशन
    हम http://github.com/aarac/TensorBox से टेन्सरबॉक्स क्लोन करने और अतिरिक्त निर्भरता स्थापित करने के साथ-साथ इसे स्थापित करने के लिए गिटहब का उपयोग करेंगे।
    कमांड लाइन: सीडी ~
    कमांड लाइन: गिट क्लोन http://github.com/aarac/TensorBox
    कमांड लाइन: सीडी टेन्सरबॉक्स
    कमांड लाइन: पिप इंस्टॉल -आर आवश्यकताओं.txt
  3. लेबल डेटा
    1. व्यवहार की छवियों का एक फ़ोल्डर बनाएं
      एफएफएमपेग जैसे ओपन सोर्स टूल वीडियो को व्यक्तिगत फ्रेम में परिवर्तित करने को पूरा करने के लिए उपयोगी होते हैं, हम प्रशिक्षण के लिए व्यवहार फ्रेम के व्यापक वितरण से कम से कम 600 छवियों को लेबल करने की सलाह देते हैं। इन छवियों को एक फ़ोल्डर में रखें।
    2. लेबलिंग ग्राफिकल यूजर इंटरफेस लॉन्च
      कमांड लाइन: अजगर make_json.py<इमेज फोल्डर एंड जीटी; labels.json के लिए पथ
      एक छवि लेबल करने के लिए, ब्याज की वस्तु के शीर्ष बाएं कोने पर क्लिक करें (यानी पंजा) पहले और फिर ब्याज की वस्तु के नीचे सही कोने पर क्लिक करें(चित्रा 4)। निरीक्षण करें कि बाउंडिंग बॉक्स ब्याज की पूरी वस्तु को कैप्चर करता है। अगले फ्रेम पर जाने के लिए एक ही छवि को फिर से लेबल करने या 'नेक्स्ट' को दबाने के लिए 'पूर्ववत' दबाएं।
  4. ट्रेन टेन्सरबॉक्स
    1. नेटवर्क हाइपरपैरामीटर फ़ाइल के लिए प्रशिक्षण छवियों को लिंक करें
      टेन्सरबॉक्स फ़ोल्डर के भीतर, एक टेक्स्ट एडिटर में निम्नलिखित फ़ोल्डर खोलें:
      /TensorBox/hypes/overfeat_rezoom.jsontrain_idl नाम के डेटा के तहत विशेषता के लिए नेविगेट और ./data/brainwash/train_boxes.json से लेबल.json फ़ाइलपथ के लिए फ़ाइल पथ की जगह । फ़ाइल करने के लिए परिवर्तन सहेजें।
    2. प्रशिक्षण स्क्रिप्ट शुरू
      कमांड लाइन: सीडी ~/TensorBox
      कमांड लाइन: अजगर train.py--hypes hypes/overfeat_rezoom.json-gpu 0--logdir उत्पादन
      इसके बाद नेटवर्क ६००,००० पुनरावृत्तियों के लिए प्रशिक्षण शुरू करेगा । आउटपुट फ़ोल्डर में, कन्वोलुशनल न्यूरल नेटवर्क के परिणामस्वरूप प्रशिक्षित वजन उत्पन्न किए जाएंगे।
  5. नई छवियों पर भविष्यवाणी
    छवि लेबलिंग के लिए:
    कमांड लाइन: सीडी ~/TensorBox
    कमांड लाइन: अजगर label_images.py--फ़ोल्डर & इमेज फोल्डर एंड जीटी के लिए पाथ;-वजन आउटपुट/overfeat_rezoom_/save.ckpt-600000--hypes/hypes/overfeat_rezoom.json--gpu 0
    बाउंडिंग बॉक्स के निर्देशांक प्राप्त करने के लिए:
    कमांड लाइन: सीडी ~/TensorBox
    कमांड लाइन: अजगर predict_images_to_json.py--फ़ोल्डर <पथ टू इमेज फोल्डर एंड जीटी;--वजन
    आउटपुट/overfeat_rezoom_/save.ckpt-600000--hypes
    /hypes/overfeat_rezoom.json--gpu 0
  6. टेन्सरबॉक्स के लिए मैटलैब पोस्ट-प्रोसेसिंग
    मॉडल से परिणामी जेसीएन समन्वय फ़ाइल का उपयोग करके कंडांश के काइनेमेटिक्स और दृश्यों को निकालने के लिए अतिरिक्त मैटलैब कोड प्रदान किया गया है
    एकल खाद्य गोली पहुंचने के कार्य के 3 डी काइनेमेटिक विश्लेषण के लिए "Process_files_3Dreaching_mouse" स्क्रिप्ट चलाएं।

3. योलव3

  1. योलव3 स्थापित करें
    कमांड लाइन: सीडी ~
    कमांड लाइन: गिट क्लोन सीडी डार्कनेट
    जीपीयू उपयोग के लिए, 'मेकफाइल' खोलें और निम्नलिखित पंक्तियों को बदलें: जीपीयू = 1; CUDNN = 1।
    कमांड लाइन: बनाओ
  2. Yolo_mark का उपयोग करके लेबलिंग प्रशिक्षण डेटा
    कमांड लाइन: सीडी ~
    कमांड लाइन: गिट क्लोन सीडी ~/Yolo_Mark
    कमांड लाइन: cmake ।
    कमांड लाइन: बनाओ
    ~/Yolo_mark/डेटा/ओब्ज फ़ोल्डर में प्रशिक्षण छवियों को रखें
    कमांड लाइन: chmod +x ./linux_mark.sh
    कमांड लाइन: ./linux_mark.sh
    चित्रमय यूजर इंटरफेस(चित्रा 5)में एक-एक करके छवियों को लेबल करें। छवियों की अनुशंसित राशि लगभग 200 है।
  3. प्रशिक्षण योलोव3
    1. सेटअप विन्यास फ़ाइल
      कमांड लाइन: सीडी ~/Yolo_mark
      कमांड लाइन: एससीपी-आर./डेटा ~/डार्कनेट
      कमांड लाइन: सीडी ~ /डार्कनेट/cfg
      कमांड लाइन: सीपी yolov3.cfg yolo-obj.cfg
    2. विन्यास फ़ाइल को संशोधित
      योलो-obj.cfg फ़ोल्डर खोलें और निम्नलिखित पंक्तियों को संशोधित करें: बैच =64, उपखंड = 8, कक्षाएं =(कक्षा का पता लगाने के लिए#), और एक योलो परत फ़िल्टर =(कक्षा +5) x3 को बदलने से पहले प्रत्येक संवोन्तिपर परत के लिए। इन परिवर्तनों के बारे में विवरण https://github.com/aarac/darknet/blob/master/README.md पर पाया जा सकता है
    3. नेटवर्क वजन डाउनलोड करें
      https://www.dropbox.com/s/613n2hwm5ztbtuf/darknet53.conv.74?dl=0 से नेटवर्क वजन डाउनलोड करें
      डाउनलोड की गई वेट फाइल को ~/डार्कनेट/बिल्ड/डार्कनेट/x64 में रखें
    4. प्रशिक्षण एल्गोरिदम चलाएं
      कमांड लाइन: सीडी ~ /
      कमांड लाइन: ./darknet डिटेक्टर ट्रेन डेटा/obj.data cfg/yolo-obj.cfg darknet53.conv.74
    5. YOLOv3 मूल्यांकन
      प्रशिक्षण पूरा होने के बाद पुनरावृत्तियों की एक निर्धारित संख्या(ITERATIONNUMBER)के आधार पर, आप उन्हें देख सकते हैं
      कमांड लाइन: ./darknet डिटेक्टर टेस्ट डेटा/obj.data cfg/yolo-obj.cfg बैकअप/yolo-obj_ITERATIONNUMBER.weights.jpg
  4. नए वीडियो पर भविष्यवाणी करें और निर्देशांक प्राप्त करें
    यह आदेश नए वीडियो में लेबल के निर्देशांक प्राप्त करने के लिए चलाया जा सकता है:
    कमांड लाइन: ./darknet डिटेक्टर डेमो डेटा/obj.data cfg/yolo-obj.cfg बैकअप/yolo-obj_ITERATIONNUMBER.weights VIDEO.avi-ext_output FILENAME.txt
  5. MATLAB में YOLOv3 पोस्टप्रोसेसिंग
    FILENAME.txt फ़ाइल को MATLAB में लें, और दो चूहों सामाजिक इंटरैक्शन टेस्ट के लिए "Process_socialtest_miniएम" स्क्रिप्ट चलाएं। चित्रा 2 में परिणाम देखें

4. ओपनपोज

ओपनपोस मानव विषय में शरीर के कई अंगों को ट्रैक करने के लिए आदर्श है। सेटअप और स्थापना प्रक्रियाएं पिछले दो ढांचे के समान हैं। हालांकि, कोई प्रशिक्षण कदम नहीं है क्योंकि नेटवर्क पहले से ही मानव डेटा पर प्रशिक्षित है।

  1. ओपनपोज इंस्टॉलेशन
    https://github.com/aarac/openpose के लिए नेविगेट करें और स्थापना निर्देशों का पालन करें।
  2. प्रोसेस वीडियो
    ./build/उदाहरण/openpose/openpose.bin--video VIDEONAME.avi--net_resolution "1312x736"--scale_number 4--scale_gap ०.२५--हाथ--hand_scale_number 6--hand_scale_range ०.४--write_json JSONFOLDERNAME--write_video RESULTINGVIDEONAME.avi
    यहां --net_resolution,--scale_number, --scale_gap, hand_scale_number और--hand_scale_range हैंडल को छोड़ा जा सकता है अगर हाई प्रिसिजन डिटेक्शन की जरूरत नहीं है (इससे प्रोसेसिंग टाइम कम हो जाएगा) ।
  3. ओपनपोज पोस्ट-प्रोसेसिंग
    MATLAB फ़ोल्डर में, कृपया कैमरे 1 और 2 से जैसन फ़ाइलों वाले उपयुक्त फ़ोल्डर को जोड़ने के बाद कोड चलाने के लिए 'process_files_human3Dएम' स्क्रिप्ट का उपयोग करें, साथ ही अंशांकन फ़ाइल भी। यह जोड़ों के सभी 3 डी बन गया है के साथ एक "सेल" फ़ाइल बनाएगा। इसमें 3डी कंकाल दृश्य की फिल्म भी बनेगी। कैमरा अंशांकन के लिए, कृपया इस लिंक पर निर्देशों का पालन करें: http://www.vision.caltech.edu/bouguetj/calib_doc/

Subscription Required. Please recommend JoVE to your librarian.

Representative Results

जब प्रोटोकॉल का पालन किया जाता है, तो प्रत्येक नेटवर्क वास्तुकला के लिए डेटा निम्नलिखित के समान होना चाहिए। टेन्सरबॉक्स के लिए, यह ब्याज की वस्तु के चारों ओर एक बाउंडिंग बॉक्स आउटपुट करता है। हमारे उदाहरण में, हमने एक खाद्य गोली पहुंचने के कार्य से वीडियो का उपयोग किया, और उनके आंदोलन को ट्रैक करने के लिए सही पंजे लेबल किए। जैसा कि चित्रा 1में देखा गया है, सामने के दृश्य और साइड व्यू दोनों कैमरों में विभिन्न पदों पर सही पंजा का पता लगाया जा सकता है। कैमरा कैलिब्रेशन के साथ पोस्ट-प्रोसेसिंग के बाद, पहुंच के 3डी प्रक्षेप पथ प्राप्त किए जा सकते हैं(चित्रा 1बी)।

योलोव3 में, क्योंकि कई वस्तुएं हैं, आउटपुट भी कई बाउंडिंग बॉक्स हैं। जैसा कि चित्रा 2बीमें देखा गया है, ब्याज की वस्तुओं के आसपास कई बाउंडिंग बॉक्स हैं। ये शरीर के अंग हो सकते हैं।

ओपनपोज में, नेटवर्क संयुक्त पदों का पता लगाता है जैसा कि चित्रा 3में देखा गया है। कैमरा कैलिब्रेशन के साथ पोस्ट-प्रोसेसिंग के बाद, विषय का 3डी मॉडल बनाया जा सकता है(चित्रा 3बी)।

निष्कर्ष में, ये प्रतिनिधि परिणाम व्यवहार के समृद्ध विवरणों को प्रदर्शित करते हैं जिन्हें डीपबिहेव टूलबॉक्स का उपयोग करके कैप्चर किया जा सकता है।

Figure 1
चित्रा 1: चूहों में एक पहुंचकार्य के दौरान वीडियो फ्रेम के पंजे पर देखे गए टेन्सरबॉक्स के साथ बाउंडिंग बॉक्स। (Arac एट अल 2019 से अनुकूलित)। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

Figure 2
चित्रा 2: Yolov3 के साथ बाउंडिंग बक्से एक दो चूहों सामाजिक संपर्क परीक्षण (एक कच्ची छवि, बी छवि का विश्लेषण) के दौरान वीडियो फ्रेम में रुचि के क्षेत्रों पर देखा । (Arac एट अल 2019 से अनुकूलित)। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

Figure 3
चित्रा 3: इन दो छवियों (बी) से बनाए गए दो कैमरा दृश्यों (ए) और 3डी मॉडल में ओपनपोज के साथ ह्यूमन पोज डिटेक्शन। (Arac एट अल 2019 से अनुकूलित)। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

Figure 4
चित्रा 4: TensorBox के make_json जीयूआई प्रशिक्षण डेटा लेबल करने के लिए इस्तेमाल किया । कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

Figure 5
चित्रा 5: योलोव3 के लिए स्वीकार्य प्रारूप में छवियों को लेबल करने के लिए Yolo_Mark का जीयूआई। कृपया इस आंकड़े का एक बड़ा संस्करण देखने के लिए यहां क्लिक करें ।

Subscription Required. Please recommend JoVE to your librarian.

Discussion

यहां, हम दीपव्यवहार के कार्यान्वयन के लिए एक कदम-दर-कदम गाइड प्रदान करते हैं, पशु और मानव व्यवहार इमेजिंग डेटा विश्लेषण2के लिए हमारे हाल ही में विकसित डीप लर्निंग आधारित टूलबॉक्स। हम प्रत्येक नेटवर्क वास्तुकला के लिए ढांचे की स्थापना के लिए प्रत्येक चरण के लिए विस्तृत स्पष्टीकरण प्रदान करते हैं, और इन ढांचे को चलाने में सक्षम होने के लिए ओपन-सोर्स आवश्यकताओं की स्थापना के लिए लिंक प्रदान करते हैं। हम प्रदर्शित करते हैं कि उन्हें कैसे स्थापित किया जाए, प्रशिक्षण डेटा कैसे बनाया जाए, नेटवर्क को कैसे प्रशिक्षित किया जाए, और प्रशिक्षित नेटवर्क पर नई वीडियो फ़ाइलों को कैसे संसाधित किया जाए। हम आगे के विश्लेषण के लिए आवश्यक बुनियादी आवश्यक जानकारी निकालने के लिए पोस्ट-प्रोसेसिंग कोड भी प्रदान करते हैं।

एकल ऑब्जेक्ट डिटेक्शन के लिए, हम टेन्सरबॉक्स का उपयोग करने की सलाह देते हैं। यदि लक्ष्य एक बार में कई वस्तुओं को ट्रैक करना है, तो हम YOLOv3 का उपयोग करने की सलाह देते हैं। अंत में, मानव काइनेमेटिक डेटा प्राप्त करने के लिए, हम ओपनपोस का उपयोग करने की सलाह देते हैं। इस प्रोटोकॉल में हमने दिखाया है कि गहरी सीखने के तरीके सटीकता के एक उच्च डिग्री के साथ वस्तुओं पर नज़र रखने के दौरान फ्रेम के हजारों की सैकड़ों प्रक्रिया करने में सक्षम हैं । प्रदान किए गए पोस्ट-प्रोसेसिंग कोड का उपयोग करके, हम ब्याज के ट्रैक किए गए व्यवहार का विश्लेषण करने के सार्थक तरीके प्राप्त कर सकते हैं। यह व्यवहार पर कब्जा करने का एक अधिक विस्तृत तरीका प्रदान करता है। यह व्यवहार को परिभाषित करने का एक स्वचालित, मजबूत तरीका भी प्रदान करता है जो कई विभिन्न प्रकार के व्यवहार कार्यों के लिए सामान्य है।

इंटरनेट से डाउनलोड किए गए एक नए आभासी वातावरण या कोड के साथ शुरू करते समय 'मॉड्यूलनॉटफाउडत्रुटि' प्राप्त करना काफी आम है। ऐसा होने की स्थिति में, अपना टर्मिनल खोलें, स्रोत वातावरण को सक्रिय करें और 'पिप इंस्टॉल एंड एलटी;मिसिंग मॉड्यूल नाम और जीटी;' टाइप करें। यदि समस्या बनी रहती है, तो आपको अपने अजगर संस्करण के साथ-साथ अन्य निर्भरता पैकेज ों की जांच करने की आवश्यकता होगी।

इस तकनीक की सीमाएं ओपन-सोर्स कोड के साथ संगत GPU प्रोसेसिंग इकाइयों को ठीक से स्थापित करने के लिए तकनीकी समस्या निवारण शामिल हैं। कंप्यूटर के हार्डवेयर के साथ संगत आवश्यक परियोजना निर्भरता और वातावरण को ठीक से स्थापित करने के लिए लिनक्स वातावरण के भीतर पिछले प्रोग्रामिंग अनुभव होना लाभप्रद है।

हम एक लिनक्स वातावरण में डीपबिहेवटूल टूलबॉक्स इंस्टॉलेशन और प्रसंस्करण प्रदर्शित करते हैं, हालांकि, इस टूलबॉक्स को गिथब पर संबंधित इंस्टॉलेशन गाइड का पालन करके जीपीयू के साथ विंडोज और मैक मशीनों पर भी चलाया जा सकता है।

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

Subscription Required. Please recommend JoVE to your librarian.

Disclosures

लेखकों के पास खुलासा करने के लिए कुछ नहीं है ।

Acknowledgments

हम पिंग झाओ और पेमन गोलशानी को मूल पेपर2में इस्तेमाल होने वाले दो-माउस सोशल इंटरैक्शन टेस्ट के लिए रॉ डेटा उपलब्ध कराने के लिए शुक्रिया अदा करना चाहेंगे । इस अध्ययन को एनआईएच एनएस109315 और एनवीडिया जीपीयू ग्रांट (एए) ने समर्थन दिया।

Materials

Name Company Catalog Number Comments
CUDA v8.0.61 NVIDIA n/a GPU Software
MATLAB R2016b Mathworks n/a Matlab
Python 2.7 Python n/a Python Version
Quadro P6000 NVIDIA n/a GPU Processor
Ubuntu v16.04 Ubuntu n/a Operating System

DOWNLOAD MATERIALS LIST

References

  1. Krakauer, J. W., Ghazanfar, A. A., Gomez-Marin, A., MacIver, M. A., Poeppel, D. Neuroscience Needs Behavior: Correcting a Reductionist Bias. Neuron. 93 (3), 480-490 (2017).
  2. Arac, A., Zhao, P., Dobkin, B. H., Carmichael, S. T., Golshani, P. DeepBehavior: A Deep Learning Toolbox for Automated Analysis of Animal and Human Behavior Imaging Data. Front Syst Neurosci. 13, 20 (2019).
  3. Pereira, T. D., Aldarondo, D. E., Willmore, L., Kislin, M., Wang, S. S., Murthy, M., et al. Fast animal pose estimation using deep neural networks. Nat Methods. 16 (1), 117-125 (2019).
  4. Mathis, A., Mamidanna, P., Cury, K. M., Abe, T., Murthy, V. N., Mathis, M. W., et al. DeepLabCut: markerless pose estimation of user-defined body parts with deep learning. Nat Neurosci. 21 (9), 1281-1289 (2018).
  5. Stern, U., He, R., Yang, C. H. Analyzing animal behavior via classifying each video frame using convolutional neural networks. Sci Rep. 5, 14351 (2015).
  6. Tinbergen, N. On aims and methods of ethology. Zeitschrift für Tierpsychologie. 20, 410-433 (1963).
  7. LeCun, Y., Bengio, Y., Hinton, G. Deep Learning. Nature. 521 (7553), 436-444 (2015).
  8. Zhao, Z., Zheng, P., Xu, S., Wu, X. Object Detection With Deep Learning: A Review. IEEE Transactions on Neural Networks and Learning Systems. , 1-21 (2019).
  9. He, K., Zhang, X., Ren, S., Deep Sun, J. Residual Learning for Image Recognition. arXiv. , eprint (2015).
  10. Krizhevsky, A., Sutskever, I., Hinton, G. E. ImageNet classification with deep convolutional neural networks. Proceedings of the 25th International Conference on Neural Information Processing Systems. 1, Curran Associates Inc. Lake Tahoe, Nevada. 1097-1105 (2012).
  11. Szegedy, C., Wei, L., Yangqing, J., Sermanet, P., Reed, S., Anguelov, D., et al. Going deeper with convolutions. 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). , 7-12 (2015).
  12. Stewart, R., Andriluka, M., Ng, A. Y. End-to-End People Detection in Crowded Scenes. 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). , 27-30 (2016).
  13. Redmon, J., Farhadi, A. YOLOv3: An Incremental Improvement. arXiv. , eprint (2018).
  14. Cao, Z., Simon, T., Wei, S. E., Sheikh, Y. Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields. arXiv. , (2017).
  15. Simon, T., Joo, H., Matthews, I., Sheikh, Y. Hand Keypoint Detection in Single Images using Multiview Bootstrapping. arXiv. , eprint (2017).
  16. Wei, S. E., Ramakrishna, V., Kanade, T., Sheikh, Y. Convolutional Pose Machines. arXiv. , eprint (2016).

Tags

व्यवहार अंक 156 डीप लर्निंग व्यवहार विश्लेषण कन्वोल्यूशनल न्यूरल नेट मशीन लर्निंग काइनेमेटिक एनालिसिस ऑटोमेटेड एनालिसिस एनिमल बिहेव ह्यूमन बिहेव पहुंचने के टास्क इमेज डेटा वीडियो डेटा 3डी किनेमेटिक्स
स्वचालित व्यवहार विश्लेषण के लिए दीपव्यवहार, डीप लर्निंग टूलबॉक्स का एक चरण-दर-चरण कार्यान्वयन
Play Video
PDF DOI DOWNLOAD MATERIALS LIST

Cite this Article

Shukla, S., Arac, A. A Step-by-StepMore

Shukla, S., Arac, A. A Step-by-Step Implementation of DeepBehavior, Deep Learning Toolbox for Automated Behavior Analysis. J. Vis. Exp. (156), e60763, doi:10.3791/60763 (2020).

Less
Copy Citation Download Citation Reprints and Permissions
View Video

Get cutting-edge science videos from JoVE sent straight to your inbox every month.

Waiting X
Simple Hit Counter