استكشاف أطر ذكاء الرؤية: TensorFlow وPyTorch وOpenCV
اكتشف دور أطر الذكاء الاصطناعي في تطوير تطبيق للرؤية الحاسوبية. وتعرّف على أطر ذكاء الرؤية مثل TensorFlow وPyTorch وOpenCV.

يعيد الذكاء الاصطناعي (AI) والرؤية الحاسوبية تشكيل حياتنا اليومية بسرعة وبطرائق مذهلة. فمن التوصيات المخصصة إلى السيارات ذاتية القيادة، أصبحت تطبيقات الذكاء الاصطناعي للرؤية جزءًا حيويًا من كل صناعة. وفي صميم هذه الابتكارات توجد أطر الذكاء الاصطناعي، وهي أدوات أساسية تجعل إنشاء نماذج الذكاء الاصطناعي وتحسينها ونشرها ممكنًا.
يُعد TensorFlow وPyTorch وOpenCV أطرًا شائعة للذكاء الاصطناعي لتطوير تطبيقات الرؤية الحاسوبية، وقد صُمم كل منها لمعالجة تحديات وحالات استخدام محددة.
فعلى سبيل المثال، يُعرف TensorFlow بقابليته للتوسع وميزاته الجاهزة للإنتاج، ما يجعله خيارًا رائعًا لمشروعات الذكاء الاصطناعي واسعة النطاق. وبالمثل، يحظى PyTorch، بفضل تصميمه المرن والبديهي، بشعبية بين الباحثين والمطورين العاملين على تقنيات مبتكرة. ومن ناحية أخرى، يلائم OpenCV المهام الخفيفة الآنية مثل المعالجة المسبقة للصور واكتشاف السمات وتتبع الكائنات، ما يجعله خيارًا جيدًا لإنشاء النماذج الأولية والتطبيقات الأصغر نطاقًا.
في هذه المقالة، سنستكشف أطر الذكاء الاصطناعي للرؤية الثلاثة هذه، وميزاتها الرئيسية، واختلافاتها، وحالات استخدامها الشائعة. لنبدأ!
ما أطر الذكاء الاصطناعي؟#
تُعد أطر الذكاء الاصطناعي العمود الفقري لتطوير الذكاء الاصطناعي المتقدم والرؤية الحاسوبية. وتأتي هذه البيئات المنظمة مزودة بمجموعة شاملة من الأدوات والمكتبات. وهي تبسط إنشاء نماذج الذكاء الاصطناعي وتدريبها ونشرها. ومن خلال توفير دوال معدة مسبقًا وخوارزميات محسّنة، تقلل أطر الذكاء الاصطناعي وقت التطوير والجهد المبذول فيه بدرجة كبيرة.

