3D-model maken met je smartphone met gratis software
Gewapend met een smartphone en de gratis software Meshroom kun je van bijna alles een 3D-model maken: standbeelden, mensen enzovoort. Het gemaakte 3D-model kun je weer gebruiken voor een 3D-printer of in andere programma’s.
Lees verder na de advertentie
Een uit alle mogelijke hoeken genomen fotoserie volstaat om van objecten een 3D-model te maken op de pc. Zo kun je de echte wereld stukje bij beetje nabouwen en in virtuele scènes verwerken of een mini-kopie maken met een 3D-printer.
Software downloaden en testen
De automatische modus van de opensource software Meshroom voltooit het 3D-scannen zelfstandig na een druk op de knop. De kunst zit het hem vooral in het fotograferen. Waar je daarbij op moet letten, leer je verderop.
Tip!
Ontworpen voor creators en professionals: configureer jouw eigen ASUS ProArt P16 nu.
Je kunt Meshroom (voor Linux/Windows) snel uitproberen met de demo-dataset Monstree. Die bevat iPhone-foto’s van een Meshroom-ontwikkelaar en werken in elk geval goed. De complete set bestaat uit 41 foto’s, maar je moet rekening houden met meerdere uren verwerkingstijd. Met de kleinere sets die beperkt zijn tot drie of zes foto’s duurt het hele proces maar enkele minuten.
Systeemeisen Meshroom
Meshroom is beschikbaar als portable 64-bit versie voor Windows en Linux. Beide kun je dus meteen starten en hoeven niet op het systeem te worden geïnstalleerd. Je hebt wel een redelijk zware pc en een voor CUDA geschikte grafische kaart van Nvidia nodig. Downloads en info vind je ook bij ontwikkelaars AliceVison. Meshroom kan draaien met 16 GB, maar als je minder hebt zul je met een lagere kwaliteit genoegen moeten nemen of aanzienlijk meer computertijd moeten inplannen.

We raden ook een snelle ssd met veel vrije ruimte aan en een beetje moderne quadcoreprocessor van de laatste vijf jaar. Wees er echter op voorbereid om je pc nachtdiensten te laten draaien. Omzetten van de foto’s naar een 3D-model (fotogrammetrie) is een rekenintensief proces, zeker als je hele gebouwen digitaliseert
Foto's van je smartphone
De kwaliteit van een scan hangt af van de kwaliteit van je foto’s. Die moeten zo scherp, ruisvrij en gelijkmatig mogelijk belicht zijn. Het belangrijkste is dat het onderwerp zo scherp mogelijk en zonder storingen wordt vastgelegd. Je kunt onscherpte onder meer voorkomen door gebruik te maken van een statief en korte sluitertijden. Kleine diafragma’s en korte brandpuntsafstanden helpen om een slechte scherptediepte te voorkomen. Daarom zijn ook apparaten met kleinere sensors, zoals smartphones, geschikt voor het maken van de foto’s.
Je moet het onderwerp goed belichten of gewoon naar buiten gaan in goede lichtomstandigheden: bewolkte of enigszins nevelige dagen. Schakel voor het fotograferen alle ‘beeldverbeteringen’ uit, zoals contrastverbetering of bokeh-effecten. Stel bovendien vaste waarden in voor de witbalans, gevoeligheid (ISO) en sluitertijd, zodat de kleuren en de helderheid van de foto’s tijdens het maken niet veranderen. Op je smartphone kun je die parameters instellen met de Pro-modus van de camera-app. Zo niet, installeer dan Open Camera of een soortgelijke app met handmatige modus.

Het gewenste bestandsformaat voor het importeren van foto’s is bij Meshroom TIFF, PNG of JPEG. Als je camera alleen foto’s in JPEG-formaat kan maken, stel je het hoogste kwaliteitsniveau in.
Fotoserie maken
Bij het maken van de foto’s moet je ervoor zorgen dat de afzonderlijke foto’s een bepaalde overlap hebben. Meshroom zoekt naar overeenkomstige kenmerken in aangrenzende foto’s. Een minimum van 50 procent overlapping wordt aanbevolen (tot hooguit 80 procent).
Je kunt een perfecte dekking bereiken door met de camera om het object heen te cirkelen en foto’s te maken. Bij grotere objecten kun je meerdere omwentelingen maken, waarbij de camera bij elke omwenteling iets hoger wordt gehouden. Je kunt het resultaat verder verbeteren door een paar halve cirkels toe te voegen die hier loodrecht op staan (over het object heen). Soms moet je daarbij improviseren. Het kan soms handiger zijn om het object te fotograferen langs een spiraalvormig pad.

