Detección de un objeto difícil
A veces, un objeto puede resultar más difícil de detectar. Por ejemplo:
- Cuando no se puede acceder a un área expuesta grande porque el objeto está contra una pared
- Cuando un objeto es demasiado grande y tarda demasiado tiempo en recorrerlo
- Cuando los sensores de dispositivo no detectan la superficie del objeto
Ajuste de los valores de consulta de objetos
Algunos mecanismos que ofrece el SDK de Azure Object Anchors que pueden ayudar en estas situaciones son:
Propiedad
ObjectQuery.MinSurfaceCoverage
Representa la proporción mínima de cobertura de superficie necesaria para considerar que una instancia de objeto es un verdadero positivo. Permite un intervalo de 0 a 1,0 (que representa entre el 0 % y el 100 %). La configuración predeterminada varía entre objetos (cuanto mayor sea el área expuesta, menor será la cobertura mínima necesaria). Funcionará tal cual en la mayoría de las situaciones. Sin embargo, cuando se enfrenta a objetos difíciles, la recomendación es reducir el valor de esta propiedad, para que se requiera menos cobertura de superficie para detectar el objeto.Propiedad
ObjectQuery.MaxScaleChange
Si el modelo original no tiene una escala1:1
hacia el objeto que se detecta, se puede ajustar esta configuración. Permite un intervalo de 0 a 1,0 (que representa entre el 0 % y el 100 %). La configuración predeterminada, en 0, deshabilita la estimación de escala, que requiere una asignación de escala1:1
. Establecer esta propiedad en 10 %, por ejemplo, habilitaría la estimación de escala y permitiría cierta flexibilidad en los casos en los que la escala del modelo no tiene una coincidencia1:1
con el objeto.Propiedad
ObjectQuery.ExpectedMaxVerticalOrientationInDegrees
Representa el ángulo máximo, en grados, entre la dirección ascendente del objeto y la gravedad. Oscila entre 0 y 180. En otras palabras, representa la inclinación del objeto con respecto al modelo original. La configuración predeterminada, a 3 grados, se puede aumentar para permitir más flexibilidad en los casos en los que la inclinación del objeto no coincide con el modelo original.Propiedad
ObjectQuery.IsExpectedToBeStandingOnGroundPlane
Es un valor booleano que representa si se espera que el objeto esté a nivel del suelo o no. El valor predeterminado es "false". Se puede cambiar a true para acelerar la detección en los casos en los que el objeto está a nivel del suelo.Propiedad
ObjectQuery.SearchAreas
Representa una colección de regiones para buscar objetos. Proporcionar áreas de búsqueda limitadas, a la vez que cubre todo o la mayor parte del objeto, mejora la velocidad y la precisión de la detección. Puede seleccionar:- Un rectángulo de selección orientado, mediante
ObjectSearchArea.FromOriented
. - Un campo visual, mediante
ObjectSearchArea.FromFieldOfView
. - Una ubicación, mediante
ObjectSearchArea.FromLocation
. - Una esfera, mediante
ObjectSearchArea.FromSphere
.
- Un rectángulo de selección orientado, mediante
Para más información, vea la clase ObjectQuery
para Unity o HoloLens C++/WinRT.
Pasos siguientes
En esta guía de solución de problemas, ha aprendido a solucionar problemas de detección de objetos difíciles de detectar. Aquí tiene algunos artículos relacionados: