تلوين صورة بواسطة تقنية التعلم العميق



بداية قبل أن أتطرق فى تفاصيل هذا العنوان يجب أولا أن نتحدث سريعا عن مجال التعلم العميق (Deep Learning ) الذى يعتبر واحد من أهم مواضع البحث و العمل من موضوعات علم الداتا (data science) حاليا, و بالفعل هو يستحق أن يأخذ منا الانتباه, ومن المتوقع أن التطبيقات المبنية على هذه التقنية سوف تؤثر كثيرا على حياتنا فى المستقبل القريب و فعليا هى تؤثر في حياتنا حاليا.
و مع ذلك إن كنت تنظر إلى هذا المجال من الخارج فإنك سترى الموضوع صعب و معقد و تخاف منه, ولكنى أريد أن أخبرك بهدوء إنه سهل و بسيط جدا لكنه يتطلب منك وقت و مجهود لكى تتماشى مع هذا المجال و ستجد سهولة فى تطبيق هذه الادوات فى المشاكل اليومية, و كما أنه فيه جزء كبير من المتعه فى أن تلاحظ أن تصنع تطبيقا بهذه التقنية و يمثل فضول طفل فى تعلم من الاشياء المحيطة.
و فى هذا المثال سوف نلاحظ مدى سهولة صناعة تطبيق يعمل باستخدام هذه التقنية.
و هذا التطبيق سوف تكتبه باستخدام لغة البايثون لذا يجب عليك أن تكون على دراية باساسيات هذه اللغة و اذا كنت غير ذلك يمكنك البدء من هنا


و الان دعونا نذهب لصناعة تطبيق بعنوان هذه التدوينة
(Colorize photos using Deep Learning (Algorithmia API
و فى هذا التطبيق سوف نصنع برنامج يستخدم فى تلوين الصور ذات اللونين الابيض والأسود أتوماتيكيا, فى البداية الموضوع صعب فى أن تعلم برنامج أن يتعلم أن يقرأ محتويات الصورة و يقوم بتلوينها بناء على ما فيها, وما عليك هو أن تتخيل أنه طفل فى الرابعة من عمره و مع قلم تلوين و كتاب ليلون محتويات الكتاب وأنت من تقوم بتعليمه لكى يقوم بذلك, ولكن هل سنستطيع أن ندرب  ونعلم هذا البرنامج الذكى (artificial agent) للقيام بذلك , بالطبع سنرى الموضوع صعب فى أن نعلمه ذلك لاننا كبشر نتدرب  و نتعلم فى كل وقت و فى كل يوم و فى كل لحظة كيف تبدو الاشكال ملونة فى حياتنا اليومية, نحن من الممكن لا نلاحظ ذلك و لكن عقلنا يأخذ كل لحظة من حياتنا و يستخرج منها معلومات ذات قيمة ندركها, مثل عندما ترى شجرة سوف تدرك أنها باللون اﻷخضر و أيضا تدرك أن السماء زرقاء, و من الصعب تمثيل ذلك فى برنامج مصطنع, ولكن هناك دراسة أثبتت أننا إذا دربنا برنامج شبكة عصبية (neural network) با فيه الكفاية على مجموعة امثلة معدة مسبقأ يمكننا أساسا الحصول على النموذج الذي يمكن أن يقوم بإستنتاج عملية التلوين هذه على صورة مثل هذا المثال الموضح فى الصورة


لكى تستطيع تفعل ذلك عمليا. سوف نستخدم API معد مسبقا بواسطة Algorithmia .
ولكن هناك متطلبات لصنع ذلك وهى كالتالى:-
  1. ان تكون البايثون منزلة و مثبتة على الكمبيوتر
  2. أن جهاز الكمبيوتر متصل بالانترنت
ملحوظة :-
  • لمستخدمين نظام التشغيل لينكس البايثون مثبتة بالفعل على النظام و لاستدعائها أفتح الTerminal و اكتب كلمه python
  • لمستخدمين نظام التشغيل ويندوز يجب عليك أولا أن تنزل البايثون من هنا وبعد ذلك تثبيتها
  • ولتسهيل عملية كتابة الكود أفضل استخدام المحرر pycharm
و ما عليك الان هو اتباع هذه الخطوات لصنع التطبيق و سوف ادعم ذلك بالصور للتوضيح أكثر
  1. يجب عليك التسجيل فى موقع Algorithmia و الحصول على مفتاح الدخول الخاص بك والتى ستجده فى الموقع بعد تسجيلك فيه


  1. يجب أن تثبت هذا الAPI بواسطة تشغيل هذا اﻷمر فى الTerminal فى لينكس أو Command Prompt فى ويندوز pip install algorithmia
  2. إختار الصورة "ابيض و أسود" التى تريد تلوينها و إرفعها فى مجلد ال Data التى يوفره لك الموقع


d2.png



  1. أنشى ملف بايثون وسميه trial.py ثم افتح هذا الملف واكتب هذا الكود فيه. لكن لاحظ أن تدخل له مكان الصورة من مجلد ال Data و أيضا API كذلك


import Algorithmia

input={“image": "data:// …… " }   # Set location of your own image
client = Algorithmia.client(‘......’)  # insert your own API key
algo = client.algo('deeplearning/ColorfulImageColorization/1.1.5')
print(algo.pipe(input))

  1. يمكنك الآن تشغيل  'run'  البرنامج من ال Terminal عن طريق كتابة “python trial.py” أو من pycharm و الناتج من هذا سوف يتم حفظه أتوماتيكيا فى مجلد ال Data


input-200x300.jpeg output-200x300.png


وبهذا قد تكون تمكنت من صناعة تطبيق يمثل كطفل يلون صورة :)

Share this:

CONVERSATION

0 التعليقات :

إرسال تعليق