بعد أن اجتمعنا في عام 2019 ووجدنا القليل من الراحة من تطوير ميزات جديدة لـ Smart IDReader ، تذكرنا أننا لم نكتب أي شيء عن المعالجات المحلية لفترة طويلة. لذلك ، قررنا تصحيح وإظهار نظام التعرف آخر على Elbrus بشكل عاجل.
كنظام للاعتراف ، تم اعتبار نظام التعرف على الأجسام المرسومة "تحت ظروف غير متحكم فيها بواسطة الطريقة مع التدريب وفقًا لمثال واحد" [1]. ينشئ هذا النظام وصفًا للصورة استنادًا إلى نقاط فردية ووصفاتها ، والتي يبحث عنها في قاعدة بيانات مفهرسة من الصور. قمنا بتحليل أداء هذا النظام وحددنا الجزء المنخفض المستوى الأكثر استهلاكا للوقت من الخوارزمية ، والذي تم تحسينه باستخدام أدوات منصة Elbrus.
ما نوع نظام التعرف الذي نتحدث عنه؟
في الوقت الحالي ، تستخدم معظم المتاحف والمعارض أدوات متنوعة للتعرف على المعرض بشكل مستقل. إلى جانب الأدلة السمعية الكلاسيكية ، أصبحت تطبيقات الهاتف المحمول التي تستخدم أساليب معالجة الصور وتحليلها واسعة الانتشار. تتعرف بعض هذه التطبيقات على رموز بيانية للمعارض (شريط أو QR) [2] ، وبالنسبة للآخرين [3-4] ، فإن بيانات الإدخال هي إطارات صور أو فيديو مع عرض يتم التقاطه عن قرب (Smartify ، Artbit). بالطبع ، تعد "أدلة الهاتف المحمول" من الفئة الأخيرة أكثر ملاءمةً للمستخدم [5] من الحلول ذات الإدخال اليدوي لرقم المعرض أو التعرف على QR: الرقم والرمز صغير جدًا ، ويتطلب البحث والإدخال إجراءات إضافية غير مرتبطة بمراجعة التعرض. إنه نظام سننظر فيه.
تمت صياغة مهمة التعرف على اللوحات في الصور على النحو التالي. طلب صورة ف د و ل ا يجب أن تسند إلى أحد الفصول C = \ {C_i \} _ {i \ in [0 ، N]}C = \ {C_i \} _ {i \ in [0، N]} اين جيم أنا - فئة الصورة أنا معرض في ط ط ن [ 1 ، N ] ، C 0 د و ل ا - فئة من الصور الأخرى المقابلة لقيمة "صورة غير معروفة". لكل منهما جيم أنا مجموعة صور مرجعية تي أنا .
بالإضافة إلى ذلك ، لقد استرشدنا بالافتراضات التالية:
- طلب صورة ف د و ل ا تم الحصول عليها باستخدام كاميرا جهاز محمول من قبل مستخدم غير مستعد أثناء رحلة ، لذلك:
أ) قد تحتوي على عيوب بصرية - وهج ، مناطق غير مركّزة ، ضوضاء ؛
ب) الزاوية والإطار والإضاءة وتوازن اللون غير معروفة (الشكل 1 أ) ؛
ج) الأجسام الغريبة ، مثل المشهد ، وإطارات الصور ، والزوار ، قد تكون موجودة على الصورة (الشكل 1 ب). - صورة مرجعية ت إنها صورة عالية الدقة مع إسقاط أمامي لصورة أو إعادة إنتاجها الرقمي. لا يحتوي المعيار على أشياء غريبة وعيوب بصرية. يمكن أن تكون المعايير ، على سبيل المثال ، الصفحات الممسوحة ضوئيًا نوعيًا للألبومات الفنية (الشكل 2).
- يمكن تطبيق الصورة (سواء عند الطلب أو على المعيار) على أي نمط - الواقعية ،
الانطباعية ، التجريدية ، الرسومات الكسورية ، إلخ. - عدد الفصول ن يتوافق مع حجم المجموعة ويمكن الوصول إلى معرض واحد
مئات الآلاف من المعروضات [6].

