Development & Code

ARkit | ARcore | Unity | ARcloud en zo…

home > Nieuws en updates > Programmeren voor Augmented Reality

Development & code for spatial computing

Programmeren en ontwikkelen van Augmented Reality producties

ArtiShock zou er niet zijn zonder onze ervaren specialisten van top-notch developers en coders. Zij leveren een zeer waardevolle bijdrage aan de ontwikkeling van onze Augmented Reality en andere creatieve en toegepaste oplossingen.

Schuivend van reguliere AR toepassingen naar de integratie van Artificial Intelligence (AI oftewel kunstmatige intelligentie), deeplearning, ARkit en AR core, AR in de cloud en tracking technologie.

Op deze pagina leer je iets meer over termen die wij dagelijks gebruiken.

Unity game engine

Unity is een cross-platform real-time game engine ontwikkeld door Unity Technologies.

Ten tijde van de eerste release in de zomer van 2005 richten de game engine zich nog uitsluitend op Apple’s OS X. Vandaag de dag heeft de Unity engine support voor 27 verschillende platformen. De game engine kan gebruikt worden voor zowel 3D games als ook 2D games.

En dat is dan ook precies wat Artishock er mee doet.

De term “game” mag breed geïnterpreteerd worden; van kleine fun marketing gimmicks tot grote serious games met grote toegevoegde waarde in educatie trajecten. Van vereenvoudigde visualisaties tot realistische simulaties van de echte wereld. Je vindt het allemaal in de Artishock portfolio.

Artishock maakt dankbaar gebruik van de kracht van Unity editor en de mogelijkheden die er zijn om zowel de editor als de daadwerkelijke games uit te breiden gebruikmakend van Unity’s primaire scripting API in C#.

Door de jaren heen heeft Artishock een waanzinnige verzameling krachtige assets ontwikkeld en verzameld voor snelle hoge kwaliteit ontwikkeling van visueel rijke en intuïtief interactieve apps voor mobile devices, smart glasses en desktops.

Spatial computing

Spatial computing is een concept uit de wereld van Augmented Reality waarin het “voelt” alsof digitale media fysiek aanwezig is in je omgeving.

Dus wanneer we het over spatial computing hebben kan dat over een mix van virtual reality (VR), augmented reality (AR) en mixed reality (MR) gaan. En wat dit hopelijk duidelijk maakt is dat de term “spatial computing” dus ook niet refereert naar de onderliggende technologie, maar naar het type interactie dat we er mee hebben.

Wij denken dat spatial computing een nieuwe revolutie is die nog groter zal zijn als de revolutie van “mobile computing” (overal naar toe kunnen met je “computer”). Spatial computing is een fundamenteel nieuwe benadering van de interacties met de digitale wereld.

Bij Artishock hebben we het er in dit kader ook vaak over dat we het Internet aan het bevrijden zijn uit de schermen waar het zo lang in gevangen heeft gezetten.

We bevrijden het internet zodat AR overal om je heen aanwezig kan zijn en jij er fysiek mee kunt interacteren.

Voorbeelden van Unity & Spatial Computing

Spatial computing en Audio van Sennheiser
Unity: Volkswagenbus met objectherkenning
Unity: Landschap met beelherkenning
Spatial computing
Unity game engine
Zo ziet de development tafel er uit 😉
Development van de Hololens app met live data
development van de live data koppeling
Coen en Cristian hebben het goed naar hun zin
Spatial computing vanuit de gebruiker gezien
Development van de Hololens app
Pffff weer testen...

Apple: ARkit

ARKit is Apple’s Augmented Reality (AR) ontwikkel platform voor mobiele iOS devices.

Logo ARkit

ARKit helpt ons als developers om schitterende AR experiences voor iPad en iPhone te ontwikkelen. ARkit werd met iOS versie 11 geïntroduceerd en is sindsdien steeds geavanceerder geworden. Dankzij ARKit kunnen fysieke ruimtes door een gebruiker worden verrijkt en door andere op een later moment worden bekeken. ARkit werkt op devices vanaf iOS 11 en Core A9 processor.

