#scenekit #arkit #coreml
#scenekit #arkit #coreml
Вопрос:
кому-нибудь удалось эффективно преобразовать MLMultiArray в пользовательскую геометрию? Я смог преобразовать MLMultiArray -> UIImage, хотя не уверен, как эффективно создать пользовательскую геометрию.
Общая картина — я пытаюсь замаскировать сцену Scenekit, используя SCNNode с пользовательской геометрией. По сути, я хотел бы создать эффект портала, как показано во многих онлайн-демонстрациях / руководствах. Хотя, вместо того, чтобы использовать SCNBox в качестве геометрии для маскирующего узла, я хотел бы использовать выходные данные из моей модели CoreML в качестве «маскирующей» формы.
Если кто-нибудь может поделиться примерами кода или высокоуровневыми подходами, я был бы очень признателен! Спасибо
Пример приложения, использующего пользовательскую геометрию для маски портала
https://itunes.apple.com/us/app/dark-subject-one/id1312987602
Изображение пользовательской геометрической маски, используемой в портале
Комментарии:
1. Что находится внутри вашего MLMultiArray?
2. @MatthijsHollemans — это результат моей базовой модели: MultiArray (Double 1 x 224 x 224), определенный как пусть MultiArray: MLMultiArray = observations[0].FeatureValue.multiArrayValue. Затем я преобразую данные этой маски в UIImage, например. пусть semiTransparentMask = maskToRGBA(maskArray: многочиповой<Двойной>(MultiArray), rgba: (0, 255, 0, 100.0))!
3. Правильно, значит, это какая-то маска сегментации? И вы хотите превратить это в сетку, которую вы можете прикрепить к SCNNode. Итак, вам понадобится какая-то процедура, которая может превратить растровое изображение в (один или несколько) полигонов.
4. Понял, спасибо за руководство @MatthijsHollemans!