الشكل 1 - أمثلة لصور الاستعلام أ) يتم التقاط صورة من بعيد في الإضاءة الخافتة ، ب) يكون الزائر في الإطار.

الشكل 2 - أمثلة على الصور المرجعية للوحات أ) كلود مونيه "De Voorzaan en de Westerhem" ، ب) سلفادور دالي "La persistència de la memòria"
تعتمد الفكرة الرئيسية لحلنا لهذه المشكلة على بناء وصف خاص للصورة من صورة الإدخال ، والتي تُستخدم بعد ذلك للبحث عن هذه الصورة في قاعدة بيانات أوصاف الصور المرجعية للصور عالية الدقة التي لا تخضع لتشوهات هندسية وغيرها من العيوب الصورة. تعمل إحداثيات النقاط الفردية التي تم العثور عليها باستخدام خوارزمية YACIPE [7] واصفات RFD الخاصة بها كهذا الوصف.
لكل مرجع تي أنا قم ببناء وصف ، ثم قم بفهرسته - لكل نقطة في الوصف ، نقوم بإدخال سجل النموذج l a n g l e i ، f i r a n g l e في شجرة البحث العشوائية التسلسل الهرمي [8] ، والتي تتيح لك إجراء بحث تقريبي لأقرب الجيران مع زيادة سرعة كبيرة بالمقارنة مع البحث الخطي. يتم استخدام المسافة Hamming كمقياس ، لأننا نستخدم واصف ثنائي.
عملية الاعتراف هي كما يلي:
في صورة الطلب ف د و ل ا منطقة الطلاء س ل المترجمة مسبقا باستخدام افتراض مستطيلة الإطار. يتم إجراء بحث المنطقة باستخدام خوارزمية البحث الرباعي السريع [9] مع إزالة نسبة الارتفاع إلى العرض. هذا يمنع المشاكل التالية:
- الوصف غير الكافي لمنطقة الصورة بسبب الأجسام الغريبة في الإطار ، والتي قد تحتوي على نقاط خاصة مع أفضل التصنيفات ؛
- التكاليف الحسابية لمقارنة واصفات المناطق الواقعة خارج الصورة ؛
- عدم تطابق كبير في المقياس والزاوية بين المعيار في قاعدة البيانات وصورة الصورة ، مما يؤدي إلى نتيجة غير صحيحة لمطابقات الوصف.
تتم تسوية الصورة الموجودة في المنطقة التي تم العثور عليها ضوئيًا:
Q ∗ = H ( Q L ) ،
اين ح - التحول الإسقاطي.
بناء وصف مدمج ث ∗ :
أ) يتم تقليل الصورة إلى حجم قياسي مع الحفاظ على النسب من أجل جعل الخوارزمية أكثر مرونة في التحجيم ؛
ب) يتم كبح الضوضاء عالية التردد بواسطة مرشح غوسي ؛
ج) يتم احتساب نقاط المفرد على الصورة الناتجة ، يقتصر عددهم بشكل مصطنع م الأفضل من خلال التقييم الداخلي لل YACIPE.
د) يتم احتساب واصفات تشبه RFD ملونة لأحياء النقاط الفردية التي تم العثور عليها ، حيث كان من المهم في مهمتنا حفظ المعلومات حول خصائص اللون للصور المدخلة. على سبيل المثال ، الصور في الشكل. 3 سيكون من الصعب للغاية التمييز بدونه ؛
د) وهكذا ، وصف الصورة أنا يمكن تمثيلها كـ: w ^ * = \ {\ langle p_i ، f_i) \ rangle \} _ {i \ in [1 ، M]}w ^ * = \ {\ langle p_i، f_i) \ rangle \} _ {i \ in [1، M]} اين pi= langlexi،yi rangle هي إحداثيات نقطة المفرد الأول ، و fi هو مقبض لحي من نقطة المفرد الأول.
لكل دخول langlep،f rangle inw∗ يقوم الفهرس بإجراء بحث تقريبي عن أقرب جيران للواصف و . يتم تطبيق إجراء التصويت على واصفات موجودة - واصف fi يضيف صوت إلى المعيار Ti . ثم ، يتم اختيار المرشحين المرشحين K مع أكبر عدد من الأصوات.
لكل من K الخيارات المحددة باستخدام خوارزمية RANSAC ، يتم إجراء بحث عن التحول الإسقاطي H ترجمة ، ضمن خطأ هندسي معين دلتا نقاط الاستعلام Q∗ إلى النقاط المرجعية T . زوج من النقاط langlep،p′ rangle مع واصفات وثيقة يعتبر مطابقة صالحة إذا:
ا ل ي س ا ر | H ( p ) - p ′ r i g h t | < d e l t a ، p i n w ∗ ، p ′ i n w T
كنتيجة نهائية ، يتم تحديد المعيار تي ب التي تبين أن عدد المقارنات الصحيحة هو الحد الأقصى. إذا كان أقل من قيمة عتبة معينة ر ستكون النتيجة هي "صورة غير معروفة" من أجل تجنب الإيجابيات الخاطئة (على سبيل المثال ، في الصور التي لا يوجد لها وصف للمعيار في قاعدة بيانات البحث).