Vermijden: beweging en reflecties
Voorbijgangers of voertuigen die maar op een of twee foto’s te zien zijn, kan Meshroom bij de berekeningen probleemloos wegfilteren. Maar vegetatie die wappert in de wind, reflecties en doorzichtige materialen zoals glas veroorzaken problemen.
Vooral voor beginners zijn voorwerpen met veel oneffenheden en details het meest geschikt (zoals verweerde standbeelden). Het aangetaste oppervlak verstrooit niet alleen het licht, maar zorgt ook voor veel fijne details waardoor Meshroom de verschillende beelden goed kan herkennen. Monochrome oppervlakken zonder details, zoals een wit tafelblad, zijn daarentegen erg lastig. Een stuk krantenpapier als ondergrond helpt dan, omdat de letters en woorden die daaruit worden gevormd perfect bij elkaar passen.
Je hoeft geen onscherpe of andere mislukte foto’s uit de serie te verwijderen, de software filtert onbruikbare beelden automatisch. Meshroom markeert die met een doorgestreept rood camerasymbool.

Meshroom instellen
Wanneer je Meshroom voor de eerste keer opent, zie je een relatief leeg grijs vlak. Sleep je foto’s vanuit de bestandsbrowser naar het linker venster Images Pane, herkenbaar aan de tekst ‘Drop Images Files/Folders’. Meshroom genereert dan previews van die beelden en signaleert het einde van het importeren door een startknop in verzadigd groen weer te geven midden boven in het programmavenster.

Elke voorbeeldfoto bevat een klein rond icoontje in de linkerbovenhoek dat eruit ziet als een lensopening. Als dat groen gekleurd is, heeft Meshroom het cameramodel herkend en alle benodigde metadata in het beeld gevonden. Als het lenssymbool rood is, ontbreekt er te veel metadata om een reconstructie uit te voeren. Als het pictogram geel is, ontbreekt er informatie – meestal de breedte van de sensor. Meshroom haalt die waarde meestal uit zijn eigen database met behulp van de cameramodelgegevens in de EXIF-data van de foto’s.
Cameragegevens toevoegen
Als je camera niet op de lijst staat, schat Meshroom de breedte van de sensor in – wat meestal acceptabele resultaten oplevert. Om de maximale kwaliteit uit je scan te halen, voeg je handmatig de juiste sensorbreedte toe. Om dat te doen, klik je op de drie stippen in de rechterbovenhoek van de Images Pane en vervolgens op ‘Edit Sensor Database’. Dat toont instructies om je cameramodel toe te voegen. Je kunt de parameters van het merk en het model achterhalen door met de muis over het lenssymbool bij een van de afbeeldingen in de Images Pane te bewegen – Meshroom geeft dan de EXIF-gegevens weer.
Om de sensorbreedte in millimeters te achterhalen, is een kort internetonderzoek meestal voldoende. Je zou dat ook kunnen uitlezen met de app Camera2Info. Bij multi-lens smartphones moet je helaas kiezen voor een enkele camera omdat Meshroom tot nu toe slechts één lens per apparaat ondersteunt. Voor de iPhone X, die al in de database geregistreerd is, wordt bijvoorbeeld de sensorbreedte van de hoofdcamera gebruikt.
Blijf op de hoogte van de nieuwste workshops en tips! Schrijf je in voor de nieuwsbrief:
Laatste instellingen
Voordat je op de startknop drukt, moet je nog twee instellingen wijzigen in het deelvenster Graph Editor Properties Pane in de rechterbenedenhoek. Dat toont alle stappen van de enkele beeldreeks tot het afgewerkte 3D-model, waarbij elke stap wordt weergegeven door een eigen node (knooppunt).
- Selecteer de laatste node met de naam Texturing en stel de ‘Unwrap Method’ in het venster rechts beneden in op LSCM. Die optie voorkomt dat Meshroom meerdere texturen voor het 3D-model creëert. Anders kunnen die zelfs de huidige grafische kaarten met 8 of 11 GB grafisch geheugen overweldigen.
- In de Meshfiltering-node aan de linkerkant activeer je ‘Keep only the largest mesh’. Dat bespaart je later een stap in Blender omdat alleen het aaneengesloten object wordt opgeleverd en geen andere niet-aangesloten fragmenten en artefacten. Een mooi neveneffect daarvan is dat texturen door het verminderen van de geometrie een hogere resolutie kunnen krijgen. Daardoor wordt een deel van de kwaliteitsvermindering van de vorige stap weer gecompenseerd. Als je object na het verwerken van de scan ontbreekt omdat een stuk achtergrond iets te groot is, moet je die optie weer uitschakelen.