الشكل 1. أسباب استخدام أطر الذكاء الاصطناعي. (الصورة من إعداد المؤلف).
فيما يلي بعض أطر الذكاء الاصطناعي الأكثر استخدامًا على نطاق واسع:
- TensorFlow: طوّرته Google، وTensorFlow منصة لبناء نماذج التعلم العميق وتدريبها. وهو يدعم بنيات متنوعة، تشمل الشبكات العصبية والشبكات العصبية الالتفافية (CNNs) والشبكات العصبية المتكررة (RNNs).
- PyTorch: طوّرته Meta، ويُستخدم PyTorch عادةً في البحث وإنشاء النماذج الأولية. فهو مرن وسهل الاستخدام، ما يجعله مثاليًا لتجربة الأفكار الجديدة.
- OpenCV: هي مكتبة لمهام الرؤية الحاسوبية ومعالجة الصور. وتُعرف OpenCV بقدراتها الآنية وخوارزمياتها الواسعة، وتُستخدم في كل من التطبيقات البحثية والعملية.
استخدام TensorFlow في مشروعات الذكاء الاصطناعي#
TensorFlow مكتبة مفتوحة المصدر لبناء نماذج التعلم العميق ونشرها. وهي توفر أدوات قوية لإجراء العمليات الحسابية العددية على وحدات المعالجة المركزية (CPUs) ووحدات معالجة الرسومات (GPUs). ويمكن استخدامها لمهام مثل تطوير الشبكات العصبية ومعالجة البيانات وحل مختلف تحديات الذكاء الاصطناعي والتعلم الآلي.
صدر TensorFlow للمرة الأولى عام 2015، وسرعان ما أصبح عنصرًا رئيسيًا في تطوير الذكاء الاصطناعي. وقد تطور من إطار Google السابق المغلق المصدر، DistBelief. ومنذ ذلك الحين، استُخدم في مشروعات رئيسية تابعة لـGoogle، مثل خوارزمية البحث RankBrain، التي تساعد على جعل نتائج البحث أكثر دقة وملاءمة، وخدمة خرائط Street View، التي تعالج الصور وتحللها من أجل تحسين التنقل وخدمات الخرائط.
في عام 2019، قدّم TensorFlow 2.0 تحديثات رئيسية، شملت تنفيذًا أسهل، وتحسين أداء GPU، وتوافقًا بين المنصات.
كيف يعمل TensorFlow؟#
يأتي اسم "TensorFlow" من مفهومه الرئيسي: إذ تمثل كلمة "Tensor" مصفوفات البيانات متعددة الأبعاد، وتصف كلمة "Flow" كيفية انتقال البيانات عبر رسم بياني حسابي.
يستخدم TensorFlow رسومًا بيانية لتدفق البيانات، حيث تمثل العقد العمليات الرياضية، وتمثل الاتصالات بينها الموترات أو مصفوفات البيانات متعددة الأبعاد. ويتولى C++ معالجة العمليات الحسابية المعقدة بكفاءة في الخلفية، بينما توفر Python واجهة سهلة الاستخدام للمطورين.
يوفر واجهات API عالية المستوى لتبسيط التطوير، وواجهات API منخفضة المستوى لتصحيح الأخطاء المتقدم والتجارب. ويمكن تشغيل TensorFlow بسلاسة عبر مختلف الأجهزة، من الهواتف الذكية إلى الأنظمة السحابية، ما يجعله خيارًا موثوقًا لمشروعات التعلم الآلي والتعلم العميق.

