Como aplicar o iOS VNImageHomographicAlignmentObservation warpTransform?

Estou testando a API de alinhamento de visão da Apple e tenho dúvidas sobre o VNHomographicImageRegistrationRequest. Alguém conseguiu fazer funcionar? Consigo extrair o warpTransform, mas ainda não vi uma matriz que faça sentido, ou seja, não consigo obter um resultado que distorça a imagem de volta à imagem de origem. Estou usando o Opencv warpPerspective para lidar com a distorção.

Estou ligando para obter a transformação:

class func homography(_ cgImage0 : CGImage!, _ cgImage1 : CGImage!, _ orientation : CGImagePropertyOrientation, completion:(matrix_float3x3?)-> ())
{
let registrationSequenceReqHandler = VNSequenceRequestHandler()
let requestHomography = VNHomographicImageRegistrationRequest(targetedCGImage: cgImage1, orientation: orientation)
let requestTranslation = VNTranslationalImageRegistrationRequest(targetedCGImage: cgImage1, orientation: orientation)

do
{
    try registrationSequenceReqHandler.perform([requestHomography, requestTranslation], on: cgImage0)  //reference

    if let resultH = requestHomography.results?.first as? VNImageHomographicAlignmentObservation
    {
        completion(resultH.warpTransform)
    }

    if let resultT = requestTranslation.results?.first as? VNImageTranslationAlignmentObservation
    {
        print ("translation : \(resultT.alignmentTransform.tx) : \(resultT.alignmentTransform.ty)")
    }
}
catch
{
    completion(nil)
    print("bad")
}

}

Isso funciona e gera uma matriz de homografia, mas seus resultados são drasticamente diferentes dos que recebo quando faço SIFT + Opencv findHomography https: //docs.opencv.org/3.0-beta/doc/tutorials/features2d/feature_homography/feature_homography.htm)

Independentemente dos meus pares de imagens, não consigo obter resultados homográficos razoáveis do conjunto de dados da Apple Visio

Desde já, obrigado

questionAnswers(1)

yourAnswerToTheQuestion