Super Resolution
تعيد تقنية تحسين الدقة الفائقة بناء صورة بدقة أعلى انطلاقًا من صورة منخفضة الدقة، عبر توقّع التفاصيل التي لا يستطيع الاستيفاء استعادتها. تعرّف على النماذج والشفرة البرمجية.
الدقة الفائقة (SR) مجموعة من تقنيات الرؤية الحاسوبية التي تعيد بناء صورة أو مقطع فيديو بدقة أعلى انطلاقًا من مدخل منخفض الدقة. لا تفعل أساليب التكبير التقليدية مثل الاستيفاء ثنائي التكعيبي سوى توزيع البكسلات الموجودة على شبكة أكبر، فتبدو الحواف ناعمة وتضبب الأنسجة الدقيقة. يتنبأ نموذج SR متعلّم بالتفاصيل عالية التردد المفقودة، مثل الحواف الحادة وخطوط النص وأنسجة القماش أو أوراق الشجر، اعتمادًا على الأنماط التي تعلمها من أزواج صور منخفضة وعالية الدقة. تعمل الدقة الفائقة للصورة الواحدة (SISR) على صورة واحدة، بينما تستفيد الدقة الفائقة للفيديو أيضًا من الإطارات المجاورة، التي يلتقط كل منها معلومات مختلفة قليلًا عن المشهد نفسه.
آلية عمل الدقة الفائقة#
الدقة الفائقة مسألة غير جيدة التحديد: فصور عالية الدقة كثيرة ومختلفة قد تتقلص إلى الصورة منخفضة الدقة نفسها، لذا يتعين على النموذج اختيار الإجابة الأرجح اعتمادًا على ما تعلمه عن الصور الطبيعية. تُنشأ أزواج التدريب بأخذ صور عالية الدقة وإفسادها باستخدام التمويه، وخفض الدقة بعامل مثل 2× أو 4×، والضوضاء، والضغط. ويحدد نموذج الإفساد هذا المدخلات الواقعية التي تستطيع الشبكة التعامل معها؛ إذ يتدرب Real-ESRGAN على إفسادات متسلسلة عشوائيًا، ليتمكن من استعادة الصور ومقاطع الفيديو الواقعية، فضلًا عن الصور المخفضة الدقة بوضوح.
سارت البنى المعمارية على خطى بقية التعلم العميق. وأظهر SRCNN في عام 2014 أن شبكة عصبية التفافية (CNN) مؤلفة من ثلاث طبقات تتفوق على الأساليب الكلاسيكية. تنفذ ESPCN عملياتها الالتفافية بدقة منخفضة، ولا تكبّر الصورة إلا في النهاية باستخدام التفاف دون البكسل، الذي يعيد ترتيب القنوات لتكوين صورة أكبر، ما يجعلها سريعة بما يكفي لمعالجة فيديو 1080p في الزمن الحقيقي. وضمّنت EDSR العديد من الكتل المتبقية، وبنت SwinIR نموذجها من كتل محوّل الرؤية ذات النوافذ المتحركة، بينما تولّد نماذج الانتشار التفاصيل عبر إزالة الضوضاء تكراريًا.
تحدد دالة الخسارة معنى «الأفضل». تحقق خسائر البكسل، مثل L1 أو متوسط مربع الخطأ، أقصى تطابق مع الأصل، لكنها تحسب متوسط الإجابات الممكنة، فتنتج مظهرًا ناعمًا. أضافت SRGAN خسارة إدراكية على السمات العميقة وخسارة تنافسية من شبكة تنافسية توليدية (GAN)، ما أنتج أنسجة حادة وواقعية قد لا تطابق المشهد الحقيقي بكسلًا ببكسل، وهو خطر في التصوير الطبي والتصوير الجنائي، حيث قد يُظن أن تفصيلًا مختلقًا دليل.
قياس الدقة الفائقة#
يُقاس التطابق باستخدام نسبة الإشارة إلى الضوضاء في الذروة (PSNR)، وهي مقياس لوغاريتمي لمتوسط مربع الخطأ بوحدة الديسيبل، وباستخدام مؤشر التشابه البنيوي (SSIM). وتقارن المقاييس الإدراكية مثل LPIPS السمات العميقة، وتواكب الأحكام البشرية على الواقعية على نحو أدق. ويصغّر المثال أدناه صورةً بمقدار 4×، ثم يعيد بناءها باستخدام الاستيفاء ثنائي التكعيبي ونموذج ESPCN مدرّب مسبقًا من OpenCV:
import urllib.request
import cv2 # cv2.dnn_superres requires: pip install opencv-contrib-python
# Download a pretrained 4x ESPCN model and a test image cropped to a multiple of 4
urllib.request.urlretrieve("https://github.com/fannymonori/TF-ESPCN/raw/master/export/ESPCN_x4.pb", "ESPCN_x4.pb")
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
original = cv2.imread("bus.jpg")[:1080, :808]
# Simulate a low-resolution capture by shrinking the image 4x
low_res = cv2.resize(original, (202, 270), interpolation=cv2.INTER_CUBIC)
# Upscale 4x with bicubic interpolation and with the learned ESPCN model
bicubic = cv2.resize(low_res, (808, 1080), interpolation=cv2.INTER_CUBIC)
sr = cv2.dnn_superres.DnnSuperResImpl_create()
sr.readModel("ESPCN_x4.pb")
sr.setModel("espcn", 4)
espcn = sr.upsample(low_res)
# Higher PSNR means the reconstruction is closer to the original image
print(f"Bicubic: {cv2.PSNR(original, bicubic):.2f} dB, ESPCN: {cv2.PSNR(original, espcn):.2f} dB")يطبع Bicubic: 19.51 dB, ESPCN: 20.52 dB. وتمثل زيادة قدرها 1 dB انخفاضًا بنحو 21% في متوسط مربع الخطأ، باستخدام ملف نموذج حجمه نحو 100 KB.
الدقة الفائقة ومصطلحات ذات صلة#
- استعادة الصور: المجال الأوسع لاستعادة صورة سليمة من صورة متدهورة، ويشمل إزالة الضوضاء وإزالة التمويه وإزالة آثار الضغط. الدقة الفائقة هي مهمة الاستعادة التي تزيد أيضًا عدد البكسلات، وغالبًا ما تتعامل النماذج الحديثة مع عدة أنواع من التدهور في آن واحد.
- استكمال الصور: يملأ المناطق المفقودة أو المحجوبة، بينما تضيف الدقة الفائقة التفاصيل إلى جميع أجزاء الصورة المكتملة لكن منخفضة الدقة.
- استيفاء الإطارات: يزيد الدقة الزمنية بتوليد إطارات بين الإطارات الموجودة، وهو المقابل على المحور الزمني للدقة الفائقة المكانية.
- الذكاء الاصطناعي التوليدي: تنشئ نماذج تحويل النص إلى صورة صورًا من المطالبات. أما الدقة الفائقة فتُكيّف مع صورة مدخلة، وعليها أن تحافظ على أمانة محتواها، وتستخدم مولدات صور كثيرة نموذج انتشار للتكبير في مرحلتها النهائية.
تطبيقات عملية#
- الألعاب: تعرض NVIDIA DLSS الإطارات بدقة منخفضة ثم تكبّرها بشبكة عصبية، ما يرفع معدلات الإطارات مع الحفاظ على جودة بصرية مماثلة.
- بث الفيديو والأرشيفات: يكبّر المذيعون ومرممو الأفلام اللقطات ذات الدقة القياسية واللقطات الأرشيفية لتناسب شاشات HD و4K.
- تحليل صور الأقمار الصناعية: يحسّن المحللون وضوح الصور الأقل تكلفة لرسم خرائط المباني والطرق والمركبات.
- تحليل الصور الطبية: تعيد الأنظمة البحثية بناء صور MRI عالية الدقة انطلاقًا من عمليات تصوير أسرع وأقل دقة، ما يقلل الوقت الذي يقضيه المريض داخل جهاز التصوير.
تُستخدم الدقة الفائقة أيضًا بوصفها خطوةً للمعالجة المسبقة لاكتشاف الأجسام الصغيرة في المصادر منخفضة الدقة. تعيد Ultralytics YOLO26 تحجيم كل مُدخل إلى حجم imgsz، وهو 640 بكسل افتراضيًا، باستخدام الاستيفاء ثنائي الخطوط، لذا يُكبَّر إطار كاميرا بدقة 320×240 بمقدار 2× قبل الكشف؛ ويزوّد إحلال نموذج للدقة الفائقة بمقدار 2× محل ذلك الاستيفاء الكاشفَ بحواف مُعاد بناؤها لأجسام صغيرة وبعيدة، مثل الوجوه ولوحات الترخيص والمركبات في المشاهد الجوية.










