يمكنك استخدام هذا الموقع لتبسيط الصورة من خلال العديد من طرق نقل neural style .
يتم تنفيذ هذا المشروع بشكل رئيسي في Keras 2.1.3 (جزء منه هو Tensorflow)
فيديو تجريبي
neural style السريع
النمط العصبي " style = "max-width: 100٪؛">
مبادلة النمط
نمط القناع
neural style السريع
يعتمد تنفيذ neural style السريع على النمط العصبي السريع بواسطة Misgod، وقد أجرينا بعض التغييرات عليه، وتعتمد هذه الطريقة على الخسائر الإدراكية لنقل النمط في الوقت الفعلي والدقة الفائقة بواسطة Johnson et al.
في الإصدار الحالي، قمنا باستبدال بعض طبقة Conv2D بتلافيفات قابلة للفصل من حيث العمق في شبكة تحويل الصور. سيتم إضافة تفاصيل إجراءات التدريب قريبا.
مبادلة النمط
طبقة مبادلة النمط هي مرجع من WCT-TF بواسطة eridgd، الورقة الأصلية هي نقل سريع للنمط القائم على التصحيح للنمط التعسفي بواسطة Chen et al.
نمط القناع
نحن نستخدم Mask R-CNN الذي يتم تنفيذه بواسطة Matterport، والورقة الأصلية لـ Mask R-CNN هي Mask R-CNN بواسطة He et al.
بايثون >= 3.5 (أناكوندا)
CUDA >=8.0 (للحصول على دعم وحدة معالجة الرسومات، سيحتاج استخدام الإصدار الأحدث إلى التحقق من التوافق مع إصدار Tensorflow-gpu)
Cudnn >=6.0 (لدعم GPU)
قارورة 0.12.2
كيراس 2.1.3
Tensorflow-GPU 1.4
سكيبي 1.0.0
scikit-image
pycocotool
com.imgaug
بيل
سايثون
تحتاج أيضًا إلى تلبية متطلبات Mask R-CNN.
قم بتنزيل النماذج المُقطرة المُدربة، وقم بفك ضغط النماذج في models/fast_style_transfer/pretrained
، ثم قم بتعديل MODELS_PATH في models/file_path.py
، واستخدم وحدة التحكم للانتقال إلى مجلد المشروع الجذر واكتب
python app.py
وافتح المتصفح ثم اذهب إلى localhost:5000
يجب عليك تنزيل مجموعة بيانات COCO أولاً، ونحن نستخدم مجموعة التدريب لعام 2014 (83 ألف صورة).
neural style السريع الأصلي
أنت بحاجة إلى ملء سلسلة المسار في وظيفة loss_net
في models/src/nets.py
لنموذج vgg16 الذي تم تدريبه مسبقًا. لاحظ أنه يجب وضع صور التدريب الخاصة بك في مجلد مثل هذا cocotrain/0/xxx.jpg
لأننا نستخدم ImageDataGenerator لتحميل الصور، فإنه يفترض أنه يتم تخزين فئات مختلفة من الصور في مجلدات مختلفة.
قم بإعداد صورة نمطية وضعها في static/img/styles/
.
اكتب الأمر أدناه لتدريب نموذج. هذا مثال يوضح أنه إذا تم تخزين صور التدريب الخاصة بي في المجلد الجذر للمشروع، فقل إنني أريد تدريب نمط يسمى فسيفساء.
python train_fast_model.py -p ./cocotrain -s mosaic
يمكنك أيضًا ضبط وزن المحتوى والنمط، واكتب -h لرؤية جميع الوسائط.
python train_fast_model.py -h
neural style السريع المقطر
يجب أن يكون لديك النماذج الأصلية المدربة مسبقًا neural style السريع ، إليك رابط النماذج الأصلية المدربة مسبقًا.
قم بتشغيل generate_image.py
، ستحتاج أيضًا إلى تحديد مسار مجموعة بيانات COCO باستخدام -p
.
python generate_image.py -p ./cocotrain
train_distillated_model.py
، هناك حاجة إلى المسار إلى مسار مجموعة بيانات COCO واسم النمط. أدناه مثال. python train_distillated_model.py -p ./cocotrain -s mosaic
نموذج مبادلة النمط
لا تحتاج إلى مجموعة بيانات COCO فحسب، بل تحتاج أيضًا إلى الكثير من صور الأنماط. تمامًا مثل الورق، نستخدم الرسام بالأرقام. لاحظ أنه يجب وضع صور التدريب والصور النمطية في مجلد مثل cocotrain/0/xxx.jpg
و styleimages/0/xxx.jpg
.
train_style_swap_model.py
، هناك حاجة إلى المسار إلى مسار مجموعة بيانات COCO وصور النمط. أدناه مثال. python train_style_swap_model.py -p ./cocotrain -s ./styleimages