Stabiele AR tracking

AR apps die gebruik maken van ARkit hebben doorgaans stabieler AR tracking en gedetailleerder content dan de AR apps op het iOS platform die dit niet doen. Dit heeft er mee te maken dat Apple’s ARKit software optimaal gebruik weet te maken van de onderliggende Apple hardware.

Vanaf de iPhone X(S) kan ARKit ook nog gebruikt worden om realtime gezichtsexpressies te interpreteren en die data te gebruiken in gezicht expressies van virtuele 3D karakters.

Versnellingsmeters en gyroscope

ARKit kan gebruikmakend van de iOS camera, de versnellingsmeters en gyroscope een kaart maken van de directe omgeving van het device wanneer die door de ruimte bewogen word. Door informatie uit de bewegingssensoren en camerabeelden slim samen te voegen kan een heel accurate kaart van de omgeving gemaakt worden.

Omgevingstracking

Met die kaart kan steeds de positie van gebruiker in de ruimte beredeneerd worden en zo is er een basis voor heel stabiele AR experiences. In feite zou de kaart steeds gedetailleerder en groter moeten worden en steeds meer geheugen moeten consumeren. Maar Apple’s ARKit maakt slimme keuzes in welke kaart data nog het relevantst is en welke uit geheugen mag verdwijnen.

Android: ARcore

ARCore is Google’s platform voor het bouwen van Augmented Reality experiences.

ARcore logo

Gebruikmakend van verschillende API’s geeft ARCore je Android telefoon de vaardigheid om z’n omgeving waar te nemen.

Met die vaardigheid kan je telefoon de fysieke wereld begrijpen en die aanvullen met interactieve digitale informatie.

 

ARCore gebruikt 3 sleutel vaardigheden:

Motion Tracking

De telefoon begrijpt z’n positie ten opzichten van de wereld. Dit is de basis voor een soepele Augmented Reality experience.

Environmental Understanding

De telefoon begrijpt de dimensies en locaties van oppervlaktes in de ruimt zoals de vloer, tafels en wanden. Op deze manier kunnen we virtuele games maken die zich heel geloofwaardig in je fysieke ruimte afspelen.

Light estimation

De telefoon begrijpt de belichting van de omgeving. Met deze informatie kunnen we virtuele 3D objecten geloofwaardig in de omgeving opnemen.

Artishock gebruikt ARCore voor het type AR experience waarbij je zonder een geprepareerde omgeving (speciale 2D of 3D markering in de ruimte) een verhaal wilt vertellen in Augmented Reality.

De AR Cloud wordt gezien als de heilige graal voor Augmented Reality.

Laten we een poging doen om een simpele definitie te geven van de Augmented Reality Cloud ; het is een persistente 3D digitale kopie van de fysieke wereld. Een meer technische definitie zou vertellen dat het een voor machine leesbare, 1 op 1 model van wereld is dat continue in realtime wordt geüpdate.

Het is een waanzinnige collectie van waarschijnlijk vele miljarden datasets van point clouds en CAD tekeningen en beschrijvingen uitgelijnd met echte wereld coördinaten ; een “levend”, gedeelde digitale kopie van de wereld.

Wanneer we de hele fysieke wereld digitaal in kaart brengen kunnen we augmented reality experiences creëren die kunnen blijven staan op de plek waar ze neergezet worden en gedeeld kunnen worden met anderen.

Zo’n AR Cloud is de heilige graal voor Augmented Reality en meerdere grote commerciële partijen zouden heel graag de macht krijgen over de infrastructuur van deze cloud.

Artishock is een founding member van de Open AR Cloud een collectief dat is opgericht om er op toe te zien dat de benodigde mapping en spatial computing technologie ontwikkeld word in een richting die open is voor iedereen.

