اكتشاف الكائنات
شيو تشين، مهندسة بيانات في شركة Zilliz، تخرجت من جامعة زيليز وحصلت على شهادة في علوم الحاسب الآلي. منذ انضمامها إلى Zilliz، عملت على استكشاف حلول لـ Milvus في مجالات مختلفة، مثل تحليل الصوت والفيديو، واسترجاع الصيغ الجزيئية، وما إلى ذلك، مما أثرى سيناريوهات التطبيق في المجتمع بشكل كبير. وهي تستكشف حاليًا المزيد من الحلول المثيرة للاهتمام. في أوقات فراغها، تحب الرياضة والقراءة.
عندما كنت أشاهد فيلم Free Guy في عطلة نهاية الأسبوع الماضي، شعرت أنني رأيت الممثل الذي يلعب دور بودي، حارس الأمن، في مكان ما من قبل، ولكنني لم أستطع تذكر أي من أعماله. كان رأسي محشوًا بـ "من هذا الرجل"؟ كنت متأكدًا من أنني رأيت هذا الوجه وكنت أحاول جاهدًا أن أتذكر اسمه. حالة مشابهة هي أنني رأيت ذات مرة الممثل الرئيسي في أحد الفيديوهات وهو يتناول مشروبًا كنت أحبه كثيرًا، ولكنني فشلت في تذكر اسم العلامة التجارية.
كانت الإجابة على طرف لساني، لكن عقلي كان عالقًا تمامًا.
تدفعني ظاهرة طرف اللسان (TOT) إلى الجنون عند مشاهدة الأفلام. لو كان هناك فقط محرك بحث عكسي عن الصور لمقاطع الفيديو يمكّنني من العثور على مقاطع الفيديو وتحليل محتواها. من قبل، قمتُ ببناء محرك بحث عكسي عن الصور باستخدام Milvus. وبالنظر إلى أن تحليل محتوى الفيديو يشبه إلى حد ما تحليل الصور، قررت بناء محرك تحليل محتوى الفيديو استنادًا إلى Milvus.
اكتشاف الكائنات
نظرة عامة
قبل التحليل، يجب اكتشاف الأجسام في الفيديو أولاً. يعد اكتشاف الأجسام في الفيديو بفعالية ودقة هو التحدي الرئيسي للمهمة. وهي أيضًا مهمة مهمة مهمة لتطبيقات مثل الطيار الآلي والأجهزة القابلة للارتداء وإنترنت الأشياء.
وقد تم تطويرها من خوارزميات معالجة الصور التقليدية إلى الشبكات العصبية العميقة (DNN)، وتشمل النماذج السائدة اليوم لاكتشاف الأجسام شبكات R-CNN وFRCNN وSSD وYOLO. يمكن لنظام تحليل الفيديو القائم على التعلم العميق المستند إلى Milvus المقدم في هذا الموضوع اكتشاف الأجسام بذكاء وسرعة.
التنفيذ
لاكتشاف الأجسام في الفيديو والتعرّف عليها، يجب على النظام أولاً استخراج الإطارات من الفيديو واكتشاف الأجسام في صور الإطارات باستخدام اكتشاف الأجسام، وثانيًا استخراج متجهات السمات من الأجسام المكتشفة، وأخيرًا تحليل الجسم بناءً على متجهات السمات.
- استخراج الإطار
يتم تحويل تحليل الفيديو إلى تحليل الصور باستخدام استخراج الإطارات. حاليًا، تقنية استخراج الإطارات ناضجة جدًا. تدعم برامج مثل FFmpeg و OpenCV استخراج الإطارات على فترات زمنية محددة. تقدم هذه المقالة كيفية استخراج الإطارات من الفيديو كل ثانية باستخدام OpenCV.
- اكتشاف الكائنات
يتعلق باكتشاف الكائنات بالعثور على الكائنات في الإطارات المستخرجة واستخراج لقطات من الكائنات وفقًا لمواضعها. كما هو موضح في الأشكال التالية، تم اكتشاف دراجة وكلب وسيارة. يقدّم هذا الموضوع كيفية اكتشاف الأجسام باستخدام YOLOv3، والذي يُستخدم عادةً لاكتشاف الأجسام.
- استخراج الميزات
يشير استخلاص الميزات إلى تحويل البيانات غير المهيكلة، التي يصعب على الآلات التعرّف عليها، إلى متجهات ميزات. على سبيل المثال، يمكن تحويل الصور إلى متجهات ميزات متعددة الأبعاد باستخدام نماذج التعلم العميق. في الوقت الحالي، تشمل نماذج الذكاء الاصطناعي الأكثر شيوعًا للتعرف على الصور نماذج VGG و GNN و ResNet. يقدم هذا الموضوع كيفية استخراج الميزات من الكائنات المكتشفة باستخدام ResNet-50.
- تحليل المتجهات
تتم مقارنة متجهات السمات المستخرجة مع متجهات المكتبة، ويتم إرجاع المعلومات المقابلة للمتجهات الأكثر تشابهًا. بالنسبة لمجموعات بيانات متجهات السمات واسعة النطاق، يمثل الحساب تحديًا كبيرًا. يقدّم هذا الموضوع كيفية تحليل متجهات السمات باستخدام ميلفوس.
التقنيات الرئيسية
OpenCV
مكتبة الرؤية الحاسوبية مفتوحة المصدر (OpenCV) هي مكتبة رؤية حاسوبية مفتوحة المصدر (OpenCV) هي مكتبة رؤية حاسوبية متعددة المنصات، توفر العديد من الخوارزميات العالمية لمعالجة الصور والرؤية الحاسوبية. يشيع استخدام OpenCV في مجال الرؤية الحاسوبية.
يوضح المثال التالي كيفية التقاط إطارات الفيديو على فترات زمنية محددة وحفظها كصور باستخدام OpenCV مع Python.
import cv2
cap = cv2.VideoCapture(file_path)
framerate = cap.get(cv2.CAP_PROP_FPS)
allframes = int(cv2.VideoCapture.get(cap, int(cv2.CAP_PROP_FRAME_COUNT)))
success, image = cap.read()
cv2.imwrite(file_name, image)
YOLOv3
You Only Look Only One، الإصدار 3 (YOLOv3 [5]) هي خوارزمية للكشف عن الأجسام على مرحلة واحدة تم اقتراحها في السنوات الأخيرة. بالمقارنة مع خوارزميات اكتشاف الأجسام التقليدية بنفس الدقة، فإن YOLOv3 أسرع بمرتين. YOLOv3 المذكورة في هذا الموضوع هي النسخة المحسّنة من PaddlePaddle [6]. يستخدم طرق تحسين متعددة مع سرعة استدلال أعلى.
ResNet-50
ResNet [7] هو الفائز في ILSVRC 2015 في تصنيف الصور بسبب بساطته وعمليته. كأساس للعديد من طرق تحليل الصور، أثبت ResNet أنه نموذج شائع متخصص في اكتشاف الصور وتجزئتها والتعرف عليها.
ميلفوس
Milvus عبارة عن قاعدة بيانات متجهات سحابية مفتوحة المصدر ومفتوحة المصدر تم إنشاؤها لإدارة متجهات التضمين التي تم إنشاؤها بواسطة نماذج التعلم الآلي والشبكات العصبية. وهي تُستخدم على نطاق واسع في سيناريوهات مثل الرؤية الحاسوبية ومعالجة اللغة الطبيعية والكيمياء الحاسوبية وأنظمة التوصية الشخصية وغيرها.
تصف الإجراءات التالية كيفية عمل ميلفوس.
- يتم تحويل البيانات غير المهيكلة إلى ناقلات ميزات باستخدام نماذج التعلم العميق ويتم استيرادها إلى ميلفوس.
- يخزن ميلفوس متجهات السمات ويفهرسها.
- يُرجع ميلفوس المتجهات الأكثر تشابهًا مع المتجهات التي يستعلم عنها المستخدمون.
النشر
الآن لديك بعض الفهم لأنظمة تحليل الفيديو القائمة على ميلفوس. يتكون النظام بشكل أساسي من جزأين، كما هو موضح في الشكل التالي.
تشير الأسهم الحمراء إلى عملية استيراد البيانات. استخدم ResNet-50 لاستخراج متجهات الملامح من مجموعة بيانات الصورة واستيراد متجهات الملامح إلى ميلفوس.
تشير الأسهم السوداء إلى عملية تحليل الفيديو. أولاً، استخرج الإطارات من الفيديو واحفظ الإطارات كصور. ثانيًا، اكتشاف واستخراج الأجسام في الصور باستخدام YOLOv3. بعد ذلك، استخدم ResNet-50 لاستخراج متجهات السمات من الصور. أخيرًا، يبحث Milvus عن معلومات الكائنات ويعيد معلومات الكائنات مع متجهات الميزات المقابلة.
لمزيد من المعلومات، راجع معسكر ميلفوس التمهيدي: نظام الكشف عن كائنات الفيديو.
استيراد البيانات
عملية استيراد البيانات بسيطة. قم بتحويل البيانات إلى متجهات ذات 2,048 بُعدًا واستيراد المتجهات إلى ميلفوس.
vector = image_encoder.execute(filename)
entities = [vector]
collection.insert(data=entities)
تحليل الفيديو
كما هو موضح أعلاه، تتضمن عملية تحليل الفيديو التقاط إطارات الفيديو، واكتشاف الأجسام في كل إطار، واستخراج المتجهات من الأجسام، وحساب تشابه المتجهات باستخدام مقاييس المسافة الإقليدية (L2)، والبحث عن النتائج باستخدام Milvus.
images = extract_frame(filename, 1, prefix)
detector = Detector()
run(detector, DATA_PATH)
vectors = get_object_vector(image_encoder, DATA_PATH)
search_params = {"metric_type": "L2", "params": {"nprobe": 10}}
results = collection.search(vectors, param=search_params, limit=10)
الخلاصة
في الوقت الحالي، أكثر من 80% من البيانات غير منظمة. ومع التطور السريع للذكاء الاصطناعي، تم تطوير عدد متزايد من نماذج التعلم العميق لتحليل البيانات غير المنظمة. حققت تقنيات مثل اكتشاف الأشياء ومعالجة الصور اختراقات كبيرة في كل من الأوساط الأكاديمية والصناعية. وبفضل هذه التقنيات، استوفى المزيد والمزيد من منصات الذكاء الاصطناعي المتطلبات العملية.
تم بناء نظام تحليل الفيديو الذي تمت مناقشته في هذا الموضوع باستخدام برنامج Milvus، والذي يمكنه تحليل محتوى الفيديو بسرعة.
كقاعدة بيانات متجهة مفتوحة المصدر، تدعم Milvus متجهات الميزات المستخرجة باستخدام نماذج مختلفة للتعلم العميق. وبتكامله مع مكتبات مثل Faiss وNMSLIB وAnnoy، يوفر Milvus مجموعة من واجهات برمجة التطبيقات البديهية، التي تدعم تبديل أنواع الفهرس وفقًا للسيناريوهات. بالإضافة إلى ذلك، تدعم Milvus التصفية القياسية، مما يزيد من معدل الاستدعاء ومرونة البحث. وقد تم تطبيق Milvus في العديد من المجالات مثل معالجة الصور، والرؤية الحاسوبية، ومعالجة اللغات الطبيعية، والتعرف على الكلام، ونظام التوصية، واكتشاف الأدوية الجديدة.
المراجع
[1] A. D. Bagdanov, L. Ballan, M. Bertini, A. Del Bimbo. "مطابقة العلامات التجارية واسترجاعها في قواعد بيانات الفيديو الرياضي." وقائع ورشة العمل الدولية حول ورشة عمل حول استرجاع معلومات الوسائط المتعددة، ACM، 2007. https://www.researchgate.net/publication/210113141_Trademark_matching_and_retrieval_in_sports_video_databases
[2] J. Kleban, X. Xie, W.-Y. Ma. "التنقيب الهرمي المكاني للكشف عن الشعارات في المشاهد الطبيعية". مؤتمر IEEE الدولي، 2008. https://ieeexplore.ieee.org/document/4607625
[3] R. Boia, C. Florea, L. Florea, R. Dogaru. "تحديد موقع الشعار والتعرف عليه في الصور الطبيعية باستخدام الرسوم البيانية للفئات المتجانسة." رؤية الآلة وتطبيقاتها 27 (2), 2016. https://link.springer.com/article/10.1007/s00138-015-0741-7
[4] R. Boia, C. Florea, L. Florea. "التكتل الإهليلجي الإهليلجي في النموذج الأولي للفئة للكشف عن الشعار." BMVC, 2015. http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=5C87F52DE38AB0C90F8340DFEBB841F7?doi=10.1.1.707.9371&rep=rep1&type=pdf
[5] https://arxiv.org/abs/1804.02767
[6] https://paddlepaddle.org.cn/modelbasedetail/yolov3
[7] https://arxiv.org/abs/1512.03385
- التقنيات الرئيسية
- النشر
- الخلاصة
- المراجع
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word