קוד פתוח Python API עבור תמונות
רזולוציה מעולה לתמונות באמצעות Deep Learning
מהו שיפור עצבי?
Neural Enhance הוא קוד פתוח Python API לשיפור תמונה. ה-API משפר את התמונה באמצעות למידה עמוקה, באמצעות ה-API ניתן לאמן את הרשת העצבית ולהגדיל פי 2 או אפילו פי 4 לתמונות שלכם. אתה יכול לשפר את התמונות על ידי הגדלת מספר הנוירונים בתמונה, עם מערך נתונים דומה לתמונה שלך ברזולוציה נמוכה.
אתה יכול לשפר את התמונות שלך באמצעות HQ של עיבוד המעבד וה-GPU. יצירת פלט של 1080p ב-GPU אמורה להימשך בערך 5 או 2 שניות לתמונה ו-HQ של עיבוד מעבד אמור לקחת בערך 20-60 שניות עבור פלט 1080.
תחילת העבודה עם שיפור עצבי
הדרך המומלצת להתקנת Neural Enhance היא באמצעות Docker. אנא השתמש בפקודה הבאה כדי להתקין Neural Enhance.
התקן Neural Enhance באמצעות Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
שפר תמונות באמצעות API של Python בחינם
Neural-Enhance API מאפשר שיפור תמונות באופן פרוגרמטי. ה-API מספק רשימה של פקודות שבהן אתה יכול להשתמש עם המודל שהוכשר מראש הזמין ב-API. באמצעות ה-API, אתה יכול להריץ את הסקריפט ברזולוציית העל כדי לתקן חפצי JPEG, גורמי זום, לעבד מספר תמונות באיכות בהרצה אחת, ולהציג את תמונות הפלט. אתה יכול בקלות לשפר את התמונות שלך באמצעות שורת קוד אחת זו
שפר תמונות באמצעות Python
- פתח את שורת הפקודה
- עבור אל ספריית enhance.py
- הפעל את הפקודה הבאה והעבר את סוג הקובץ, התיקון, אפשרות הזום ונתיב התמונה לשיפור
שפר תמונות באמצעות Python
# Run the super-resolution script to repair JPEG artefacts, zoom factor 1:1.
python3 enhance.py --type=photo --model=repair --zoom=1 broken.jpg
# Process multiple good quality images with a single run, zoom factor 2:1.
python3 enhance.py --type=photo --zoom=2 file1.jpg file2.jpg
# Display output images that were given `_ne?x.png` suffix.
open *_ne?x.png
אימון תמונות ברזולוציה סופר באמצעות Python
ספריית התמונות בקוד פתוח Neural Enhance אימון התמונות שלך בדרך שלך. ה-API מגיע עם מודלים שהוכשרו מראש כברירת מחדל, אתה יכול לאמן את התהליך שלך באמצעות פרמטרים המבוססים על מערך הנתונים של התמונה שלך. אתה יכול לאמן את המודל שלך באמצעות אובדן תפיסה מנייר, לאמן את המודל שלך באמצעות הגדרה אדוורסרית ועוד.
השתמש במודלים מאומנים מראש וב-Super-Resolution אימון באמצעות Python API
# Pre-train the model using perceptual loss from paper [1] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=50 \
--perceptual-layer=conv2_2 --smoothness-weight=1e7 --adversary-weight=0.0 \
--generator-blocks=4 --generator-filters=64
# Train the model using an adversarial setup based on [4] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=250 \
--perceptual-layer=conv5_2 --smoothness-weight=2e4 --adversary-weight=1e3 \
--generator-start=5 --discriminator-start=0 --adversarial-start=5 \
--discriminator-size=64
# The newly trained model is output into this file...
ls ne?x-custom-*.pkl.bz2