Как обернуть 3d-объект вокруг обнаруженного объекта при отслеживании в реальном времени - PullRequest
3 голосов
/ 19 июня 2019

Я создал модель ML для стопы как VNRecognizedObjectObservation. Теперь я успешно могу обнаружить ногу в режиме реального времени проблема в том, что я не могу обернуть или поместить трехмерный объект пешком, так как мне нужно 3 координаты для размещения содержимого AR.

Я использовал приведенный ниже код, чтобы получить ограничивающую рамку после того, как моя нога обнаружена рамками зрения

func drawVisionRequestResults(_ results: [Any]) {
        CATransaction.begin()
        CATransaction.setValue(kCFBooleanTrue, forKey: kCATransactionDisableActions)
        detectionOverlay.sublayers = nil // remove all the old recognized objects

        let obs = results.first
        let final = obs

        for observation in results where observation is VNRecognizedObjectObservation {
            guard let objectObservation = observation as? VNRecognizedObjectObservation else {
                continue
            }
            // Select only the label with the highest confidence.
            let topLabelObservation = objectObservation.labels[0]
            let objectBounds = VNImageRectForNormalizedRect(objectObservation.boundingBox, Int(bufferSize.width), Int(bufferSize.height))

            let shapeLayer = self.createRoundedRectLayerWithBounds(objectBounds)

            let textLayer = self.createTextSubLayerInBounds(objectBounds,
                                                            identifier: topLabelObservation.identifier,
                                                            confidence: topLabelObservation.confidence)
            shapeLayer.addSublayer(textLayer)
            detectionOverlay.addSublayer(shapeLayer)
            //   addModel(objectBounds)
            translateCoordinate(objectBounds)
        }
        self.updateLayerGeometry()
        CATransaction.commit()
    }

но я получаю только 2d координаты в переменной objectBounds в терминах x, y высоты и ширины ... Мне нужно знать 3D-координаты в пространстве ARScene, чтобы разместить мой 3D-объект ... также проверка нажатия не возвращает координаты, когда я ввожу те же x и y я думаю, что есть некоторая связь в мировых координатах Arkit и нормальных мировых телефонных координатах

спасибо заранее

...