الشكل 3 - كلود مونيه. كاتدرائية روان ، الواجهة الغربية ، ضوء الشمس (يسار) وكاتدرائية روان ، البوابة وبرج سان رومان في الشمس (يمين).
أحد الأجزاء الرئيسية للنظام هو البحث عن واصفات قريبة باستخدام مسافة Hamming كمقياس. نظرًا لأنه يتم حسابه عدة مرات ، تصبح هذه المرحلة تستغرق وقتًا حسابيًا وتستغرق 65٪ من وقت النظام. هذا هو السبب في أننا الأمثل.
وصف صغير جدا للهندسة المعمارية Elbrus
تستخدم بنية معالج Elbrus مبدأ كلمة أمر عريضة (كلمة التعليمات الطويلة جدًا ، VLIW). هذا يعني أن المعالج ينفذ التعليمات في مجموعات ، وداخل كل مجموعة لا توجد تبعيات ويتم تنفيذ هذه التعليمات بالتوازي. وتسمى كل مجموعة من هذه الكلمات كلمة أوامر واسعة. يتم إنشاء كلمات أوامر عريضة بواسطة برنامج التحويل البرمجي الأمثل ، مما يجعل من الممكن إجراء تحليل أكثر تفصيلاً للكود المصدري ، مما يؤدي إلى موازنة أكثر فعالية [10].
من ميزات هندسة Elbrus هي أساليب العمل مع الذاكرة. بالإضافة إلى وجود ذاكرة تخزين مؤقت تعمل على تحسين وقت الوصول إلى الذاكرة ، تدعم معالجات Elbrus طريقة برمجيات الأجهزة لبيانات الترحيل المسبق. تتيح هذه الطريقة التنبؤ بالوصول إلى الذاكرة وضخ البيانات في المخزن المؤقت الأولي للبيانات. يتضمن الجهاز الخاص بالمعالج جهازًا خاصًا للوصول إلى المصفوفات (وحدة الوصول إلى Array ، AAU) ، ولكن يتم تحديد الحاجة إلى التبديل بواسطة برنامج التحويل البرمجي ، الذي ينشئ إرشادات خاصة لـ AAU. يعد استخدام جهاز المبادلة أكثر فعالية من وضع عناصر الصفيف في ذاكرة التخزين المؤقت ، نظرًا لأن عناصر الصفيف تتم معالجتها غالبًا بالتتابع ونادراً ما تستخدم أكثر من مرة [11]. ومع ذلك ، تجدر الإشارة إلى أن استخدام المخزن المؤقت pre-paging على Elbrus لا يمكن تحقيقه إلا عند العمل مع البيانات المحاذاة. نتيجةً لذلك ، تتم قراءة / محاذاة البيانات المحاذاة بشكل أسرع بكثير من العمليات المقابلة للبيانات غير المحاذية.
بالإضافة إلى ذلك ، تدعم معالجات Elbrus عدة أنواع من التوازي بالإضافة إلى التوازي على مستوى الأمر: التوازي SIMD ، توازي تدفقات التحكم ، توازي المهام في مجمع متعدد الآلات. أهمية خاصة بالنسبة لنا هو التزامن SIMD.
ميزات استخدام SIMD- توسيع المعالج Elbrus
يمكن استخدام امتدادات SIMD في وضعين: تلقائي ومباشر. في الحالة الأولى ، يتم تنفيذ توازي العمليات بالكامل بواسطة المترجم دون مشاركة المطور. هذا الوضع محدود ، نظرًا لأن الكود المُحسّن يجب أن يكرر تمامًا سلوك الكود المصدري ، بما في ذلك السلوك عند التفيض ، التقريب ، إلخ في هذه الحالة ، قد يختلف سلوك إرشادات امتداد SIMD في هذه الجوانب عن إرشادات المعالج. بالإضافة إلى ذلك ، الخوارزميات المستخدمة في المجمعين غير كاملة وغير قادرة دائمًا على إجراء موازاة فعالة. ومع ذلك ، يمكن للمطورين أيضًا الوصول إلى أوامر امتداد SIMD مباشرة باستخدام العناصر الداخلية. Intrinsics هي وظائف يتم استبدال مكالماتها بواسطة برنامج التحويل البرمجي برمز عالي الأداء لمنصة معينة ، على وجه الخصوص ، بأوامر تمديد SIMD. تدعم معالجات Elbrus-4C و Elbrus-8C مجموعة من العناصر الداخلية ، يبلغ حجم التسجيل 64 بتًا. ويشمل عمليات لتحويل البيانات ، وتهيئة عناصر المتجهات ، والعمليات الحسابية ، والعمليات المنطقية لحركة البت ، التقليب في عناصر المتجهات ، إلخ.
عند استخدام intrinsics على منصة Elbrus ، يجب إيلاء اهتمام خاص للوصول إلى الذاكرة ، لأن المهام العملية ، على سبيل المثال ، مهام معالجة الصور ، تتطلب غالبًا قراءة غير متوازنة للبيانات في سجل 64 بت. مثل هذه القراءة في حد ذاتها غير فعالة ، لأنها تتطلب زوجًا من أوامر القراءة وأمرًا لاحقًا لتشكيل كتلة بيانات ، ولكن الأهم من ذلك ، لا يمكن استخدام مخزن مؤقت لمصفوفة الصفيف لزيادة سرعة الوصول إلى البيانات. ومع ذلك ، تجدر الإشارة إلى أن مشكلة عدم كفاءة الوصول إلى البيانات غير المحاذاة مناسبة لمعالجات Elbrus-4C و Elbrus-8C ، بينما بالنسبة إلى Elbrus-8CV الأحدث مع الإصدار الخامس من نظام الأوامر ، يتم حلها جزئيًا. من المتوقع أن يتم حل معالجات Elbrus التي تحتوي على الإصدار السادس من نظام التعليمات بالكامل.
ومع ذلك ، في معالجات Elbrus-4C و Elbrus-8C ، تتم معالجة البيانات منخفضة المستوى بكفاءة مع مراعاة المحاذاة. على سبيل المثال ، بالنسبة للصفائف الرقمية ، يمكن أن تتكون من عدة مراحل: معالجة الجزء الأولي (حتى حدود محاذاة 64 بت لأحد الصفائف) ، ومعالجة الجزء الرئيسي باستخدام الوصول إلى الذاكرة المحاذاة ، ومعالجة العناصر المتبقية للصفيف. نظرًا لأن تحليل المؤشرات أثناء التحويل البرمجي ليس مهمة تافهة ، يمكنك استخدام –faligned
المحول البرمجي –faligned
، والتي تتم بها جميع عمليات الوصول إلى الذاكرة بطريقة محاذاة.
ترتبط الميزة التالية لاستخدام intrinsics على منصة Elbrus مباشرةً بهيكل VLIW الخاص بها. نظرًا لوجود العديد من أجهزة المنطق الحسابي (ALU) ، والتي تعمل بشكل متوازٍ ويتم تحميلها عند تكوين كلمات أوامر واسعة ، يمكن تنفيذ العديد من الأوامر في وقت واحد. في المجموع ، تحتوي معالجات Elbrus-4C و Elbrus-8C على 6 وحدات ALU يمكن استخدامها كجزء من فريق واحد واسع ، لكن كل وحدة ALU تدعم مجموعة من العناصر الداخلية الخاصة بها. تدعم العمليات البسيطة ، مثل إضافة عناصر أو ضربها في سجلات 64 بت ، كقاعدة ، وحدتين من وحدات ALU. هذا يعني أن معالج Elbrus يمكنه تنفيذ إثنين من هذه التعليمات في دورة واحدة على مدار الساعة. للقيام بذلك ، يجب استخدام حلقات التشغيل في التعليمات البرمجية القابلة للتنفيذ. يدعم برنامج التحويل البرمجي الأمثل لنظام Elbrus pragma #pragma unroll(n)
، والذي يسمح بنشر التكرارات n lo.
مثال على تنفيذ وظيفة الجمع مع مراعاة هذه الميزات يمكن العثور عليها في مقالتنا السابقة.
التجارب
الصيحة ، انتهى النص وأخيراً سنطلق شيء على البروس!
أولاً ، نعتبر بشكل منفصل مسافة هامينغ. دون مزيد من اللغط ، قارنا متجهين من البيانات العشوائية. تم تجميع القيم الثنائية في صفيفات من أعداد صحيحة من 8 بتات ، وللبساطة ، اعتقدنا أن أطوال المتجهات الأصلية هي مضاعفات 8. كالمعتاد ، يتم كتابة الكود في C ++ ، تم تجميعه بواسطة lcc 1.21.24 - مترجم Elbrus محسّن.
لقد كتبنا عدة تطبيقات لمسافة Hamming ، والتي أخذت بشكل متتابع في الاعتبار ميزات معالجات Elbrus. بدوا مثل هذا:
- يتم استخدام XOR bitwise بين الأعداد الصحيحة 8 بت وجدول القيم المحسوبة مسبقًا. هذا هو التنفيذ الأساسي دون intrisics وغيرها من الحيل.
- يستخدم XOR بين أعداد صحيحة 32 بت و intrinsics لحساب عدد الوحدات في عدد صحيح 32 بت - popcnt32. لم يتم تنفيذ محاذاة الحدود 32 بت.
- يستخدم XOR بين أعداد صحيحة 64 بت و intrinsics لحساب عدد الوحدات في عدد صحيح 64 بت - popcnt64. لم يتم تنفيذ محاذاة الحدود 64 بت.
- يستخدم XOR بين أعداد صحيحة 64 بت و intrinsics لحساب عدد الوحدات في عدد صحيح 64 بت - popcnt64. يتم الوصول إلى الذاكرة بطريقة محاذاة. نظرًا لأن عناوين البداية للمصفوفات يمكن أن يكون لها محاذاة مختلفة ، عند قراءة إحدى الصفائف ، تتم قراءة كتلتين 64 بت مجاورتين وتشكيل كتلة 64 بت الضرورية منها.
- يستخدم XOR بين أعداد صحيحة 64 بت و intrinsics لحساب عدد الوحدات في عدد صحيح 64 بت - popcnt64. يتم الوصول إلى الذاكرة بطريقة محاذاة. نظرًا لأن عناوين البداية للمصفوفات يمكن أن يكون لها محاذاة مختلفة ، عند قراءة إحدى الصفائف ، تتم قراءة كتلتين 64 بت مجاورتين وتشكيل كتلة 64 بت الضرورية منها. بالإضافة إلى ذلك ، يتم
-faligned
علامة المحول البرمجي -faligned
. - يستخدم XOR بين أعداد صحيحة 64 بت و intrinsics لحساب عدد الوحدات في عدد صحيح 64 بت - popcnt64. يتم الوصول إلى الذاكرة بطريقة محاذاة. نظرًا لأن عناوين البداية للمصفوفات يمكن أن يكون لها محاذاة مختلفة ، عند قراءة إحدى الصفائف ، تتم قراءة كتلتين 64 بت مجاورتين وتشكيل كتلة 64 بت الضرورية منها. بالإضافة إلى ذلك ، تم استخدام علامة المحول البرمجي -
-faligned
و pragmas pragmas #pragma unroll(2)
-faligned
#pragma unroll(2)
(لاستخدام كل من ALUs المتاحين لحساب popcnt64) و #pragma loop count(1000)
(لتمكين تحسينات #pragma loop count(1000)
إضافية).
وترد نتائج قياسات الوقت في الجدول 1.
جدول 1. مدة حساب مسافة Hamming بين صفيفين من الأرقام الثنائية المحزومة بطول 10 ^ 5 على جهاز مع معالج Elbrus-4C. متوسط الوقت أكثر من 10 ^ 5 يبدأ.
رقم | تجربة | الوقت ، مللي ثانية |
---|
1 | جدول القيم المحسوبة | 141.18 |
2 | popcnt32 ، لا محاذاة | 125.54 |
3 | popcnt64 ، لا محاذاة | 58.00 |
4 | محاذاة popcnt64 | 17.36 |
5 | محاذاة -faligned ، محاذاة | 17.15 |
6 | popcnt64 ، والمحاذاة ، محاذاة ، -faligned, pragma unroll | 12.23 |
يمكن ملاحظة أن جميع التحسينات التي تم بحثها أدت إلى انخفاض بنسبة 11.5 مرة في وقت التشغيل. تجدر الإشارة إلى أن استخدام العناصر الداخلية للوصول غير المتوازن إلى الذاكرة أظهر تسارعًا فقط 1.13 مرة (بالنسبة إلى popcnt32) و 2.4 مرة (بالنسبة إلى popcnt64) ، في حين أن المحاسبة عن محاذاة البيانات أدت إلى استخدام المخزن المؤقت لتبادل مجموعة APB مع مساعدة التي كان من الممكن تحقيق تسارع 3.4 مرات أخرى (58 مللي مقابل 17.15 مللي ثانية). على الرغم من حقيقة أن استخدام العلامة المحاذاة لم يُظهر مكسبًا كبيرًا في الأداء في المثال أعلاه ، في الخوارزميات الأكثر تعقيدًا ، قد يتعذر على المحول البرمجي تحليل التعليمات البرمجية المصدر بعمق كافٍ لإنشاء أوامر لـ APB. مع الأخذ في الاعتبار العدد الفعلي لوحدات ALU المتخصصة سمحت لنا بتسريع العمليات الحسابية بمقدار 1.4 مرة أخرى.
ليس سيئا للغاية! نظرًا لأننا قارنا ما يصل إلى 6 خيارات للتنفيذ ، فنحن نوفر الرمز الكاذب النهائي والأسرع:
: 8- A B, T, T[i] i : res, A B offset ← A 64- effective_len ← , 64- for i from 1 to offset: res ← res + T[xor(A[i] , B[i])] v_a ← 64- , A[offset+1] v_b1 ← 64- , B[offset] v_b2 ← 64- , v_b1 // 64- for i from offset to effective_len: v_b ← align(v_b1, v_b2) // 64- , v_a res ← res + popcnt64(xor(v_a, v_b)) v_a ← 64- v_b1 ← v_b2 v_b2 ← 64- //
سيكون من الرائع مرة واحدة وإلى الأبد تسريع حساب مسافة Hamming بمقدار 11.5 مرة ، ولكن في الحياة كل شيء أكثر تعقيدًا: سيكون لهذا التطبيق ميزة فقط مع أطوال صفائف كبيرة بما فيه الكفاية. في الشكل يعرض الشكل 4 مقارنة بين وقت الحساب باستخدام جدول القيم المحسوبة مسبقًا وتطبيقنا النهائي. يمكنك أن ترى أنه من خلال إصدارنا ، يبدأ الفوز فقط بدءًا من أطوال تتجاوز 400 بايت ، ويجب أيضًا أخذ ذلك في الاعتبار عند التحسين على Elbrus.

الشكل 4 - متوسط الوقت (لكل 1 بايت) لحساب مسافة هامينغ بين مجموعتين حسب طولهما في Elbrus-4C.
هذا كل شيء ، نحن الآن على استعداد لقياس وقت تشغيل النظام بأكمله. قمنا بقياس متوسط وقت معالجة الطلب (باستثناء تحميل الصور) لطلبات 933. عند تجميع وصف مضغوط للصورة ، تم استخدام واصف ثنائي اللون يشبه RFD 5328 بت. كانت تتألف من 3 واصفات RFD رمادية 1776 بت متسلسلة محسوبة لكل قناة في قسم صورة الإدخال. من ناحية ، لا ترضي هذه الواصفات الطويلة سرعة عالية في الحساب والمقارنة ؛ من ناحية أخرى ، فهي توفر جودة عمل عالية بما فيه الكفاية. ومع ذلك ، هناك أخبار سارة - يمكننا استخدام التنفيذ السريع لمسافة Hamming لمقارنتها! أطوال المصفوفات المقارنة هي 666 بايت ، وهو أكثر من قيمة العتبة 400 بايت لـ Elbrus-4C.
يتم عرض نتائج القياس في الجدول 2. ويمكن ملاحظة أن التنفيذ السريع واحد فقط لمسافة Hamming يعطي معالجة استعلام أسرع بمعدل 1.5 مرة. تجدر الإشارة أيضًا إلى أن هذا التحسين لا يغير نتائج العمليات الحسابية ، وبالتالي جودة الاعتراف.
جدول 2. متوسط زمن معالجة الطلب لنظام التعرف على عناصر الطلاء في الظروف غير المنضبط.
تجربة | طلب الوقت ، ق | استغرق حساب هامينج المسافة | مرات التسارع |
---|
تنفيذ قاعدة | 2.81 | 63٪ | - |
التنفيذ السريع | 1.87 | 40٪ | 1.5 |
الخاتمة
في هذه المقالة ، تحدثنا قليلاً عن بنية نظام التعرّف على طلاء الأشياء في ظروف غير منضبطة وأظهرنا مرة أخرى كيف يمكن للتلاعب بمستوى منخفض أن يزيد سرعته بشكل كبير على منصة Elbrus. لذا ، فإن التنفيذ المقترح لمسافة Hamming يعمل بترتيب من الحجم (!) أسرع من التنفيذ باستخدام جدول من القيم المحسوبة مسبقًا بطول كبير بما فيه الكفاية من متجهات الإدخال ، وتم تسريع النظام بأكمله بمقدار مرة ونصف. ولتحقيق هذه النتيجة ، تم استخدام امتدادات SIMD ، وتم مراعاة ميزات الوصول إلى البنية والذاكرة في معالجات Elbrus-4C و Elbrus-8C. توضح هذه النتائج أن معالجات Elbrus تحتوي على موارد كبيرة للتشغيل الفعال ، والتي لا يتم استخدامها بالكامل في غياب التحسين الذي تم تنفيذه خصيصًا. ومع ذلك ، من المتوقع أن يتم تحسين أساليب الوصول إلى الذاكرة باستخدام معالجات Elbrus الأحدث ، مما سيتيح تنفيذ بعض هذه التحسينات تلقائيًا وسييسر حياة المطورين بشكل كبير.
الأدب
[1] سكوريوكينا ، إيه. ميلوفزوروف ، دي. الحقل ، الخامس أرلازاروف. طريقة التعرف على الكائنات اللوحة في ظروف غير المنضبط مع التدريب وفقا لمثال واحد // معاملات ISA RAS. - عدد خاص ، 2018 - ص. 5-15.
[2] Pérez-Sanagustín M. et al. استخدام رموز QR لزيادة مشاركة المستخدم في المساحات المشابهة للمتحف // أجهزة الكمبيوتر في السلوك البشري. - 2016. - T. 60. - S. 73-85. Doi: 10.1016 / j.chb.2016.02.02.012
[3] Antoshchuk S. G. ، Godovichenko N. A. تحليل للميزات نقطة من الصورة في نظام الدليل الظاهري موبايل // براتسي. - 2013. - رقم 1 (40). - س 67-72.
[4] Andreatta C.، Leonardi F. ظهور اللوحات المعتمدة على المظهر لدليل متحف متحرك // المؤتمر الدولي حول نظرية وتطبيقات رؤية الكمبيوتر ، VISAPP. - 2006.
[5] ليونارد وين. 2014. التعرف المرئي في تطبيقات دليل المتاحف: هل يريد الزوار ذلك؟ .. في وقائع مؤتمر SIGCHI حول العوامل البشرية في أنظمة الحوسبة (CHI '14). ACM ، نيويورك ، نيويورك ، الولايات المتحدة الأمريكية ، 635-638.
دوى: 10.1145 / 2556288.2557270
[6] معرض تريتياكوف ، https://www.tretyakovgallery.ru/collection/
[7] Lukoyanov A. S.، Nikolaev D. P.، Konovalenko I. A. Modification of the YAPE algorithm for images with a انتشار كبير من التباين المحلي // تكنولوجيا المعلومات وتقنيات النانو. - 2018. - س. 1193-1204.
[8] Muja M.، Lowe DG مطابقة سريعة للميزات الثنائية // Computer and Robot Vision (CRV) ، 2012 Ninth Conference on. - IEEE ، 2012. - S. 404-410.
Doi: 10.1109 / CRV.2012.60
[9] Skoryukina، N.، Nikolaev، DP، Sheshkus، A.، Polevoy، D. (2015، February). في الوقت الحقيقي الكشف عن وثيقة مستطيلة على الأجهزة المحمولة. في المؤتمر الدولي السابع حول رؤية الماكينة (ICMV 2014) (المجلد 9445 ، الصفحة 94452A). الجمعية الدولية للبصريات والضوئيات.
دوى: 10.1117 / 12.2181377
[10] كيم إيه. كيه ، وبيشكوف آي. والتكنولوجيات الروسية الأخرى "Elbrus" لأجهزة الكمبيوتر الشخصية والخوادم وأجهزة الكمبيوتر العملاقة // تقنيات المعلومات الحديثة وتعليم تكنولوجيا المعلومات ، M: صندوق لتطوير وسائل الإعلام عبر الإنترنت ، تعليم تكنولوجيا المعلومات ، "جامعة وسائل الإعلام عبر الإنترنت" المحتملة البشرية ، 2014 ، رقم 10 ، ص. 39- 50.
[11] كيم أ. ك. ، بريكاتوف ف. إ. ، إرماكوف س. ج. المعالجات الدقيقة وأنظمة الحوسبة
عائلة البروس. - سانت بطرسبرغ: بيتر ، 2013 .-- 272 س.