Из исходных данных - панорамные фотографии, снятые через небольшие (секунды) промежутки времени с координатами в exif
Координаты чего? Самой камеры? При том, что камера постоянно накодится в одной точке и эти координаты на всех фотографиях одинаковые?
отсюда по азимутам между этих объектов на разных фото и координатам соседних фотографий вычислять направление севера
Откуда возьмёте азимуты, если компаса нет?
Панорама круговая (на 360 градусов)? Если да, то вы только сможете вычислить, сколько пикселей составляют какой угол, а на основе этого вычислить углы между объектами (но не азимуты объектов). И всё равно линейные расстояния будут неизвестны. Если панорама меньше, чем на 360 градусов, то даже для вычисления углов между объектами не будет данных.
В любом случае потребуется как минимум одно калибровочное фото, для которого будет известно: 1) точный азимут на объект, 2) точное расстояние от камеры до объекта, 3) точные размеры объекта (высота или ширина). Тогда уже можно вычислять. Без этого исходных данных просто нет.
И это ещё при отсутствии дисторсии у оптики камеры. А при наличии дисторсии потребуются точные данные о нескольких объектах в калибровочном кадре, чтобы можно было вычислить и в дальнейшем как-то учитывать дисторсию.