A standard approach to generating a greyscale equivalent to an input colour image involves calculating the so-called structure tensor at each image pixel. Defining contrast as associated with the maximum-change direction of this matrix, the grey gradient is identified with the first eigenvector direction, with gradient strength given by the square root of its eigenvalue. However, aside from the inherent complexity of such an approach, each pixel's gradient still possesses a sign ambiguity, since an eigenvector is given only up to a sign. This is ostensibly resolved by looking at how one of the R,G,B colour channels behaves, or how the the luminance changes. Instead, we would like to circumvent the sign problem in the first place, and also avoid calculating the costly eigenvector decomposition. So here we suggest replacing the eigenvector approach by generating a greyscale gradient equal to the maximum gradient amongst the R,G,B gradients, in each of x, y. But in order not to neglect the tensor approach, we consider the relationship between the complex and the simple approaches. We also note that, at each pixel, we have both forward-facing and backward-facing derivatives, which are different, and we consider a tensor formed from both. Then, over a standard training set, we ask for an optimum set of weights for all the maximum gradients such that the simple maxima scheme generates a greyscale structure tensor to best match the original, colour, one. We find that a simple scheme that facilitates fast solutions is best. Greyscale results are shown to be excellent, and the algorithm is very fast.
Ali Alsam, Mark S. Drew, "Fast Colour2Grey" in Proc. IS&T 16th Color and Imaging Conf., 2008, pp 342 - 346, https://doi.org/10.2352/CIC.2008.16.1.art00065