These appear to be the remains of a Roman bridge across the river Tay north of Perth next to the Roman fort at Bertha which was occupied in 75AD during Agricola’s invasion and then again in 142 AD when the Antonine Wall was built. The image above is the Roman bridge in Trier Germany which gives an idea of shape but the one across the Tay would have been constructed of wood. The line the bridge followed was fortified during WWII to stop invaders and some of the items in the water are probably from that period. There are a few examples of Roman bridges still being used today and the oldest in the world still in use is the Bridge of Fabricius in Rome which was built in 62 BC and is still used today!
The Historic Environment Canmore database has this logged as Bertha, Roman bridge and has the exact map location. Historical maps also have the bridge detailed. (ref Perthshire, Sheet LXXXV Survey date: 1864, Publication date: 1867)
The University of Reading video below is 30 minutes long and discusses the Roman approach to bridge-building in academic detail.
There is a published book which you can access for free by clicking the link Bridge over troubled water: The Roman finds from the River Tees at Piercebridge in context