Я создаю приложение для iOS, которое в реальном времени отображает кадры с камеры в металлические текстуры. Я хочу использовать CoreML для передачи стиля на участках металлической текстуры (представьте, что выходные данные камеры представляют собой сетку 2x2, где каждый из 4 квадратов используется в качестве входных данных для сети передачи стилей, а выходные данные вставляются обратно в отображаемую текстуру. ). Я пытаюсь выяснить, как лучше всего использовать CoreML внутри конвейера Metal для заполнения непересекающихся частей текстуры выходными данными модели ml (надеюсь, без разложения модели ml на MPSNNGraph). Можно ли напрямую передать MTLTexture или MTLBuffer в модель coreML? Я бы хотел максимально избежать преобразований форматов (для скорости).
Моя модель ml использует CVPixelBuffers на своих входах и выходах. Можно ли вместо этого использовать MTLTextures?
Первое, что я попробовал, это: разрезать данный буфер выборки на субрегионы (путем копирования данных пикселей, тьфу), сделать вывод по каждому субрегион, а затем вставил их вместе в новый буфер образцов, который затем был преобразован в MTLTexture и отображен. Этот подход вообще не использовал преимущества металла, поскольку текстуры создавались только после вывода. В нем также было много обходных операций преобразования/копирования/вставки, которые все замедляли.
Второе, что я попробовал, было: отправить данные камеры напрямую в MTLTexture, сделать вывод субрегионы буфера образца, вставьте в текущую отображаемую текстуру с помощью MTLTexture.replace(region:...withBytes:) для каждого субрегиона. Однако MTLTexture.replace() использует процессор и недостаточно быстр для живого видео.
Идея, которую я собираюсь реализовать, заключается в следующем: преобразовать мою модель ml в MPSNNGraph, получить кадры в виде текстур, использовать MPSNNGraph для вывода субрегионов и отобразить выходные данные. Я решил, что сначала проверю здесь, прежде чем прикладывать все усилия по преобразованию модели ml. Извините, если это слишком широко, я в основном работаю с тензорным потоком и немного не в теме.
Подробнее здесь: https://stackoverflow.com/questions/510 ... subregions
Использование CoreML для определения участков металлической текстуры ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
ArmClang: прошивка голой металлической прошивки сбоя во время инициализации вектора C ++
Anonymous » » в форуме C++ - 0 Ответы
- 3 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему мое видео не соответствует размеру текстуры, когда я меняю размер текстуры
Anonymous » » в форуме Android - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-