Hi Sjoerd, I've only shown one of the targets. There are seven targets that were scanned and used to create the distribution.
files = FileNames[
"C:\\Users\\Diego\\Documents\\Documents\\Shooting\\10 yds\\scan*.jpg"];
imgs = Import[#] & /@ files;
Export["pics.png", Rasterize[Multicolumn[imgs, 4], 600]]

173 shots in total are used for the calculation of the distribution. Let's overlap all the shots on top of the first image.
s = Flatten[shots[#, kern] & /@ imgs, 1];
Length@s
(*173*)
centers = findCenter[#, kern] & /@ imgs;
Show[imgs[[1]], Graphics[{Yellow, EdgeForm[Blue],
Disk[100 # + centers[[1]], 10] & /@ s}]];
Export["160513.png", Show[imgs[[1]], Graphics[{Yellow, EdgeForm[Blue],
Disk[100 # + centers[[1]], 10] & /@ s}], ImageSize -> 400]]

We can overlay the 173 shots against the contourplot. The contourplot now makes more sense.
Show[ContourPlot[PDF[kde, {x, y}], {x, -5, 5}, {y, -5, 5}],
Graphics[{Dashed, Line[{{0, -5}, {0, 5}}], Line[{{-5, 0}, {5, 0}}],
Circle[{0, 0}, #] & /@ {1, 2, 3}, Red, PointSize[0.03],
Point@Mean@kde, Black, PointSize[0.01], Point[results]}],
ImageSize -> Large, PlotTheme -> "Detailed"]
