A system for parsing an image into components, wherein the system comprises: a hierarchical interlinked multiscale convolutional neural network, HIM, for locating the components from the image, the HIM comprising: a level generator configured to receive the image and to generate N levels of image patches (412, 414, 416, 418) from the image, N>2, wherein the image patches (412, 414, 416, 418) for different levels n have different resolutions R(n) and the image patches (412, 414, 416, 418) for a level n are generated from the image resampled to resolution R(n) by performing convolution and nonlinear transformation on the image resampled to resolution R(n) (402, 404, 406); an interlinked combiner configured to receive the N levels of image patches (412, 414, 416, 418) from the level generator and to generate M levels of interlinked image patches (452, 454, 456, 458) from the N levels of image patches (412, 414, 416, 418), 2<M≤N, wherein the interlinked image patches (452, 454, 456, 458) for different levels m have different resolutions R(m) and the interlinked image patches (452, 454, 456, 458) for a level m are generated from an input group m of image patches (451, 453, 455, 457) by performing convolution and nonlinear transformation on the input group m of image patches comprising (i) image patches from level n with R(n)=R(m), and (ii) image patches, if any, from the level n with the next higher resolution than R(m), and the level n with the next lower resolution than R(m) where such image patches have been resampled to resolution R(m); and an aggregator configured to locate the components by combining the M levels of interlinked image patches (452, 454, 456, 458), wherein the aggregator is configured to receive the M levels of interlinked image patches (452, 454, 456, 458) and to generate L levels of output image patches (481, 483, 485), L<M, wherein the output image patches (482, 484, 486, 488) for different levels 1 have different resolutions R, each R corresponding to one of the R(m), and the output image patches (482, 484, 486, 488) for a level 1 are generated from an input group 1 of image patches comprising (i) interlinked image patches from level m with R(m)=R, and (ii) output image patches from one or more levels with resolution less than R where such output image patches have been resampled to resolution R, wherein the aggregator generates the output image patches (482, 484, 486, 488) for a level 1 by performing convolution and nonlinear transformation on the input group 1 of image patches (481, 483, 485). a level generator configured to receive the image and to generate N levels of image patches (412, 414, 416, 418) from the image, N>2, wherein the image patches (412, 414, 416, 418) for different levels n have different resolutions R(n) and the image patches (412, 414, 416, 418) for a level n are generated from the image resampled to resolution R(n) by performing convolution and nonlinear transformation on the image resampled to resolution R(n) (402, 404, 406); an interlinked combiner configured to receive the N levels of image patches (412, 414, 416, 418) from the level generator and to generate M levels of interlinked image patches (452, 454, 456, 458) from the N levels of image patches (412, 414, 416, 418), 2<M≤N, wherein the interlinked image patches (452, 454, 456, 458) for different levels m have different resolutions R(m) and the interlinked image patches (452, 454, 456, 458) for a level m are generated from an input group m of image patches (451, 453, 455, 457) by performing convolution and nonlinear transformation on the input group m of image patches comprising (i) image patches from level n with R(n)=R(m), and (ii) image patches, if any, from the level n with the next higher resolution than R(m), and the level n with the next lower resolution than R(m) where such image patches have been resampled to resolution R(m); and an aggregator configured to locate the components by combining the M levels of interlinked image patches (452, 454, 456, 458), wherein the aggregator is configured to receive the M levels of interlinked image patches (452, 454, 456, 458) and to generate L levels of output image patches (481, 483, 485), L<M, wherein the output image patches (482, 484, 486, 488) for different levels 1 have different resolutions R, each R corresponding to one of the R(m), and the output image patches (482, 484, 486, 488) for a level 1 are generated from an input group 1 of image patches comprising (i) interlinked image patches from level m with R(m)=R, and (ii) output image patches from one or more levels with resolution less than R where such output image patches have been resampled to resolution