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.