I'm developing an undergraduate thesis project involving an image classifier that identifies potentially uninhabitable houses based on visible features such as damaged or missing roofs, major wall cracks, deteriorated materials, or partial structural collapse. The planned output is a dot-density map showing houses classified by condition within a selected area.
I'm considering two possible workflows. The first would have the program automatically explore imagery from a street-level mapping provider and analyze houses as it encounters them. The second would involve collecting the coordinates of available street-level images, downloading imagery for those locations, and then running the classifier on the resulting images.
Are either of these approaches practical? Which imagery providers offer suitable access and licensing for this kind of research? How can I obtain the locations where street-level images were captured, and how should a program choose the camera direction when using 360-degree imagery? Since the camera coordinates represent the vehicle rather than the house, what is the usual way to estimate and record each building's actual location?
I'm also concerned about creating a useful training dataset. I'm planning to base the labels on my local government's housing criteria, focusing only on conditions that can be identified from exterior imagery. Any advice about overlooked challenges, data collection, or narrowing the scope would be very helpful.
3 Answers
The general workflow in the second approach is reasonable: obtain imagery metadata or sample points, request images for those points, and run detection on them. You usually don’t move a virtual camera continuously; instead, you request several headings or use the panorama’s available directions. A vehicle position can be converted into an approximate building position by combining the camera location, viewing direction, and estimated distance, or by intersecting the viewing ray with building footprints from a separate map dataset. Keep in mind that one panorama may show multiple buildings and that imagery dates can differ, so nearby properties may not be observed under comparable conditions. Date, season, lighting, camera angle, and image quality should be included in your analysis or used to filter the data.
For an undergraduate proof of concept, consider framing the model as a ranking tool rather than a definitive judgment. It could classify buildings as “more likely damaged” or “less likely damaged,” allowing a human reviewer to inspect the high-risk results. The model might learn visual cues such as broken lines, irregular surfaces, missing roof sections, and inconsistent wall areas, but it will also be fooled by renovations, decorations, vegetation, shadows, and unusual architecture. A human verification step would make the project much more realistic.
The imagery-access problem is probably easier than the classification problem. Providers may offer APIs or downloadable imagery, but you’ll need to check their licensing, usage limits, coverage, and whether automated analysis is allowed. The harder part is defining “uninhabitable” consistently and collecting enough accurately labeled examples. A government definition is a good starting point, but you’ll need to reduce it to features that are genuinely visible from the street, such as major roof loss, obvious collapse, severe leaning, or large structural cracks.

That makes sense. I’m trying to obtain labeled photos from my local government and may have to build a dataset myself. I’m narrowing the categories to moderate damage, such as major cracks or roof deterioration, and severe damage, such as partial collapse or leaning walls.