PyImageSearch Gurus member spotlight: Tuomo Hiippala


Photo credit: Heta Koski / CSC

In today’s blog post, I interview PyImageSearch Gurus member, Tuomo Hiippala, who was recently awarded a 28000€ grant (approximately $30,500 USD) to research how computer vision can be used to study visual culture, including social media images and photo archives. We’ll discuss his very unique area of research, which blends linguistics with computer vision, and how his work is shaping modern day visual data analysis.

Tuomo has been a longtime reader of the PyImageSearch blog and was even one of the very first backers of the PyImageSearch Gurus Kickstarter campaign. It’s an honor to have him here today and it’s only fitting that he’s the first person I’ve interviewed on the blog. There is a lot of knowledge to be gained from this interview with Tuomo — especially how computer vision can be applied to real-world problems.

Ideally, I hope these types of spotlight and interview posts can be more frequent on the PyImageSearch blog in the future. While I try to post new tips, tricks, and tutorials every week, what’s really important is how you, the reader, take this knowledge and apply it to your own projects.

If the PyImageSearch blog, Practical Python and OpenCV, or the PyImageSearch Gurus course have helped you along your computer vision journey, please leave a comment on this blog post or send me message. Like I said, I would love to do more of these interview posts in the future!

PyImageSearch Gurus member spotlight: Tuomo Hiippala

Adrian: Hey Tuomo! Thanks for agreeing to do this interview. It’s great to have you on the PyImageSearch blog.

Tuomo: As a long-time reader: my pleasure!

Adrian: Let’s go ahead and kick off this interview. Where do you work/what is your job?

Tuomo: I currently work as a post-doctoral researcher at the Centre for Applied Language Studies, University of Jyväskylä, all the way up in Finland. As for my background, I got a PhD in English philology from the University of Helsinki, specializing in linguistics. I’m a special kind of linguist though, because my interests extend way beyond language.

Basically, I do research on how language interacts with other modes of communication, such as photographs, diagrams, infographics … you name it. Visiting a website or picking up the daily newspaper quickly makes one realize why it makes sense to examine all these different modes together. They are closely coordinated and interact with each other all the time – it’s an inherent feature of communication, but curiously enough, something that has only recently really caught on with researchers from different fields.

Adrian: How did you first become interested in computer vision?

Tuomo: I had to check my notebook for this: I wrote down something during the 2014 Frankfurt Book Fair in Germany … I remember vaguely checking out some of the exhibitioners at the trade fair, who advertised automatic document management solutions. That’s when the idea really hit me, although I was obviously already familiar with techniques such as Optical Character Recognition, which pretty much revolutionized linguistics back in the 1990s, removing the logjam of manual input. Anyhow, that’s when I decided to learn more about computer vision and get to know Python on the side.

Adrian: How do you use computer vision in your job?

Tuomo: I’ve got a few projects that I’m working on at the moment: the first one involves developing a semi-automatic document analysis system, which uses OpenCV, Tesseract and NLTK to examine document images and annotates their features into an XML database. Commercial OCR software is not really useful for this purpose, because it is mainly concerned with extracting the content. For studying how the different modes of communication work together, we need to know much more: the content, its placement in layout, logical organisation and semantic interrelations – and this just gives us a minimal view of a document and its inner workings. I hope to present my ongoing work at the Association for Computational Linguistics annual meeting in Berlin next summer!

Figure 1: Detecting text regions in images (outlined in green). Non-text regions are outlined in red.

Figure 1: Detecting text regions in images (outlined in green). Non-text regions are outlined in red.

I’m also looking into how computer vision could be used to enable the researchers to get a stronger grip on large volumes of visual data. Many different fields in the humanities and social sciences are concerned with visual communication – yet many researchers tend to do visual analysis by hand, which really does not allow them to seriously engage with the volumes of data typically found in historical photo archives or social media services such as Instagram. There is a huge potential in open source libraries such as OpenCV and other tools that make programming more accessible – IPython comes to mind as a good candidate for developing and sharing such tools. This is what I’d like to contribute to, focusing on the applications and leaving the development of algorithms to computer scientists. I nevertheless try to learn about the algorithms as well!

Adrian: You mentioned that you applied for a grant. Can you tell me more about that?

Tuomo: Sure! Finnish Cultural Foundation just awarded me a personal grant worth 28 000€ (approximately $35,000 USD) to do research on how computer vision can be used to study visual culture, such as social media images and photo archives. I also got a 3500€ grant from the City of Helsinki in 2015 to study the photographs shared by the tourists visiting Helsinki, that is, how they see the city, which is another long-term research interest of mine. I’m currently waiting for the beginning of the tourist season to start collecting data!

Note: Interested in learning more about Tuomo’s research? Be sure to give these two pages a read:

Adrian: How did the PyImageSearch/PyImageSearch Gurus help you in obtaining the grant?