الشكل 2. خيارات نشر TensorFlow (الصورة من إعداد المؤلف).
الميزات الرئيسية في TensorFlow#
فيما يلي لمحة سريعة عن بعض الميزات المميزة التي يوفرها TensorFlow:
- عمليات الموترات: يدعم TensorFlow مجموعة واسعة من العمليات الرياضية، بما في ذلك الجبر الخطي وعمليات المصفوفات والالتفافات. وقد حُسّنت هذه العمليات لتنفيذها بكفاءة على مختلف الأجهزة.
- الاشتقاق التلقائي: يحسب TensorFlow التدرجات تلقائيًا، وهي ضرورية لتحسين معلمات النموذج أثناء التدريب. وتتيح هذه العملية، المعروفة باسم الانتشار العكسي، للنموذج التعلم من أخطائه وتحسين أدائه.
- التدريب والتحسين: يوفر TensorFlow خوارزميات للتحسين، مثل الانحدار المتدرج وAdam وRMSprop، لمساعدة النماذج على تقليل الأخطاء وإجراء تنبؤات أفضل من خلال ضبط إعداداتها بدقة أثناء التدريب.
- النشر: بعد تدريب النموذج، يمكن نشره على منصات متنوعة، بما في ذلك خوادم الويب والأجهزة المحمولة والأجهزة الطرفية. ويوفر TensorFlow أدوات لنشر النماذج بتنسيقات مختلفة، مثل TensorFlow Lite للأجهزة المحمولة والمضمّنة، وTensorFlow Serving من أجل خدمات الويب.
تمكّن ميزات TensorFlow المستخدمين من إنشاء تطبيقات في مجالات مثل الرؤية الحاسوبية ومعالجة اللغة الطبيعية (NLP) والتعلم المعزز والذكاء الاصطناعي للمؤسسات.
ما هو PyTorch؟#
PyTorch مكتبة مفتوحة المصدر للتعلم الآلي، طوّرها في الأصل مختبر أبحاث الذكاء الاصطناعي التابع لـFacebook، المعروف الآن باسم Meta AI. وبُني PyTorch على Python ومكتبة Torch، ويُستخدم على نطاق واسع في تطبيقات التعلم العميق، ما يبسط إنشاء نماذج الشبكات العصبية.
طُرح PyTorch للعامة في مؤتمر أنظمة معالجة المعلومات العصبية عام 2016. وفي عام 2018، أُطلق PyTorch 1.0. ومنذ ذلك الحين، شهد تحديثات عديدة واكتسب شعبية بين الباحثين والمطورين بفضل رسمه البياني الحسابي الديناميكي وسهولة استخدامه.
كيف يعمل PyTorch؟#
الهدف من PyTorch مشابه لهدف TensorFlow: تسهيل بناء نماذج التعلم الآلي وتدريبها. ولذلك، يشترك الاثنان في ميزات عديدة. إلا أن ما يميز PyTorch هو رسمه البياني الحسابي الديناميكي.
على خلاف النهج الأصلي لـTensorFlow، الذي كان يتطلب تعريف الرسم البياني الحسابي بأكمله قبل تشغيل النموذج، ينشئ PyTorch الرسم البياني أثناء تنفيذ التعليمات البرمجية. وهذا يعني أنه يمكنك استخدام الحلقات والشروط وغيرها من بنيات Python بسهولة، ما يجعل التجريب وتصحيح الأخطاء ومعالجة المهام ذات أحجام الإدخال المتغيرة أبسط بكثير. ورغم أن TensorFlow قدّم لاحقًا أوضاعًا ديناميكية، فإن مرونة PyTorch جعلته متميزًا.

