Quality assurance in tunnel construction
From photo to damage report: AI-assisted damage assessment in the tunnel segment yard
Precast plant for tunnel construction · AI integration into an existing SaaS product
Starting point
Tunnel segments are the precast concrete elements from which tunnel tubes are assembled. A precast plant produces hundreds of them every day and inspects each one for cracks or spalling before delivery. Findings were recorded across several catalogues on a handheld scanner: type of damage, location, extent. That was tedious, and different inspectors classified the same damage differently. As a result, the quality data accumulating every day was not reliable enough for analysis.
Solution
We added an AI assessment to the inspection. The inspector photographs the damage in the Angular app, and a multimodal model in Azure OpenAI, hosted in an EU region, describes the finding. In parallel, a vector search in PostgreSQL with pgvector returns similar cases that have already been confirmed. Through this retrieval-augmented generation (RAG), the model relies on the project's own data rather than general knowledge. The C# API receives a complete damage proposal in a fixed JSON schema with a confidence value, which the inspector confirms or corrects. Several catalogues become one decision about one proposal.
Analysis and guardrails
- Weekly analysis: An AI agent with tool calling queries the existing REST APIs every week and summarises patterns across formworks and concrete batches for quality management in a single sentence, for example “Formwork 14 shows edge damage in 9 of the last 40 pours”. Without consistent classification, such correlations could not be evaluated.
- Human decides: The AI only makes proposals. In every case a human makes the decision, and the product's workflow engine keeps control of the process.
- Data protection: Photos remain in the storage of the respective customer instance, and no customer data flows into model training.
- Measurability: Every proposal and every correction is logged. From this the hit rate is measured, and prompts and few-shot examples are refined against the actual corrections.
Result
Damage assessment follows one consistent proposal rather than the reading of whoever is on shift. Every correction becomes a confirmed case for the next search, so proposals improve with the data. The use case runs in production within an existing SaaS product.
Technologies
- Azure OpenAI
- RAG
- pgvector
- PostgreSQL
- .NET
- Angular
Source: published project account by Lekker Code. Metrics apply only to this case.