स्थानिक जागरूकता: होलोलेंस के चश्मे क्या कर सकते हैं?


आज, हम Microsoft Hololens चश्मे के साथ स्थानिक जागरूकता क्षेत्र में प्रवेश करेंगे और विंडोज मिक्स्ड रियलिटी (WMR) के विकास के बारे में बात करेंगे, साथ ही दूसरी पीढ़ी से क्या उम्मीद करेंगे।


, Hololens Unity Mixed Reality Toolkit (MRTK).


UWP Microsoft.


Hololens?


Hololens – (Mixed Reality), (Spatial Awareness). Microsoft . EasyAR SDK 4.0 Sparse & Dense SpatialMap, .


Microsoft «» (25 ): Scene Understanding SDK.


, Spatial Understanding, Holotoolkit 2017.4.1.0 ( – MRTK) Unity 2017.4. – «How-To: Use Spatial Understanding to Query your Room with HoloLens».


, Hololens .


«» Hololens?


(: )


Hololens ToF- .
. , , Hololens ( ):



Hololens Spatial Awareness


– Unity, 3D-. .


«» (entry) , . Hololens : , , . Hololens .


( 5–10 , / ). . , , , .



Spatial Awareness MRTK Unity.
MRTK Microsoft. , Unity , github.


:


  • Observation Extents = 1.0f – ;
  • TPM = 600 – (scanning density). , ( );
  • Surface Update Time = 0.3f () – .

:




, Unity:


  • mesh.vertices Vector3 []– ;
  • mesh.triangles int []– , ;
  • mesh.uv Vector2[]– UV-.
    vertices triangles, :


, : :


  • i;
  • pi(x,y,z);
  • pi, i:

pi=1|Adj(i)|jAdj(i)qj


:


  • Adj(i)– , pi;
  • qj– , pi.

Wiki Unity , . MarkGX 2011 ( ). laplacianFilter, :


  • Vector3[] sv;
  • int[] t – , . ( ).

() . :


itt[k],t[k+1],t[k+2]: i, , , .

.


, , x, y, z, .


:


    public static Vector3[] laplacianFilter(Vector3[] sv, int[] t)
    {
        Vector3[] wv = new Vector3[sv.Length];
        List<Vector3> adjacentVertices = new List<Vector3>();

        float dx = 0.0f;
        float dy = 0.0f;
        float dz = 0.0f;

        for (int vi=0; vi< sv.Length; vi++)
        {
            adjacentVertices = MeshUtils.findAdjacentNeighbors (sv, t, sv[vi]);

            if (adjacentVertices.Count != 0)
            {
                dx = 0.0f;
                dy = 0.0f;
                dz = 0.0f;

                for (int j=0; j<adjacentVertices.Count; j++)
                {
                    dx += adjacentVertices[j].x;
                    dy += adjacentVertices[j].y;
                    dz += adjacentVertices[j].z;
                }

                wv[vi].x = dx / adjacentVertices.Count;
                wv[vi].y = dy / adjacentVertices.Count;
                wv[vi].z = dz / adjacentVertices.Count;
            }
        }
        return wv;
    }

:



, «» . , . , .


(HC-algorithm).
piqi() oidi.


bi:


bi:=pi(αoi+(1α)qi)


αdi. , di, , :


di:=1|Adj(i)|jAdj(i)bj


i, biβ[0;1]:


di:=(βbi+1β|Adj(i)|jAdj(i)bj)


β.


. .

, (α=0). «» β=0,5.


:




, ( ) «» .


Hololens , . , , , .


Extents , , .


, , (, Azure Kinect Snapdragon). .


All Articles