Interview with Samyak Datta, Author of Learning OpenCV
Hello everyone! Welcome again to another Best Programming Books’ featured post. Our featured author, Samyak Datta is the author of Learning OpenCV, our featured book. Learning OpenCV is a great book for newbies who want to learn OpenCV/Application Development. This book can also be used by professionals who want to add some more knowledge on their field.
Let’s not make this long. Samyak has all the information written on his interview and we are sure all of you will enjoy reading this very informative interview.
GET TO KNOW THE AUTHOR
Name: Samyak Datta
Background: I have a Bachelor’s and Master’s degree in CS from IIT Roorkee, India. Currently, I am working as a Research Assistant at the Center for Visual Information Technology (CVIT) at IIIT Hyderabad. I will be joining the CS Ph.D. program at Georgia Tech soon where I will be working on problems which are at the intersection of Deep Learning and Computer Vision.
Favorite gadget: I have some really fond memories of my iPod. Back in high school, my iPod used to be a primary source of entertainment for me and it is around that time, I discovered my love for classic rock (which I enjoy till today)! We recently got hold of a Google Home, I think that’s pretty neat as well.
Hobbies: I love to read! As a kid, I remember waiting in eager anticipation for vacations so that I could devour books! I am a big fan of fantasy fiction. In recent times, I have found, growing within myself, an increasing fascination towards philosophy. I am currently in the midst of Dostoyevsky’s gripping plot of Brother’s Karamazov. My proclivity towards writing (both technical and prose), is something that arose as a natural consequence of my reading habits. I also learnt to play the keyboard for about 6 years and have performed at a few concerts.
What is your book about, and why should our readers read it?
My book is on OpenCV, which is a very popular, open source library for image processing and computer vision applications. You can use OpenCV with popular programming languages such as C, C++, Python, and Java.
Computer Vision, which is the art of teaching computers to “see” i.e. analyze the content of images/videos, is hot these days! From self-driving cars to apps that can recognize photos of items that you click using your smartphone’s camera — there are a lot of cool things happening all around us that run on sophisticated Vision based systems. Tech giants are predicting that very soon, a significant chunk of the content on the internet would be visual in nature — we are poised to enter the age of “multimedia big data”. I was reading an article on Data Science weekly which captured this sentiment quite beautifully — “The skill to manipulate/analyze and visualize data is a superpower today, but it will be a necessity tomorrow”. During such exciting times, where does a complete beginner start?
“Learning OpenCV 3 Application Development” is designed to serve as a gentle introduction into the world of Image Processing, Computer Vision and Machine Learning using the popular combo of OpenCV and C++. The best part about the book is that it doesn’t assume any prior Vision/Machine Learning knowledge. If you have a basic, working knowledge of C++ and a proclivity to explore, you are good to go! This makes it ideal for students, professionals or inter-disciplinary researchers who want to enter into the exciting world of “Visual Learning” and need a good place to build their foundations. The ~300 page journey starts from understanding images as a grid of pixel values, color spaces and channels and ends with the reader having implemented some fairly sophisticated visual analysis projects such as predicting the gender of a person from his/her face. To know more about what to expect and a chapter-wise gist of the contents, you can visit the following post — https://samyak-268.github.io/blog/2016/08/learning-opencv3-book
What, in your opinion, is the current most exciting technological advancement and why?
As a researcher in Computer Vision, I would say Deep Learning! It has shown remarkable promise lately in advancing the state-of-the art in a wide range of problems.
What inspired you to write your book/s?
Throughout the course of my academic career, I have come to realize that teaching/exposition is the best way to comprehend complex concepts. Making an audience understand, and improving my own perspective of the topic in the process has been an inspiring factor for my writing in general.
Coming to the book, I don’t think there was a single event that triggered an inspiration for Learning OpenCV 3 Application Development. I got an email from Packt Publishers one day wherein they enquired about my interest in being the author for a book on OpenCV/C++. Since this was something which was at the intersection of two of my passions — Computer Vision and writing, I was more than happy to accept. Also, writing a full-fledged book was something way out of my comfort zone at the time. I had prior experience in writing blog posts and the closest that I had been to the scale of a full book was my Master’s thesis (which is less than one-third the size of my book). So, I drew a certain amount of inspiration from that challenge associated with the project.
If there’s one chapter in your book people should have read, which one should it be, and why?
As an author, I hope that people read all the chapters :-). If I have to pick one, I would say the very first. There are several reasons for this. Each chapter of my book builds upon the previous ones and every chapter is a prerequisite for the next. So, the 1st chapter lays the groundwork for the journey throughout the rest of the book.
The other reason being that I spent the maximum amount of time with Chapter 1. I was aware of the importance of the first chapter being well-written (first impressions!). While I was drafting Chapter 1, I was still new to the process of writing which meant that I had to spend considerable time in re-doing a lot of the portions which I felt were not up to the mark. Watching the first chapter take shape and beholding it in its final avatar gave me the maximum creative satisfaction.
As an author, which book made the most impact on you?
In fiction, I would say Kite Runner by Khaled Hosseini and God of Small Things by Arundhati Roy. Nothing moved me like Kite Runner’s final chapter and I loved Roy’s literary genius in the way she warps language warps to convey meaning.
Coming to non-fiction, one book that I thoroughly enjoyed reading was Head First Java by O’Reilly Media (you can pick any book from the Head First series for that matter). My only regret was that I read it within a weekend because I was chasing deadlines — it was an absolute delight! It was the first book that made me realize that technical writing can also be made non-stressful and fun to read. Recently, I have also come across several researchers (e.g. Chris Olah, Andrej Karpathy) who write blog posts which make state-of-the-art research accessible to beginners and laymen — this is something which I find incredibly inspiring.
If there’s one subject you’d like to see a book about, what would it be?
In today’s date, I don’t think I could name any topic which isn’t already the subject of a book! Nevertheless, with the prevalent ubiquity and popularity of AI, I would love to see more books being written about tangential, non-technical topics such as ethics in AI or how social/cultural factors and biases permeate into the algorithms and systems that we build. For example, there were studies done recently that uncovered the impact of racial bias in face recognition algorithms. As AI starts to become a more intimate part of our lives, I feel that such issues will need to be addressed.
What would you like to ask the next author being interviewed?
How often did you encounter writer’s block and what is your go-to strategy for dealing with it?
BONUS QUESTION FROM YVES HILPISCH: What parts of the process do they like and hate most (idea, drafting, re-writing, editing, etc.)? How do they motivate themselves for those parts they hate (if any).
This is an excellent question! I liked the formative stages of ideation and charting the book outline the most. There is a sense of ownership and complete freedom to mold the book into whatever shape that you feel would be best for your readers. My general state-of-mind was quite motivated in the sense that this stage inspired me to start writing right away!
Hate is a strong word, I would say there were some parts in the process which were not as exciting as the rest. Proofreading the final drafts is one such activity. Because by the time we reach that stage, we are saturated after already having gone over the content umpteen number of times.
The motivating factor, in times of stagnation, for me was a sight of the end goal and the big picture. And deadlines, there is nothing as motivating as deadlines!
Samyak Datta is a very cool author. As what we always say, we know authors are busy with their job, not just with something or anything… but for us to be given a time and most of all, to be entertained by them is a great honor. To Mr. Samyak Datta, thank you very much, sir, for the opportunity you gave us, for the time you dedicated answering our questions, and for the kindness you showed us. Thank you very, very much!
To our readers, thank you too, from the bottom of our hearts. Please continue supporting us and please share all of our articles with your friends.