Ever wonder what a day in the life of a Trimble MAPS software engineer is like? We recently sat down with Jim Clark, a senior software engineer who has worked with Trimble MAPS for seven years, and Miles Carlsten, a senior software engineer who has been with the company for five years. In this two-part Q&A series, they tell us about what they do, what makes their work fun and interesting, how Trimble MAPS stays ahead of competitors — and how machine learning is already building better maps.
Q: Tell me what sets Trimble MAPS map data apart from consumer mapping software?
Jim: The main difference is that our software is built for the commercial trucking and shipping sector. We create software that helps trucks and commercial vehicle drivers stay safer with information on height and weight restrictions on the road, to name one example, which wouldn’t be found in consumer map software.
Miles: Another thing commercial drivers get from Trimble MAPS is information on sites, like large warehouse locations. We provide information on entry and exit locations at sites that other map software doesn’t cover, which helps shippers and carriers save time and money.
Q: You’re both currently working on machine learning projects to improve map data. What's something that makes working on this project fun and interesting?
Miles: For me, it’s fun because the tools are complex, so it’s like experimenting with a black box. There's always stuff in the input you don't expect, and it's fascinating to see how the machine handles it. Some of these processes are pretty complicated, and it's almost like the machine running the algorithms is its own entity that you’re trying to coax into getting the right results. It's very rewarding when there's output from something you did not expect that's clearly correct. For example, just looking at the output of the satellite imagery model is mesmerizing. There's also an endless supply of good problems to solve.
Jim: I agree — the output is amazing. Another thing that’s so cool about teaching a machine to improve maps is that the results are practical rather than theoretical. A lot of machine learning programs are theoretical, but this one produces results that can be implemented as improvements in maps. It’s directly and immediately applicable to a real-life problem.
Q: Tell me about some of the projects you’re working on and the challenges you face when you actually find, build, learn and understand information about the real physical world, and bring that into digital form?
Miles: One project we’re involved in now is teaching the machine learning algorithm to label roads. It sounds easy enough, but there’s more complexity than you’d expect. How do you define “road” for the machine? There’s a whole spectrum that exists in the physical world, from paved interstates to driveways or large unpaved fields used as parking lots, or construction sites that might look like a road but aren’t for our purposes and every other combination.
Adding to that complexity, we have to account for factors like trees blocking some or even all of the view of the road on a satellite photo. We came up with a couple of dozen or so rules to define what counts as a road and what doesn’t, then we spent a lot of time creating a system of rules for how to label roads in an image. After that, there’s the process of teaching the machine to reach the same conclusions about road classification, which we do by giving it thousands of consistent examples. It takes some trial and error. One of the surprising things is tasks you might have thought would be easy, turn out to be more complex.
Jim: The data from satellite imagery can be a limiting factor in solving a lot of these problems, but we are in a good position because we also have a lot of sources available to us outside of satellite imagery, like our GPS data from customer devices and existing road network data.
Miles: To drive the results we want from the project, we’re teaching the GIS (geographic information system) team how to label images, and they create the training data for our machine learning model. The model processes images and takes new ones to generate labels that match the images it was trained on.
The training data the machine takes in helps it learn by fine-tuning different parameters as it evaluates an image. Once it’s trained, it will be able to evaluate an unlabeled image — that’s the problem to solve — and provide a solution, which is an accurate label. The ultimate goal is a machine learning model that works well so we can apply its output to other projects.
So, that’s what a day in the life of a Trimble MAPS software engineer is like — they’re busy building tools today that will help carriers and shippers operate more efficiently and safely tomorrow. In part two, we’ll further discuss how machine learning is impacting the future of map automation. Stay tuned!