SRCNN
forkortelse for Super-Resolution Convolutional Neural Network
SRCNN er et konvolutionelt neuralt netværk, der lærer en direkte mapping fra lavopløselige til højopløselige billeder.
Kort fortalt
SRCNN er en dybdelæringsmodel, der forbedrer billedopløsningen ved at lære at rekonstruere detaljer fra et lavopløseligt input.
- Kategori
- model
- Niveau
- øvet
- Udtale
- /ɛs ɑːr siː ɛn ɛn/
Betydninger
1- 1
Et konvolutionelt neuralt netværk designet til at lære en ende-til-ende mapping fra lavopløselige til højopløselige billeder, bestående af tre operationer: patch extraction, non-linear mapping og reconstruction.
- SRCNN opnåede state-of-the-art resultater på super-resolution benchmarks som Set5 og Set14. — Dong et al., 2014
- Implementeringen af SRCNN er simpel og kræver kun få konvolutionelle lag.
Hvornår bruges det
SRCNN bruges primært inden for billedbehandling og computer vision til single image super-resolution, hvor et enkelt lavopløseligt billede forstørres med minimalt kvalitetstab. Modellen fungerer som en baseline for mange efterfølgende super-resolution netværk.
Kodeeksempel
import torch.nn as nn
class SRCNN(nn.Module):
def __init__(self):
super(SRCNN, self).__init__()
self.conv1 = nn.Conv2d(1, 64, kernel_size=9, padding=4)
self.conv2 = nn.Conv2d(64, 32, kernel_size=1, padding=0)
self.conv3 = nn.Conv2d(32, 1, kernel_size=5, padding=2)
self.relu = nn.ReLU()
def forward(self, x):
x = self.relu(self.conv1(x))
x = self.relu(self.conv2(x))
x = self.conv3(x)
return xDefinition af SRCNN-modellen i PyTorch med tre konvolutionelle lag og ReLU-aktivering.
Oprindelse
Termen SRCNN blev introduceret i 2014 af Dong et al. i forskningsartiklen 'Image Super-Resolution Using Deep Convolutional Networks'. Forkortelsen står for Super-Resolution Convolutional Neural Network.