I have a master’s in robotics (with courses in ML, CV, DL, and Mathematics) and recently became very interested in 3D Computer Vision, so I started exploring some projects. I came across deepSDF. My goal is to implement it in C++, use CUDA & SIMD, and test it with a real camera for online SDF building.
I’m also considering implementing 3D Gaussian Splatting.
However, my friend suggests it’s not worth the effort since anyone can implement those papers, and I should focus on writing my own papers instead. Is he right? Am I wasting my time?
If you’re not a researcher, why worry about writing your own research? Start by building experience through implementing papers, and original ideas will naturally follow, along with the skills to execute them. If you are a researcher, it’s still a good starting point, but it depends on your end goals. It’s not a case of being universally worthwhile or not.
As a deep learning researcher, we spend about 60-80% of our time implementing research from other papers, with the primary changes being the dataset and the downstream task. In ML research, most papers involve applying Method A to Dataset B and reporting Result C.
Reproducing a paper provides valuable insights into the paper and the reasoning behind it. Often, you’ll uncover details that were omitted or not clearly explained until you encounter them during the reproduction process.
In many cases, reproducing a paper can be more technically challenging than creating your own. You need to understand and replicate the specific choices made by the original authors rather than just experimenting with a random idea that might work. Additionally, you often discover bugs in the paper’s implementation if one is provided.
Your friend has a valid point, but it depends on your goals. Implementing papers like DeepSDF and 3D Gaussian Splatting is valuable for learning and gaining practical experience, and it enhances your skills in C++ and CUDA.
However, if your aim is to stand out or make a significant impact, focusing on writing your own papers with novel ideas or improvements might be more rewarding. Balancing both implementation and original research can be beneficial for your career.
I’m also working on implementing papers using CUDA, but I’m relatively new to it. Do you have any resources or suggestions to help me build more confidence in using CUDA?