In de Meshing-node aan de linkerkant vind je nog meer belangrijke instellingen. ‘Max Points’ beperkt de grootte van de uiteindelijke mesh, ‘Max Input Points’ het aantal punten dat in aanmerking wordt genomen. De standaardwaarden zijn bedoeld voor pc’s met 16 GB of meer RAM. Als je systeem minder heeft, moet je die waarde dienovereenkomstig aanpassen.
3D-model maken
Wanneer je op de groene startknop drukt, vraagt Meshroom of je het project wilt opslaan. Dat is raadzaam, omdat de software niet alleen alle tussenresultaten opslaat, maar in een submap ook het afgewerkte 3D-model.
Als de foto’s van voldoende kwaliteit zijn en voldoende overlappen, zal Meshroom na een tijdje een 3D-model laten zien –maar dat kan best wel enkele uren duren. Je kunt de voortgang volgen met de balk onder de start- en stopknoppen. Je kunt het proces op elk gewenst moment onderbreken en hervatten met de knoppen Stop/Start.
3D-model bekijken
Tijdens het maken presenteert de 3D-viewer al een eerste visualisatie van de scène. Hij markeert de berekende posities van de camera en toont kenmerken die op verschillende foto’s als gekleurde punten zijn herkend. In het beste geval geeft die puntenwolk al een aardig idee van het gescande object.
Je kunt de weergave draaien door te klikken en te slepen met de linker muisknop. Als je de Shift-toets ingedrukt houdt, kun je de scène naar links, rechts, omhoog en omlaag bewegen.
Meshroom is succesvol afgerond als zowel de balk bovenin als de startknop groen oplichten. In het venster met de 3D-weergave, de 3D Viewer, zou de knop Load Model moeten verschijnen. Een klik daarop laadt het voltooide 3D-model in de weergave. De nog zichtbare punten en camera’s kunnen met het oogsymbool naast StructureFromMotion worden verborgen of getoond.
Finetunen in Blender
Je hebt nu met succes een 3D-model gemaakt van een serie foto’s. Waarschijnlijk bevat dat echter enkele storende elementen. Meshroom biedt geen hulpmiddelen voor het bewerken van een 3D-model, zoals het selecteren en verwijderen van gebieden. Je kunt het object extern verfijnen, bijvoorbeeld met het gratis Blender.
Omdat Meshroom de modellen niet expliciet opslaat of exporteert, gebruik je eerst het OBJ-bestand uit de cache. Dat kan worden geopend door met de rechtermuisknop te klikken op de Texturing Node in de Graph Editor en de opdracht Open Folder te kiezen. De bestandsbrowser toont dan een cryptisch genoemde map met één of meer PNG-bestanden en een OBJ-bestand. Als er geen bestandsbrowser wordt geopend, kun je de locatie vinden in het rechtervenster, dat de knooppuntinstellingen weergeeft, helemaal onderaan onder Uitvoermap. Daar kun je het pad kopiëren.
Open dan Blender en verwijder de Default Cube met behulp van X of Backspace. Selecteer ‘File / Import / Wavefront (.obj)’ en open het OBJ-bestand uit de eerder gevonden map. Meer over het finetunen in Blender en andere tips voor Blender lees je in c’t magazine.
3D-print, render of VR
Je kunt het object in een Blender-scène plaatsen en die renderen. Voor gebruik in augmented-reality, virtual-reality, op internet of een computerspel, moet je het object nog reduceren of remeshen en vervolgens de texturen en details toevoegen.
Voor 3D-printen heeft het model een wanddikte nodig, die je in Blender kunt toevoegen met behulp van de Solidify Modifier. Als je het liever massief wilt printen, moet je het object sluiten, want het heeft nog steeds minstens één opening aan de onderkant. De meeste toepassingen voor 3D-printer bieden daar automatische functies voor. Als alternatief kun je de gaten zelf dichten met behulp van de Meshmodelling-functies van Blender. We hebben de belangrijkste beschreven in onze Blender-workshops.
(informatie afkomstig uit het artikel van Gottfried Hofmann en Marco den Teuling, c’t magazine 9/2020, p. 116)
- VPN-diensten: privacy en veiligheid getest
- Digitale tracking en nieuwe opslagtechnieken
- Praktische tests van hardware én software
Tip!
Ontworpen voor creators en professionals: configureer jouw eigen ASUS ProArt P16 nu.


Praat mee