Nop ... Я считаю, что вам нужно сделать столько звонков, сколько требуемых типов файлов.
Я бы создал функцию, которая сама взяла массив в строках с необходимыми расширениями и затем перебирала на этом массиве все необходимые вызовы. Эта функция вернет общий список файлов, соответствующих адресам, которые я отправил.
Надеюсь, что это поможет.
- Новый ARCore Augmented Faces API , который работает на фронтальной камере без датчика глубины, предлагает высококачественную
468-point
3D-сетку, которая позволяет пользователям добавлять такие эффекты на их лица в виде анимированных масок, очков, ретуши кожи и т. д. Сетка предоставляет координаты и привязки к региону , которые позволяют добавлять эти эффекты.Я твердо верю, что обнаружение лицевых ориентиров генерируется с помощью алгоритмов компьютерного зрения под капотом ARCore 1.7 . Также важно сказать, что вы можете начать работу в Unity или в Sceneform, создав сеанс ARCore с включенным режимом «фронтальная камера» и «Расширенные грани». Обратите внимание, что другие функции AR, такие как определение плоскости, в настоящее время недоступны при использовании фронтальной камеры.
blockquote>AugmentedFace
расширяетTrackable
, поэтому лица обнаруживаются и обновляются точно так же, как плоскости, дополненные изображения и другие отслеживаемые объекты .Как вы знаете, 2+ года назад Google выпустила
blockquote>Face API
, которая выполняет обнаружение лица, которое находит лица в фотографии, а также их положение (где они на картинке) и ориентация (в какую сторону они смотрят, относительно камеры). API Face позволяет вам определять ориентиры (точки интереса на лице) и выполнять классификацию, чтобы определить, являются ли глаза открытыми или закрытыми, и является ли лицо улыбающимся. Face API также обнаруживает и отслеживает лица в движущихся изображениях, что называется отслеживанием лиц.Итак, ARCore 1.7 только что позаимствовал некоторые архитектурные элементы из Face API, и теперь он не только обнаруживает лицевые ориентиры и генерирует для них 468 точек, но и отслеживает их в в режиме реального времени со скоростью 60 кадров в секунду и придерживается трехмерной геометрии лица .
См. Google Обзор концепций распознавания лиц .
Рассчитать канал глубины в видео, снятом движущейся RGB-камерой, не является ракетостроением. Вам просто нужно применить формулу параллакса к отслеживаемым функциям. Таким образом, если амплитуда трансляции объекта на статическом объекте достаточно высока - отслеживаемый объект находится ближе к камере, а если амплитуда объекта на статическом объекте достаточно низкая - отслеживаемый объект находится дальше от камеры. Эти подходы для расчета глубинного канала вполне обычны для таких приложений композитинга, как The Foundry NUKE и Blackmagic Fusion более 10 лет. Теперь те же принципы доступны в ARCore.
Вы не можете отклонить алгоритм обнаружения / отслеживания лиц для пользовательского объекта или другой части тела, например руки. API Augmented Faces разработан только для лиц.
Вот как выглядит Java-код для активации функции Augmented Faces:
// Create ARCore session that supports Augmented Faces public Session createAugmentedFacesSession(Activity activity) throws UnavailableException { // Use selfie camera Session session = new Session(activity, EnumSet.of(Session.Feature.FRONT_CAMERA)); // Enabling Augmented Faces Config config = session.getConfig(); config.setAugmentedFaceMode(Config.AugmentedFaceMode.MESH3D); session.configure(config); return session; }
Затем получите список обнаруженных лиц:
Collection<AugmentedFace> faceList = session.getAllTrackables(AugmentedFace.class);
И, наконец, рендеринг эффекта :
for (AugmentedFace face : faceList) { // Create a face node and add it to the scene. AugmentedFaceNode faceNode = new AugmentedFaceNode(face); faceNode.setParent(scene); // Overlay the 3D assets on the face faceNode.setFaceRegionsRenderable(faceRegionsRenderable); // Overlay a texture on the face faceNode.setFaceMeshTexture(faceMeshTexture); // ....... }
Надеюсь, это поможет.