Tuomo: What can I say? The blog and the course have benefitted my work immensely: it has opened up a whole new area of research for me. Although I’ve been learning computer vision for one and half years only, I’m already confident enough to apply the techniques in research. And this is obviously essential for acquiring any funding at all.

Adrian: Would you recommend the PyImageSearch Gurus course to other developers and students trying to learn computer vision?

Tuomo: Absolutely – I think the course is of extremely high quality and worth every cent – I think I was among the first five people to back it on Kickstarter! What I find particularly appealing is that the course materials are extremely well-written and presented in a way that allows one to learn Python at the same time. They go nicely hand-in-hand, as do the course and the surrounding community!

Adrian: Anything else you would like to share?

Tuomo: I would certainly recommend learning about computer vision (and machine learning) to anyone, regardless of their professional or academic interests. I think the variety of projects that have been showcased inside the PyImageSearch Gurus course nicely illustrates the wealth of applications that computer vision can and will have in the future. And the best part is, most of these techniques are really accessible to a layperson, thanks to Python and the wealth of quality tutorials. Just dive in, it will definitely pay off!

Adrian: If a PyImageSearch reader wants to chat, where is the best place to connect with you?

Tuomo: You can find me on Twitter (, LinkedIn ( and GitHub ( Feel free to get in touch!

PyImageSearch Gurus worked for Tuomo — what about you?

If you are interested in learning advanced computer vision techniques, such as:

  • Deep learning and Convolutional Neural Networks
  • Automatic License/Number Plate Recognition (ANPR)
  • Face recognition
  • Training a custom object detector
  • …and much more!

Then be sure to signup for the next open enrollment of the PyImageSearch Gurus course.

The doors to the course open every 2-4 weeks and seats inside the course are limited, so if you’re interested in joining, be sure to claim your spot now.

I’ll see you inside!


In today’s post, I interviewed Tuomo Hiippala, who works for the University of Jyväskylä. His research blends two unique areas of study: linguistics and computer vision, where his work focuses on enabling researchers to better understand large volumes of visual data.

Ideally, I would love to do more PyImageSearch reader interviews and spotlights in future blog posts. If the PyImageSearch blog, Practical Python and OpenCV, or the PyImageSearch Gurus course has helped you along your computer vision journey, please comment on this post or send me a message and let me know!


4 Responses to PyImageSearch Gurus member spotlight: Tuomo Hiippala

  1. arjun March 14, 2016 at 2:24 pm #

    Congrats Tuomo on your grant… very cool application you’re working on.

    I have an unrelated question that I’d appreciate your help on. Do either of you have guidance for how to port a python application that uses computer vision libraries like openCV to run on iOS?

    Do you use a bridge like PyObjC or Kiva, or just re-write in ObjectiveC or Swift? Thank you.

    • Adrian Rosebrock March 14, 2016 at 3:11 pm #

      It depends on your actual application. Whenever appropriate, I suggest wrapping your computer vision app as an API and then accessing it via your programming language of choice (and can afford to send the image over the network). However, this is only suitable for non-realtime applications. In the case where you need real-time performance, you should implement in Objective-C or Swift.

      If you’re interested in the former approach (using the computer vision API), take a look at PyImageSearch Gurus which has an entire module dedicated to using PhoneGap/Cordova to (i.e., JavaScript + HTML) to build a mobile computer vision application by calling a web API.

  2. Kent April 25, 2016 at 8:46 pm #

    This is amazing ! When will the Gurus open again ? XD

    • Adrian Rosebrock April 26, 2016 at 5:16 pm #

      Right now the PyImageSearch Gurus course is set to open every 2-4 weeks. This might change in the future though.

Before you leave a comment...

Hey, Adrian here, author of the PyImageSearch blog. I'd love to hear from you, but before you submit a comment, please follow these guidelines:

  1. If you have a question, read the comments first. You should also search this page (i.e., ctrl + f) for keywords related to your question. It's likely that I have already addressed your question in the comments.
  2. If you are copying and pasting code/terminal output, please don't. Reviewing another programmers’ code is a very time consuming and tedious task, and due to the volume of emails and contact requests I receive, I simply cannot do it.
  3. Be respectful of the space. I put a lot of my own personal time into creating these free weekly tutorials. On average, each tutorial takes me 15-20 hours to put together. I love offering these guides to you and I take pride in the content I create. Therefore, I will not approve comments that include large code blocks/terminal output as it destroys the formatting of the page. Kindly be respectful of this space.
  4. Be patient. I receive 200+ comments and emails per day. Due to spam, and my desire to personally answer as many questions as I can, I hand moderate all new comments (typically once per week). I try to answer as many questions as I can, but I'm only one person. Please don't be offended if I cannot get to your question
  5. Do you need priority support? Consider purchasing one of my books and courses. I place customer questions and emails in a separate, special priority queue and answer them first. If you are a customer of mine you will receive a guaranteed response from me. If there's any time left over, I focus on the community at large and attempt to answer as many of those questions as I possibly can.

Thank you for keeping these guidelines in mind before submitting your comment.

Leave a Reply