I'm coming from an electrical engineering / telecommunications background; I studied extensively in hardware-related areas and took lots of courses in wireless communications and signal processing. Although I took several classes in signal processing, some image processing courses, and some classes in mathematics (e.g. calculus, linear algebra, probability) during my bachelor's and master's studies, I lack the typical computer science background where one is exposed to courses like data structures, algorithms, and specialized software engineering courses. I also never took a formal computer vision course at the university.

I recently developed a passion for computer vision, and I'm convinced that it is the right path where I would like to develop myself, publish, and obtain a PhD degree. I'm planning on building an academic career around computer vision. However, when I look at and go through the papers from top-tier academic computer vision conferences such as CVPR, ECCV and ICCV, I realized that although I can follow most of the arguments and math in the papers, I certainly need some fundamental academic knowledge on computer vision if I want to produce such publications myself. Based on my technical abilities, I don't think that creating the necessary (research) software would be the main problem but rather, coming up with the algorithms and making effective use of the building blocks of computer vision would be very challenging for me. Especially, some necessary techniques from machine learning and optimization are not very familiar to me. Moreover, although I have some up-to-date knowledge about the recent methods such as deep learning with convolutional neural networks, I do not really know the working details of the older, classic algorithms (e.g. SIFT, SURF, HOG) that could have many applications under different branches of vision.

Considering my background, how would you recommend me to proceed on my way to doing research on computer vision? More concretely, should I first go through a full computer vision course online (unfortunately, since I'm not at a university, I can't go on and attend to a real lecture), or should I first try to fill the wholes in my more fundamental knowledge such as machine learning, optimization, and matrix computations/linear algebra? Another (more practical) possibility would be to go through an OpenCV book such as this one, and develop an all-around working knowledge more quickly. I'm more apprehensive about this approach since I'm afraid it would not give me the more solid theoretical knowledge that I need to be able to come up with creative solutions to computer vision problems. How do you think one should approach to the balance between practical and theoretical knowledge from a beginner's point of view?

My second question is: How can I find an interesting problem in a certain subfield of computer vision, which I could take on as a PhD topic? I have already figured out that I'm more interested in the semantic understanding of images/videos rather than geometrical or 3D scene modelling. For example, I like problems such as multiple person tracking and pedestrian detection. However, I'm having a hard time coming up with a concrete research problem that I will devote my attention to and bring together in the end as a coherent PhD thesis. This confusion is mostly caused by the lack of a supervision from an experienced researcher, since I don't yet have an official supervisor/professor who would give me a research topic. I know that is unusual, and makes one question whether obtaining a PhD is feasible at all in my current research environment, but that is just how the things are. Unfortunately, in my situation, it is hard to approach a professor without any concrete research proposal and even some initial results in hand.

Thank you for your time and kind interest, and I apologize for any possibly vague parts in my question. I would be happy to clarify and elaborate.

  • 1
    I can recommend the Coursera machine learning online course by Andrew Ng - he's excellent. May 5, 2017 at 18:09
  • I went from a maths background and have a research topic based in computer vision. When I started my PhD, I built up my knowledge on linear algebra, classical vision techniques (e.g. Chris Bishop's pattern recognition and machine learning) and trying out loads of the existing techniques in Matlab/OpenCV. In my case I found it better to have a more general knowledge and then found my niche as I developed. Don't know if that's any help, but that's my experience! May 5, 2017 at 18:13
  • Thanks, I agree that understanding the fundamentals deeply is very important for serious research. The most important question here, in my opinion, is how deep one really has to go in a certain fundamental field (e.g. optimization or linear algebra) given limited amount of time to do research on the actual topic of interest (in my case, computer vision).
    – qwerty542
    May 7, 2017 at 15:25
  • Machine Learning is also a focus of research in electrical engineering departments and math departments. They tend to publish in different places (e.g. IEEE journals). To do novel research you will need to study it at the graduate level first anyway, so you aren't particularly behind those who took undergraduate versions of these topics. Aug 27, 2019 at 13:37

1 Answer 1


Firstly, I would definitely recommend taking an online course (a commenter mentioned one from Coursera, and EdX also has some good ones as well) associated with a reputable university. Taking some kind of structured course designed to build a fundamental understanding of the topics and math involved is a great way to jump in and get started.

Once you do that, you'll know where the biggest gaps in your preexisting knowledge are, and you can address those with books/resources covering the theory and math involved, and other resources involving the practical application of what you want to do.

Since you mentioned in interest in pedestrian tracking, a topical and interesting thesis question could concern pedestrian tracking by an autonomous car, and an algorithm for reading "clues" from pedestrian motion to detect what they are likely to do next so that the car can make a choice about whether to slow, stop, or keep going and monitoring the situation. (Just an idea, but there's tons of practical applications for being able to track things).

Once you gather some fundamental information, and know what direction you want to go in, you would probably be in a position to start talking to some professors. If you can demonstrate that you understand the concepts involved, that you have an idea about what you want to research, and that you're serious about doing what it takes to be successful, most professors would be willing to listen and advise you from that point forward. The idea you bring to the table at this point does not have to be your final research idea, but bringing something realistic that you're interested in allows you to both show that you're serious about the research, and also to have a starting point for coming up with a final research plan with input from an experienced researcher.

  • Thanks for the great advice. I will look for a good online course. I agree that many professors would be interested in advising someone who seems to know what he/she is doing and is serious about their research area, so it seems like a good point that I should be able to demonstrate that I understand the fundamental concepts of computer vision.
    – qwerty542
    May 7, 2017 at 15:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .