I fixed the skeleton, it's now visible, but there is considerable lag and jerkiness in the movement.
captureConnection?.videoOrientation = .portrait
...
let requestHandler = VNImageRequestHandler(cmSampleBuffer: sampleBuffer, orientation: .down)
...
var recognizedPoints = recFacePoints.merging(recTorsoPoints) { (current, _) in current }
recognizedPoints = recognizedPoints.merging(recLeftArmPoints) { (current, _) in current }
recognizedPoints = recognizedPoints.merging(recRightArmPoints) { (current, _) in current }
recognizedPoints = recognizedPoints.merging(recLeftLegPoints) { (current, _) in current }
recognizedPoints = recognizedPoints.merging(recRightLegPoints) { (current, _) in current }
were the changes I made
Post
Replies
Boosts
Views
Activity
Are there any ways to reduce this jerkiness and improve performance? Thanks in advance.
I think I may have discovered the issue.. feel free to correct me if I’m wrong. I think this is because I don’t have a paid Apple Music Account.
Is there any way to still access the API?
I figured it out! The body needs to be further away from the camera: tracking performs very well for distances greater than 5m apart, even in horizontal movements or obscured joint positions.
I had the same question, but for one specific part I didn't know how to build. There's a line in the demo code like this:
	/// Extracts poses from a frame.
func processFrame(_ samplebuffer: CMSampleBuffer) throws -> [MLMultiArray] {
// Perform Vision body pose request
let framePoses = extractPoses(from: samplebuffer) <---- this
		....
I tried to perform the Vision body pose request as follows:
func extractPoses(from sampleBuffer: CMSampleBuffer) -> [MLMultiArray] {
let requestHandler = VNImageRequestHandler(cmSampleBuffer: sampleBuffer, orientation: .down)
let request = VNDetectHumanBodyPoseRequest(completionHandler: bodyPoseHandler)
do {
// Perform the body pose-detection request.
try requestHandler.perform([request])
} catch {
print("Unable to perform the request: \(error).")
}
}
How can I return a VNRecognizedPointsObservation given the request is asynchronous? I could use VNDetectHumanBodyPoseRequest() without the completionHandler but then this doesn't guarantee the result will always be available..
Hope you can help me out!
I also wonder how the animated skeleton in the WWDC video is so smooth and accurate - I tried to use the same code as described here: https://developer.apple.com/forums/thread/651683, but the jitter is noticeable and there is lag too. Thanks for the help!
Same issue here on Xcode 12 beta 4 running iOS 14 beta 4 on a device.
I would try disabling main thread checker, view debugger support and backtrace recording in Edit Scheme. May not fix it, but worth a try.
Same issue here! Barely able to use Xcode at the moment due to this issue.
Disable Sherlock.app. :)
I am having a similar issue, I don't know if Catalina is supported for Mac Catalyst 14.0+
Nope still doesn't work in the Simulator for me and I'm using Xcode 12.4.