Pixel Shuffle - Changing Resolution with Style

  Рет қаралды 7,050

Animated AI

Animated AI

8 ай бұрын

Patreon: / animated_ai
Animations: animatedai.github.io/#pixel-s...

Пікірлер: 31
@salmiac-3105
@salmiac-3105 8 ай бұрын
would've loved an example image for the pixel suffle too there to really grasp what is happening
@ziggycross
@ziggycross 8 ай бұрын
Was just about to leave a comment to say this! Was waiting for some example images, would be great to keep in mind for future videos!
@ELjoakoDELxD
@ELjoakoDELxD 8 ай бұрын
@@ziggycross I wanted some images too. I didn't understand fully what the output is going to be with pixelshuffle Edit: grammar will always be difficult for me
@djmips
@djmips 8 ай бұрын
It's not working on actual pixels. The 'depth' or input to the shuffle is the feature maps generated from the low res image and it's at this last stage that the image is upsampled. This is in contrast to older methods that would upsample the image straight away and then try and process that into the super resolution output which was both less efficient and potentially introduced the artifacts mentioned in the video. For more information see the paper referenced in the video. "Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network" by Shi et al.
@johnpope1473
@johnpope1473 2 ай бұрын
@@djmips - now I understand. thanks
@VFXVideoeffectsCreator
@VFXVideoeffectsCreator 8 ай бұрын
I have to say, that's really awesome! Especially the hint that transposed convolution is just the gradient computation of convolution w.r.t. its inputs. I regularly contribute to the backends of Deep Learning Frameworks in the Julia Programming Language, and transposed convolution (or deconvolution, or some freaky way to say it: fractionally strided convolution) is really just a function call to the function calculating the adjoint (gradient) of a normal convolution (except output_padding, but this just affects the size calculation anyway).
@chrisminnoy3637
@chrisminnoy3637 8 ай бұрын
Thanks. Was already using that for quite some time in my super resolution upscaler. Downside of the tensorflow implementation, as far as I know, you can only use squares, but it would make sense to also just do it in one dimension, or more in a rectangle. Some work to be done there ...
@AdmMusicc
@AdmMusicc 17 күн бұрын
Loved the animation thank you!!
@kevalan1042
@kevalan1042 8 ай бұрын
Beautiful work as always
@Biuret.
@Biuret. 8 ай бұрын
Great content. Thank you!
@j________k
@j________k 8 ай бұрын
Great series! Keep it up :)
@HinaTan250
@HinaTan250 8 ай бұрын
This is really cool! 😄 Thanks for the information.
@Firestorm-tq7fy
@Firestorm-tq7fy 2 ай бұрын
One of the best channels! I wish u‘d be covering more topics than only CNN, but guess can’t be a top pro in every topic. I def subbed and wished u‘d have way more videos already. But i can see that it takes alot of time and effort so i will wait. Thank u so much for this work ❤
@ScottzPlaylists
@ScottzPlaylists 7 ай бұрын
👍 you make awesome illustrations.. ❤ Can you explain Transformers encoding and inference? ❓ That would be a big hit also. 👏
@SrDlay
@SrDlay 8 ай бұрын
thanks for your effort
@oberstvontoffel
@oberstvontoffel 6 ай бұрын
this video should have way more likes...
@I77AGIC
@I77AGIC Ай бұрын
this made it make a ton of sense. but one problem is pixel shuffle does not get rid of the artifacts. it introduces its own artifacts
@coryfan5872
@coryfan5872 2 ай бұрын
Hi, isn't this virtually the same effect as a stride 2, 2x2 transpose convolution with the output channel just being 4 times smaller? Its a convolutional filter with some binary weights that causes each pixel channel to be mapped to some new channel. The aforementioned transpose convolution would be the same if you just had a linear layer before the pixel shuffle.
@chrisminnoy3637
@chrisminnoy3637 8 ай бұрын
Would be nice to have a video about TensorTrain technique
@Erosis
@Erosis 8 ай бұрын
Do you have a paper or resource about the artifacts in the gradient when using strided 3x3 convs?
@animatedai
@animatedai 8 ай бұрын
If you accept that transposed convolution (kernel size=3, stride=2) produces gridding artifacts in the output image then by definition, standard convolution (kernel size=3, stride=2) produces gridding artifacts in the input image gradient. The reason is that transposed convolution is implemented as a literal call to the gradient function of standard convolution in TensorFlow and PyTorch. I learned this at some point studying the papers and code of the StyleGAN saga. (nvlabs.github.io/stylegan2/versions.html) I wish I could narrow it down more for you, if you're trying to cite this. I have a feeling I learned it from reading their code or one of their references. You'll notice in all the versions of their code, they go out of their way to implement downsampling as a blur -> convolution rather than just a plain strided convolution. StyleGAN3 is all about aliasing.
@coryfan5872
@coryfan5872 2 ай бұрын
Its probably because some pixels overlap the convolutional filter only once (the ones in the centers), some pixels overlap the convolutional filter 2 times (the ones on the sides but not the corners), and some pixels overlap the convolutional filter 4 times (the ones in the corners). I wonder if using ConvNext's 2x2 convolutional layers still results in this sort of gradient artifacts.
@azatahmedov4308
@azatahmedov4308 3 ай бұрын
Can you explain how will you pixel_unshuffle, if resolution is 4000x3000 (WxH) and downscale_factor is 16?
@yinwong667
@yinwong667 2 ай бұрын
But why is it necessary to do pixel shuffle? Why can't we just output a rH x rW x 3 matric directly?
@fqidz
@fqidz 8 ай бұрын
theres zero explanation about how this would work with real images
@djmips
@djmips 8 ай бұрын
It's not working on actual pixels. The 'depth' or input to the shuffle is the feature maps generated from the low res image and it's at this last stage that the image is upsampled. This is in contrast to older methods that would upsample the image straight away and then try and process that into the super resolution output which was both less efficient and potentially introduced the artifacts mentioned in the video. For more information see the paper referenced in the video. "Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network" by Shi et al.
@ucngominh3354
@ucngominh3354 8 ай бұрын
hi
@user-tp6fd7ky1q
@user-tp6fd7ky1q Ай бұрын
有点想到了亚像素插值
@krum3155
@krum3155 8 ай бұрын
jif
@grugiv
@grugiv 8 ай бұрын
yes
@muthukamalan.m6316
@muthukamalan.m6316 8 ай бұрын
super cool. waiting for Transformers and BN,LN
What is Sub-Pixel Animation?
4:32
Ansimuz
Рет қаралды 500 М.
터키아이스크림🇹🇷🍦Turkish ice cream #funny #shorts
00:26
Byungari 병아리언니
Рет қаралды 21 МЛН
OMG🤪 #tiktok #shorts #potapova_blog
00:50
Potapova_blog
Рет қаралды 13 МЛН
⬅️🤔➡️
00:31
Celine Dept
Рет қаралды 40 МЛН
Watermelon Cat?! 🙀 #cat #cute #kitten
00:56
Stocat
Рет қаралды 41 МЛН
Recreating Vintage Computer Art with Processing
16:44
Alexander Miller
Рет қаралды 346 М.
What are 1x1 Convolutions in Deep Learning?
7:43
Machine Learning Explained
Рет қаралды 1,7 М.
Stride - Convolution in Neural Networks
8:39
Animated AI
Рет қаралды 6 М.
Source of confusion! Neural Nets vs Image Processing Convolution
9:01
256 - Super resolution GAN (SRGAN) in keras
22:46
DigitalSreeni
Рет қаралды 24 М.
I Made a Neural Network with just Redstone!
17:23
mattbatwings
Рет қаралды 607 М.
Apple watch hidden camera
0:34
_vector_
Рет қаралды 65 МЛН
📦Он вам не медведь! Обзор FlyingBear S1
18:26