Оптимизированное изменение размера изображения для Resnet18 в CNTK - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь предсказать классы изображений, используя Resnet18, обученный на Imagenet в CNTK (C #). Для этого мне нужно изменить размеры входных изображений, чтобы они соответствовали требованиям ввода CNN. Мой текущий сценарий:

public static Bitmap CustomResize(Bitmap image, int width, int height, bool useHighQuality)
    {
        var newImg = new Bitmap(width, height);

        newImg.SetResolution(image.HorizontalResolution, image.VerticalResolution);

        using (var g = Graphics.FromImage(newImg))
        {
            g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceCopy;
            if (useHighQuality)
            {
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
                g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
            }
            else
            {
                g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.Default;
                g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.Default;
                g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.Default;
                g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Default;
            }

            var attributes = new ImageAttributes();
            attributes.SetWrapMode(System.Drawing.Drawing2D.WrapMode.TileFlipXY);
            g.DrawImage(image, new System.Drawing.Rectangle(0, 0, width, height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, attributes);
        }

        return newImg;
    }

Но это не оптимизированная рутина. В Python эта задача тривиальна. Но я не могу найти одинаково оптимизированную версию для C #. При условии, что это общая проблема, я ожидаю, что многие из вас уже решили ее раньше.

...