Мне не известны стандартные метрики для этого, но у меня есть указатель, который, я надеюсь, будет полезен.
В проекте Batik используется набор инструментов для проверки того, что рендеринг SVG-документов не слишком отличается от набора эталонных изображений. Насколько я понимаю, он по существу растеризует SVG и выполняет разность двух изображений на основе пикселей, чтобы увидеть, как они отличаются. Он должен быть достаточно умным, чтобы игнорировать неизбежные различия, которые могут возникнуть, например, из-за тонких различий в сглаживании.
Подробнее об этом можно прочитать (особенно раздел SVGRenderingAccuracyTest) по адресу: http://jpfop.sourceforge.net/jaxml-batik/html-docs/test.html.
Это, конечно, означает, что вы будете делать растровые сравнения, а не векторные сравнения. Сравнение векторов в вашем случае будет чертовски трудным, потому что совершенно разные кривые могут производить очень похожий рендеринг, что, я полагаю, хорошо. Более того, входные данные могут иметь форму, которая скрыта за другим, что делает невозможным для выходных данных угадать, что это такое. Таким образом, выходные данные будут отображаться как совершенно неправильные, даже если они могут произвести эквивалентную визуализацию с точностью до пикселя.
Однако, если вы хотите выполнить сравнение векторов (возможно, ваши данные ограничены таким образом, что это делает его более жизнеспособным), проще всего будет сначала нормализовать оба SVG (преобразовать все фигуры в пути, удалить все метаданные, применить наследование все свойства и нормализуйте их значения, нормализуйте данные пути, чтобы всегда использовать одну и ту же форму и т. д.), и используйте это для двух целей: во-первых, для просмотра различий в нормализованной древовидной структуре. Это уже должно дать вам некоторую полезную информацию. Во-вторых, если вы чувствуете себя смелым, измерьте поверхность разницы между отдельными кривыми. Я бы дважды подумал о том, чтобы приступить к последнему, потому что это может дать вам много ложных негативов.