I'm an undergraduate student and I am currently trying to find suitable topic for my bachelor thesis. The broader topic I've selected is "Image processing on GPU", so basically I'll be developing image processing algorithms specifically for GPU.

The problem is, I need to do a novel approach, not reinvent a wheel. There's so much going on in image processing, lately on GPUs as well, that I'm having trouble finding a suitable area that hasn't been researched in this way and which isn't above my capabilities as an undergraduate.

The question is, can you point me in a direction what are current research areas in image processing that could benefit from GPU implementation? I'd love to do something for medical or astrophysical applications, but I'm open to other areas as well.


  • $\begingroup$ This is a very broad question. Please consider down-scoping it to something that might actually be answerable: what is your particular interest in GPUs? medical imaging? flight simulators (games)? Give us something to answer, not the open-ended question you're asking. $\endgroup$ – Peter K. Oct 21 '13 at 12:36

I've done a bit of GPGPU (for optical flow) during my PhD, so here are a few hints to help you:

  • choose a computation intensive task. You're very likely to find them in variational inverse problems (especially when expressed images instead of sparse feature sets). They are very common tasks: image deconvolution, compressed sensing, dense optical flow (and more broadly dense image registration...), dense 3D reconstruction, image segmentation... ;
  • from my point of view, non-local image denoising (using non-local means) is very easy to understand, and it's computation-intensive enough to have been included in NVidia's Cuda examples for quite a while. It really deserves a new, better GPU implementation (such as the GPU-based kd-trees proposed a few years ago). However, it may prove challenging for an undergrad;
  • a useful site to see what Image Processing tasks can be done on GPUs: the Austrian (T.U. Graz) lab GPU4Vision.
  • $\begingroup$ Nvidia and AMD also have their own research, it's work looking at sites like research.nvidia.com for inspiration. The chip designers also have a lot of whitepapers about techniques which can almost always use some improvements, the scope of which is quite suitable for undergraduate research imo $\endgroup$ – PAK-9 Oct 15 '13 at 14:42
  • $\begingroup$ When you say "choose a computation intensive task" I think it would be more accurate to say "choose a highly parallelisable problem". The parellisability of processing is where the best performance is yielded, and as you mentioned they are not uncommon in the signal/image processing world. $\endgroup$ – PAK-9 Oct 15 '13 at 14:43
  • $\begingroup$ The thing is, for some interesting research (even undergrad), taking a non-parallel solver and trying to make it parallel is a nice exercise. It forces you to re-think the algorithm. Plus, if you want the job to be rewarding, it's good to move from (say) hours of CPU to minutes. With modern CPUs and number of cores per PC, many problems involving sparse feature sets are non-interesting in this regard. $\endgroup$ – sansuiso Oct 15 '13 at 15:01
  • 1
    $\begingroup$ Parallelisation of existing solutions to problems, while interesting and rewarding, is not really anything to do with image processing - it is in the computer science/algorithmic domain. A good exercise perhaps but not really appropriate for a piece of image processing research imo. $\endgroup$ – PAK-9 Oct 15 '13 at 15:13

Not the answer you're looking for? Browse other questions tagged or ask your own question.