Daarom denken we mee over de processen en standaarden die gebruikt zouden kunnen worden in het verbinden van de fysieke en digitale wereld en het opslaan en delen van de AR experiences die we daar in willen gaan maken. Op deze manier willen we ons steentje bij dragen aan een AR Cloud die de realiteit verrijkt op een open en eerlijke manier met respect voor een ieder die er in wil produceren en consumeren.

Meer vragen en antwoorden over Augmented Reality

Kunstmatige Intelligentie / Artificial Intelligence (AI)

Kunstmatige Intelligentie of Artificial Intelligence (AI) maakt het voor machines mogelijk om te leren van ervaringen, zich aan te passen aan nieuwe omgevingen en mens-achtige taken uit voeren.

Veel van de AI die je vandaag de dag tegenkomt leunt hevig op deep learning en het interpreteren van door mensen gegenereerde data. Computers kunnen getraind worden om bepaalde specifieke taken uit te voeren na het verwerken van grote hoeveelheden data en het herkennen van patronen daarin.

Artificial Intelligence zal praktisch iedere industrie in de komende jaren gaan veranderen en juist daarom is het goed om de beperkingen van AI te onderkennen. Een belangrijke beperking van AI is dat het leert van data. Dus hier geld zoals in meer processen ; garbage in is garbage out. De AI is zo sterk als de kwaliteit van het materiaal waarop het getraind is.

Hedendaagse AI systemen zijn doorgaans getraind om 1 specifieke duidelijk omkaderde taak te doen. Het systeem dat getraind is om te schaken, speelt geen poker of monopoly. Het AI systeem dat frauduleuze credit card betalingen opspoort kan geen robot helpen lopen. Maar sterker nog het AI systeem dat getraind is om frauduleuze betalingen op te sporen, kan al geen fraude in verzekeringskwesties of in belasting aangiften detecteren.

De hedendaagse AI systemen zijn zeer gespecialiseerd. Ze focussen op 1 enkele taak en zijn daarmee nog ver verwijderd van de veel generiekere intelligentie van menselijk gedrag. Het is steeds gebruikelijker aan het worden dat ergens in onze processen computers aan het werk worden gezet op de interpretatie van vaak grote hoeveelheden complexe data om zich specifiek taken eigen te maken.

Het is heel fijn voor Artishock dat we met zelf lerende AI kunnen werken. Maar de systemen zijn nog niet autonoom. Aan een zinvolle inzet van AI komt nog heel wat menselijk denkwerk en creativiteit te pas.

Bij Artishock werken we steeds vaker met AI waarbij we mensen en machine inzetten naar hun kracht.

Denk daarbij aan taken als het interpreteren van gesproken woord, het classificeren van plaatjes of het doen van voorspellingen. Dit is het soort activiteit dat traditioneel beter uitgevoerd werd door mensen dan door machines.  Het is vandaag de dag langzaam maar zeker aan het verschuiven.

Het leer proces van deep learning is interessant omdat de data niet strak gestructureerd door een set van vergelijkingen word gestuurd. Nee, het leerproces is min of meer gemodelleerd naar hoe de menselijke hersenen werken ; met een netwerk van neuronen.

Het word “deep” in “deep learning” verwijst naar het aantal “lagen” van neuronen. Eenvoudig gezegd gaat de input data door laag na laag van een kunstmatige neuraal netwerk en worden in iedere laag hoger niveau conclusies gemaakt over de aard van de input data.

Stel het je voor als een hiërarchie van concepten. Neem het voorbeeld van beeldherkenning. In een eerste laag worden bijvoorbeeld raster punten herkend, in een tweede laag lijnen, in een derde laag vormen, etc… tot er aan het einde van het getrainde brein een specifieke auto (merk en type) word herkend die door Artishock van Augmented Reality kan worden voorzien.

Zie hier voor meer informatie over Augmented Reality
...op onze FAQ pagina vind je nog meer vragen en antwoorden over Augmented Reality
Ok, let's go!