الشكل 3. مقارنة بين TensorFlow وPyTorch. المصدر: kruschecompany.com
الميزات الرئيسية في PyTorch#
فيما يلي بعض الميزات الأخرى المثيرة للاهتمام التي يوفرها PyTorch:
- TorchScript للإنتاج: يدعم PyTorch تقنية TorchScript، التي تحوّل النماذج إلى صيغة ثابتة يمكن نشرها دون تبعيات Python. ويجمع ذلك بين مزايا التطوير الديناميكي والنشر الفعال في بيئة الإنتاج، ما يسد الفجوة بين المرونة والأداء.
- تبسيط تدريب النماذج: يوفر PyTorch واجهة API سهلة الاستخدام من أجل تدريب النماذج، ولا سيما من خلال فئتَي DataLoader وDataset، اللتين تجعل معالجة البيانات ومعالجتها المسبقة أمرًا مباشرًا.
- قابلية التشغيل البيني مع المكتبات الأخرى: يتوافق PyTorch بدرجة كبيرة مع المكتبات الشائعة مثل NumPy وSciPy وغيرها، ما يتيح دمجه بسلاسة في مسارات عمل أوسع للتعلم الآلي والحوسبة العلمية.
بفضل مرونته وميزاته سهلة الاستخدام، يُستخدم PyTorch على نطاق واسع في مهام مثل البحث الأكاديمي والرؤية الحاسوبية ومعالجة اللغة الطبيعية وتحليل السلاسل الزمنية. ويجعل رسمه البياني الحسابي الديناميكي منه خيارًا مثاليًا للباحثين لتجربة الشبكات العصبية المعقدة وتحسينها.
فعلى سبيل المثال، تجعل مكتبات مثل TorchVision منه خيارًا شائعًا لمهام الرؤية الحاسوبية مثل تصنيف الصور واكتشاف الكائنات والتجزئة. وبالمثل، تساعد في معالجة اللغة الطبيعية أدوات مثل TorchText ونماذج Transformer في مهام مثل تحليل المشاعر ونمذجة اللغة. وبالتوازي، يدعم PyTorch في تحليل السلاسل الزمنية نماذج مثل LSTMs وGRUs، ما يجعله مفيدًا لاكتشاف الأنماط في البيانات المتسلسلة في مجالات مثل التمويل والرعاية الصحية.
كيف يعمل OpenCV في مشروعات الرؤية الحاسوبية؟#
OpenCV (مكتبة الرؤية الحاسوبية مفتوحة المصدر) هي مكتبة برمجية مفتوحة المصدر للرؤية الحاسوبية. وقد طوّرتها Intel في البداية، وتضم أكثر من 2,500 خوارزمية، ووثائق شاملة، وشفرة مصدر متاحة.
رغم الإشارة إلى OpenCV أحيانًا باسم إطار، فإنها في الواقع أقرب إلى كونها مكتبة. وعلى خلاف TensorFlow أو PyTorch، لا توفر بيئة منظمة من أجل بناء النماذج وتدريبها. بل تركز على توفير مجموعة من الدوال والخوارزميات لمعالجة الصور ومهام الرؤية الحاسوبية. وهي لا تفرض مسار عمل أو بنية تطوير محددة.
الميزات الرئيسية في OpenCV#
صُممت OpenCV كمكتبة معيارية ذات مكونات مترابطة، ما يجعلها متعددة الاستخدامات لمجموعة واسعة من مهام الرؤية الحاسوبية. وتشمل ميزاتها ما يلي:
- تمثيل الصور: تخزن OpenCV بيانات الصور باستخدام هياكل قائمة على المصفوفات، حيث يمثل كل عنصر شدة بكسل، ما يضمن معالجة فعالة للبيانات المرئية.
- الخوارزميات: توفر مجموعة متنوعة من الخوارزميات لمهام مثل التصفية والتحويلات الهندسية واكتشاف الحواف واستخراج السمات.
- الأداء الآني: توفر أداءً عالي السرعة من خلال تحسينات مثل المعالجة المتوازية ودعم GPU، ما يجعلها مثالية للتطبيقات الآنية.
تجعل هذه الميزات OpenCV أداة رائعة للعمل إلى جانب أطر التعلم العميق مثل TensorFlow وPyTorch. ومن خلال الجمع بين نقاط قوتها، يستطيع المطورون بناء نماذج موثوقة للرؤية الحاسوبية.
فعلى سبيل المثال، يمكن استخدام TensorFlow أو PyTorch من أجل تدريب نماذج التعلم العميق لمهام مثل اكتشاف الكائنات، بينما تتولى OpenCV المعالجة المسبقة للصور واستخراج السمات وعرض التنبؤات. ويدعم هذا التكامل مجموعة واسعة من التطبيقات، بما في ذلك التعرف على الوجوه وتتبع الكائنات الآني والواقع المعزز والتحكم بالإيماءات والأتمتة الصناعية.

الشكل 4. مثال على المعالجة المسبقة لصورة باستخدام OpenCV.
صياغة مستقبل الذكاء الاصطناعي#
تُعد أطر الذكاء الاصطناعي مثل TensorFlow وPyTorch وOpenCV ضرورية لبناء نماذج ذكية. ويمكنها الجمع بين التعلم العميق والرؤية الحاسوبية لإنشاء أدوات قوية لمجموعة واسعة من التطبيقات. ويُعد TensorFlow وPyTorch مناسبين لتطوير نماذج متقدمة ومرنة، بينما يتفوق OpenCV في المهام الآنية بفضل السرعة والكفاءة.
يتيح استخدام نقاط قوة الأطر المختلفة لنا معالجة التحديات المعقدة والاستفادة القصوى من إمكانات الذكاء الاصطناعي. ويساعدنا فهم ما يقدمه كل إطار على اختيار الأداة المناسبة للمهمة، بما يضمن نتائج أفضل وحلولًا أكثر فعالية.
تعرّف على المزيد حول الذكاء الاصطناعي في مستودع GitHub وانضم إلى مجتمعنا النشط. واقرأ المزيد عن تطبيقات الذكاء الاصطناعي في الزراعة والرعاية الصحية.









