Когда я пытаюсь запустить приложение с помощью Vision Pro, я получаю следующую ошибку:
ar_image_tracking_provider_t <0x303d45340>: Failed to set up image tracking with error: No images were supplied.
я добавил изображения в «Ресурсы» в папке «ref». так что обычно это должно работать
это моя функция
import Foundation
import RealityKit
import ARKit
import RealityKitContent
var arkitSession = ARKitSession()
@MainActor class ARKitViewModel: ObservableObject{
private let session = ARKitSession()
private let imageTracking = ImageTrackingProvider(referenceImages: ReferenceImage.loadReferenceImages(inGroupNamed: "ref"))
var entityMap : [UUID: ModelEntity] = [:]
func runSession() async {
Task {
do {
try await arkitSession.run([imageTracking])
} catch {
print("Error: \(error)")
}
}
}
var material = SimpleMaterial()
var rootEntity = Entity()
func updateImage(_ anchor: ImageAnchor) {
if entityMap[anchor.id] == nil {
let entity = ModelEntity(mesh: .generateSphere(radius: 0.05))
entityMap[anchor.id] = entity
rootEntity.addChild(entity)
entity.transform = Transform(matrix: anchor.originFromAnchorTransform)
}
}
func processUpdates() async {
for await _ in imageTracking.anchorUpdates{
print("test")
}
}
}
я не знаю, почему его не удалось настроить, и по сути я пытаюсь использовать этот код для обнаружения статического объекта? пример этих фотографий:
да, я удалил, а также удалил плавающую задачу
А еще я не уверен, что код правильный, я следовал инструкциям, приведенным здесь Developer.apple.com/documentation/visionos/…





Вам необходимо поместить изображения в папку ref.arresourcegroup (в которой есть специальный файл json, созданный автоматически), а не в обычную папку ref. Для этого создайте папку ref в Ресурсах с помощью контекстного меню (не указывайте расширение .arresourcegroup, эта папка получит его автоматически):
Поместите эталонные изображения 480x480 в эту папку и настройте их реальный размер в Инспекторе. Вы должны использовать высококонтрастные, хорошо различимые изображения только в формате RGB (без альфа-прозрачности). Кроме того, избегайте градиентов и однотонных цветов в эталонных изображениях. Постарайтесь использовать цвета, которые имеют идеальный контраст в черно-белой версии этого изображения. Старайтесь не использовать повторяющиеся узоры, такие как полосы или горошек.
Извините... Вы пытаетесь отследить настоящий гаджет или изображение с помощью гаджета?
visionOS ARKit image tracking. На данный момент в VisionOS ARKit нет распознавания объектов. Только распознавание изображений...
Если вам нужна функциональность object recognition в VisionOS, вам необходимо обучить MLModel и реализовать фреймворки CoreML и Vision (2017). Это совершенно другая история.
я пытаюсь отследить реальный объект
Отслеживание изображений касается только recognizing an image. Если POV реального гаджета не совпадает с POV гаджета на картинке (а это будет в 99,9999% случаев), ARKit никогда не сгенерирует свой ImageAnchor. Поскольку в ARKit под VisionOS пока нет отслеживания объектов (мы все с нетерпением ждем WWDC'24'25), это означает, что вам придется обучать MLModel для платформы Apple Vision. Вам также понадобится AVFoundation для управления видеопотоком.
Однако отслеживание объектов в iOS требует, чтобы вы сначала отсканировали объект со всех сторон. В результате сканирования будет создан файл .arobject, который будет содержать разреженное облако точек. Это ваш эталонный объект для обнаружения объектов iOS. Как видите, ничего подобного в VisionOS пока нет (исключая visionOS Persona, который недоступен разработчикам).
Ага. На данный момент – нет возможности распознавания объектов в ARKit для VisionOS. Ваш технологический стек здесь будет AVFoundation, CoreML, Vision, CreateML и ARKit/RealityKit. Но участие ARKit в этом процессе будет сведено к минимуму (только для генерации якорей).
Прочтите о шести якорях, которые теперь поддерживает VisionOS 1.2.
Создайте новый вопрос, опишите, что вы уже сделали, и опишите проблему. Задавайте по одному вопросу, не пытайтесь решить все проблемы в одном вопросе сразу.
В StackOverflow в каждой области (ИИ, видео, пользовательский интерфейс, AR и т. д.) есть свои профессионалы. Я уверен, что вы шаг за шагом решите все свои задачи.
@kartbouni, Отслеживание объектов теперь добавлено в VisionOS 2.0.
Вы поместили изображения в «Ресурсы» в папку «ref». Вам также следует избавиться от этой плавающей задачи.