Meshroom Manual
https://meshroom-manual.readthedocs.io/en/latest/index.html
Cuprins
Instalare ...................................................................................................................................... 4
Cerințe ................................................................................................................................................................ 4
Obtinerea Meshroom ......................................................................................................................................... 4
Windows ............................................................................................................................................................. 5
Linux ................................................................................................................................................................... 5
Lansarea unei reconstruiri batch ........................................................................................................................ 7
macOS ................................................................................................................................................................ 7
Docker .............................................................................................................................................................. 10
Interfața grafică cu utilizatorul (GUI) .......................................................................................... 11
Import simplu ................................................................................................................................................... 11
Începerea reconstrucției ................................................................................................................................... 12
Vizualizator 3D ................................................................................................................................................. 13
Reconstrucție îmbunătățită .............................................................................................................................. 13
Reconstrucție live - în timp real ........................................................................................................................ 14
Reconstrucție externă....................................................................................................................................... 16
Parametrii avansați pentru nod ....................................................................................................................... 16
Importarea vechiului proiect Meshroom .......................................................................................................... 16
Testarea Meshroom ................................................................................................................... 18
Reconstrucție: Cât timp durează? .................................................................................................................... 18
Conectare noduri ....................................................................................................................... 20
Grafic implicit ................................................................................................................................................... 20
Cum se folosește Draft Meshing ....................................................................................................................... 20
Panorama graph .............................................................................................................................................. 20
Nod de referință ........................................................................................................................ 21
CameraCalibration ........................................................................................................................................... 21
CameraInit ........................................................................................................................................................ 22
CameraLocalization .......................................................................................................................................... 23
CameraRigCalibration ...................................................................................................................................... 25
CameraRigLocalization ..................................................................................................................................... 28
ConvertSfMFormat ........................................................................................................................................... 29
DepthMap ........................................................................................................................................................ 31
DepthMapFilter ................................................................................................................................................ 34
ExportAnimatedCamera ................................................................................................................................... 34
ExportColoredPointCloud ................................................................................................................................. 35
ExportMatches ................................................................................................................................................. 35
ExportMaya ...................................................................................................................................................... 36
FeatureExtraction ............................................................................................................................................. 37
FeatureMatching .............................................................................................................................................. 38
GlobalSfM ......................................................................................................................................................... 40
HDRIstitching .................................................................................................................................................... 41
ImageMatching ................................................................................................................................................ 42
ImageMatchingMultiSfM ................................................................................................................................. 43
KeyframeSelection ............................................................................................................................................ 44
LDRToHDR ........................................................................................................................................................ 46
MeshDecimate ................................................................................................................................................. 47
MeshDenoising ................................................................................................................................................. 49
MeshFiltering ................................................................................................................................................... 50
MeshResampling .............................................................................................................................................. 51
Meshing ............................................................................................................................................................ 52
PanoramaCompositing ..................................................................................................................................... 55
PanoramaEstimation........................................................................................................................................ 55
PanoramaExternalInfo ..................................................................................................................................... 56
PanoramaWarping ........................................................................................................................................... 57
PrepareDenseScene .......................................................................................................................................... 57
Publish .............................................................................................................................................................. 58
SfMAlingnment................................................................................................................................................. 58
SfMTransfer ...................................................................................................................................................... 60
SfMTransform................................................................................................................................................... 61
SketchfabUpload .............................................................................................................................................. 62
StructureFromMotion ....................................................................................................................................... 63
Texturing .......................................................................................................................................................... 68
Formate acceptate ..................................................................................................................... 69
Formate fișier imagine ..................................................................................................................................... 69
Formate de fișier video ..................................................................................................................................... 69
3D File formats ................................................................................................................................................. 69
Alte formate de fișier ........................................................................................................................................ 69
Tutoriale .................................................................................................................................... 70
Placă turnantă .................................................................................................................................................. 70
Tutorial: Meshroom pentru începători ............................................................................................................. 70
Capturarea ................................................................................................................................ 80
Detalii ............................................................................................................................................................... 80
Tutoriale ........................................................................................................................................................... 80
Construirea Meshroom............................................................................................................... 81
Mediul software ............................................................................................................................................... 81
Obțineți proiectul ............................................................................................................................................. 81
Mai multe .................................................................................................................................. 82
Vizualizarea și editarea modelelor ................................................................................................................... 82
Partajați-vă modelul ......................................................................................................................................... 87
Imprimarea modelului ...................................................................................................................................... 87
Software de tethering ...................................................................................................................................... 87
Proiecte corelate .............................................................................................................................................. 88
Întrebări frecvente de la GH-Wiki ............................................................................................... 89
Blocare program la Meshing ............................................................................................................................ 89
Nodul DepthMap este prea lent ....................................................................................................................... 89
Draft Meshing .................................................................................................................................................. 89
Eroare: Graph is being computed externally .................................................................................................... 90
Imaginile nu se pot importa ............................................................................................................................. 91
Large scale dataset........................................................................................................................................... 91
Multi Camera Rig.............................................................................................................................................. 92
Eroare: This program needs a CUDA Enabled GPU .......................................................................................... 92
Parametri de reconstrucție ............................................................................................................................... 92
StructureFromMotion eșuează ......................................................................................................................... 94
Formate de imagine acceptate ........................................................................................................................ 94
Texturare după re topologie externă ............................................................................................................... 95
Depanare .......................................................................................................................................................... 95
Referinţe ................................................................................................................................... 96
Glosar ........................................................................................................................................ 97
About ........................................................................................................................................ 98
Despre Meshroom ............................................................................................................................................ 98
Despre manual ................................................................................................................................................. 99
Contactați-ne.................................................................................................................................................. 100
Contribuții....................................................................................................................................................... 100
Lista colaboratorilor ....................................................................................................................................... 100
Licenţe ............................................................................................................................................................ 100
Meshroom este un software gratuit, Open-Source de reconstrucție 3D bazat pe un
framework realizat de AliceVision.
AliceVision este un Photogrammetric Computer Vision Framework care oferă algoritmi
de reconstrucție 3D și Urmărirea camerei de luat vederi. AliceVision vine cu un
software puternic și algoritmi implementați pe calculator care pot fi testați, analizați și
reutilizați. Proiectul este un rezultat al colaborării dintre mediul academic și industrie
pentru a oferi algoritmi de vârf cu robustețea și calitatea necesară pentru utilizarea în
producție.
Instalare
Cerințe
Cerințe Hardware
Avertizare
Meshroom necesită o placă GPU NVIDIA cu o capacitate de calcul CUDA > = 2,0
pentru partea MVS. Puteți verifica propriețățile CUDA aici sau pe pagina cu
dispozitive NVIDIA.
În cazul în care nu aveți un GPU CUDA, puteți utiliza opțiunea de tip meshing draft
care utilizează CPU pentru crearea rețelei (meshing).
Aici sunt cerințele minime pentru Meshroom:
Cerințe minime
Sisteme de operare
Windows x64, Linux, macOS (sunt necesare câteva modificări)
CPU
Procesoare recente Intel sau AMD
Memorie RAM
8 GB
Hard Drive
~400 MB pentru Meshroom + spațiu pentru datele dvs.
GPU
NVIDIA CUDA- GPU activat (capacitatea de calcul >= 2.0)
Pentru a obține performanțe mai bune pe un desktop /laptop, cerințele recomandate
sunt:
Cerințe recomandate
CPU
Intel Core i7 sau AMD Ryzen 7
RAM Memory
32 GB
Hard Drive
20 GB+ HDD sau SSD
GPU
NVIDIA GeForce GTX 1070
Cerințe software
Meshroom este o aplicație Python și se bazează pe platforma AliceVision. Dacă
utilizați binare pre-construit totul este livrat cu pachetul, astfel încât să nu aveți nevoie
să instalați nimic altceva.
În cazul în care încă intenționați să utilizați sursele, citiți paragraful Software
Environment din secțiunea Building Meshroom
Obtinerea Meshroom
Binare pre-construite
Binarele Meshroom pentru platformele Windows și Linux pot fi descărcate de la
https://alicevision.github.io/#meshroom
Binarele preconstruite de pe această pagină sunt pachete all-in-one, inclusiv
AliceVision și toate resursele necesare.
Notă
Versiunea preconstruită a Meshroom nu poate include toate caracteristicile versiunii
dezvoltatorului. Vă rugăm să verificați notele despre versiune pentru mai multe
informații.
Din surse
Dacă doriți să rulați cea mai recentă versiune de Meshroom (sau o versiune
personalizată de dezvoltatori), aveți nevoie să obțineți sursele.
Accesați secțiunea Building Meshroom.
Windows
1. Descărcați Meshroom de pe pagina de pornire Meshroom.
2.
Extrageți fișierul ZIP într-un folder la alegere
3.
Puteți începe Meshroom făcând clic pe executabil. Nu este necesară o instalare
suplimentară.
Notă
Nu rulați Meshroom ca Admin. Acest lucru va dezactiva tehnica drag-and-drop.
Linux
1. Descărcați binarul de pe pagina de pornire Meshroom.
2.
Dezarhivați-l în orice folder.
3.
Deschideți un terminal și din acest folder executați:
./Meshroom
pentru a lansa interfața grafică - GUI.
Binarele
pre-construite
conțin,
de
asemenea,
meshroom_compute
meshroom_photogrammetry pentru a rula și a crea conducte din linia de comandă.
și
Configurarea mediului
Meshroom funcționează pe platforma AliceVision și trebuie să aveți configurat
programul AliceVision în PATH și LD_LIBRARY_PATH .
Calea - PATH trebuie să conțină folderul în care pot fi găsite binarele AliveVision.
Presupunând că ALICEVISION_INSTALL conține directorul în care este instalată
biblioteca, calea va fi
PATH=$PATH:${ALICEVISION_INSTALL}/bin
Notă
Pe unele distribuții (de exemplu, Ubuntu), este posibil să aveți conflicte între
driverele native și driverele mesa, iar rezultatul este o fereastră neagră goală. În
acest caz, trebuie să forțați utilizarea driverelor native prin adăugarea acestora la
calea către bibliotecă LD_LIBRARY_PATH :
LD_LIBRARY_PATH=/usr/lib/nvidia-340:$LD_LIBRARY_PATH
Poate fi necesar să configurați folderul
driverului (de exemplu. 330 , 350 etc..).
/usr/lib/nvidia-340
Vă sugerăm să creați un fișier bash executabil
meshroom pentru a ușura sarcina:
meshroom.sh
cu versiunea corectă a
în rădăcina folderului
#!/bin/bash
# acest lucru ar trebui să arate spre dosarul de instalare al AliceVision, pentru binarele
pre-construite
# cum ar fi calea completă a folderului AliceVision
export ALICEVISION_INSTALL=/calea/catre/aliceVision
# dacă utilizați plugin-uri, aici listati toate căile pentru a le găsi
# pentru binare pre-construit scrieti calea completă la folderul qtPlugins/qml/
export
QML2_IMPORT_PATH=/path/to/qmlAlembic/build/install/qml:/path/to/QtAliceVision/build/install
/qml:/path/to/QtOIIO/build/install/qml/:$QML2_IMPORT_PATH
# locația bazei de date a senzorilor
export ALICEVISION_SENSOR_DB=${ALICEVISION_INSTALL}/share/aliceVision/cameraSensors.db
# ajusta în funcție de driver și versiunea Cuda
export LD_LIBRARY_PATH=${ALICEVISION_INSTALL}/lib:/usr/lib/nvidia-384:/usr/local/cuda8.0/lib64/:$LD_LIBRARY_PATH
# calea la Meshroom (directorul curent)
export MESHROOMPATH=$PWD
# această linie lansa orice script-ul și opțiunile relevante, care sunt date ca intrare
($@)
PYTHONPATH=${MESHROOMPATH} PATH=$PATH:${ALICEVISION_INSTALL}/bin python ${MESHROOMPATH}/$@
Apoi, puteți crea, de asemenea, un executabil
meshroom_ui.sh
pentru a lansa GUI:
#!/bin/bash
./meshroom.sh meshroom/ui $@
Nu uitați să faceți cele două fișiere executabile:
chmod +x meshroom.sh meshroom_ui.sh
Lansarea interfeței cu utilizatorul
Pentru a lansa interfața cu utilizatorul pur și simplu utilizați script-ul shell anterior:
# lansarea interfetei grafice - gui
./meshroom_ui
# lansarea gui cu, de exemplu, un anumit proiect
./meshroom_ui --project myProject.mg
# lansarea cu instructiunea --help pentru lista de parametri suportati
./meshroom_ui –help
Lansarea unei reconstruiri batch
Puteți executa doar un proiect sau lansa o reconstrucție fără interfața grafică. Acest
lucru se poate face folosind script-uri python
meshroom_compute
și
meshroom_photogrammetry . În mod similar cu meshroom_ui.sh puteți crea script-uri shell
pentru meshroom_compute.sh și meshroom_photogrammetry.sh , înlocuind meshroom/ui cu
bin/meshroom_compute și, respectiv bin/meshroom_photogrammetry .
Pentru meshroom_compute.sh
#!/bin/bash
./meshroom.sh bin/meshroom_compute $@
și pentru
meshroom_photogrammetry.sh
#!/bin/bash
./meshroom.sh bin/meshroom_photogrammetry $@
Din nou, parsați parametrul
--help
pentru a lista documentația și lista de parametri.
macOS
Cele mai multe dintre stațiile de lucru macOS nu au nici placi grafice NVIDIA, prin
urmare, acestea nu pot rula CUDA, pentru partea MVS. Deci, compilarea și utilizarea
Meshroom nu este chiar simplă. Cu toate acestea, Ryan Baumann și-a compilat
propriul Homebrew tap care include formulele necesare, și puteți folosi această
postare pentru a înțelege cum se poate folosi. Rețineți că acest lucru este conceput
ca un prim pas pentru utilizatorii de Mac care doresc să experimenteze cu și să
îmbunătățească programul AliceVision/Meshroom, și, ca urmare, aceste instrucțiuni
pot deveni depășite cu timpul.
Cerințe de sistem
În primul rând, computerul Mac va avea nevoie în prezent de un procesor grafic GPU
NVIDIA cu o capacitate de calcul CUDA de 2,0 sau mai mare. Aceasta este, probabil,
o parte destul de mică din toate Mac-urile disponibile, dar puteți verifica ce procesor
GPU are căutând "About thist Mac" din pictograma Apple în colțul din stânga sus a
ecranului, sub "Graphics". Dacă aveți un procesor NVIDIA GPU listat aici, puteți
verifica capacitatea sa de calcul pe pagina NVIDIA CUDA GPU.
În al doilea rând, va trebui să instalați ultima versiune a pachetului CUDA. În momentul
scrierii articolului (copiat de pe sait în ianuarie 2020), ultima versiune este CUDA 10.1,
care este compatibilă oficial cu OS X 10.13 (High Sierra), astfel încât este necesar să
faceți upgrade la cea mai recentă versiune de High Sierra (dar nu Mojave!) dacă nu
ați făcut-o deja. Pe lângă aceasta, se sugerează, de asemenea, să se instaleze cel
mai recent driver web NVIDIA CUDA GPU, care, în acest moment este
387.10.10.10.40.118.
În al treilea rând, CUDA 10.1 este compatibilă numai cu versiunea de ``clang`
distribuită cu Xcode 10.1 <https://docs.nvidia.com/cuda/cuda-installation-guide-macos-x/index.html>`__, și va refuza să fie compilată cu orice altceva. Este posibil să aveți
instalată o versiune mai veche sau mai nouă de Xcode. La momentul scrierii
articolului, dacă ați actualizat Xcode cu actualizarea completă a OS X, aveți Xcode
10.1. Pentru a reveni la Xcode 10.1, ceea ce puteți face este să mergeți la pagina de
descărcare Apple Developer (pentru care veți avea nevoie de un cont gratuit pentru
dezvoltatori Apple), apoi să căutați “Xcode 10.1”, apoi să instalați pachetul Command
Line Tools for Xcode 10.1 pentru versiunea OS instalată. După instalare, rulați sudo
xcode-select --switch /Library/Developer/CommandLineTools apoi verificați dacă versiunea
clang --version afișează Apple LLVM version 10.0.0 .
După ce ați făcut toate acestea, puteți verifica o instalare CUDA de lucru
accesând /Developer/NVIDIA/CUDA-10.1/samples/1_Utilities/deviceQuery și executând sudo
make && ./deviceQuery , care ar trebui să vă dea informații despre GPU. Dacă nu este
construit corect (adică vedeți mesajul nvcc fatal : The version ('??.?') of the host
compiler ('Apple clang') is not supported ), sau erori deviceQuery sau nu este listat GPU
de pe computer, reluați pașii descriși mai sus și verificați dacă totul este actualizat
(puteți verifica, de asemenea, panoul CUDA din System Preferences).
Următoarele instrucțiuni descriu instalarea Homebrew.
Instalare pe macOS
Dacă ați urmat toate instrucțiunile și cerințele de configurare de mai sus, instalarea
bibliotecilor/cadrului AliceVision ar trebui să fie simplă:
brew install ryanfb/alicevision/alicevision
Instalarea și folosirea Meshroom
Acest tutorial nu oferă o formulă Homebrew pentru pachetul Meshroom propriu-zis,
deoarece folosește tot Python și nu pare deosebit de dificil de a instala / utilizarea
odată ce AliceVision este instalat și funcționează corect. Doar urmați instrucțiunile de
instalare (pentru configurarea/instalarea Python specifică am utilizat-o pip3 în loc de
pip și python3 în loc de python ):
wget 'https://github.com/alicevision/meshroom/archive/v2019.1.0.zip'
unzip v2019.1.0.zip
cd meshroom-2019.1.0
pip install -r requirements.txt
Notă
Binarele AliceVision legate de CUDA, invocate de Meshroom, nu găsesc automat
bibliotecile CUDA pe calea DYLD_LIBRARY_PATH , și setarea DYLD_LIBRARY_PATH din shell
care lansează Meshroom nu pare să primească variabila transmisă în mediul shell
Meshroom utilizat pentru transmitere comenzi. Fără aceasta, veți obține o eroare ca:
dyld: Library not loaded: @rpath/libcudart.10.1.dylib
Referenced from: /usr/local/bin/aliceVision_depthMapEstimation
Reason: image not found
Pentru a evita eroarea, puteți lega - symlink bibliotecile CUDA la /usr/local/lib (cele
mai multe dintre celelalte rezolvări le-am găsit prin modificarea permanentă a
DYLD_LIBRARY_PATH
simplă):1
care pare mai confuză sau mai fragilă decât această abordare mai
for i in /Developer/NVIDIA/CUDA-10.1/lib/*.a /Developer/NVIDIA/CUDA-10.1/lib/*.dylib; do ln
-sv "$i" "/usr/local/lib/$(baseNume "$i")"; done
Puteți anula/dezinstala acest lucru cu:
for i in /Developer/NVIDIA/CUDA-10.1/lib/*.a /Developer/NVIDIA/CUDA-10.1/lib/*.dylib; do rm
-v "/usr/local/lib/$(baseNume "$i")"; done
De asemenea, poate doriți să descărcați setul de date voctree:
curl
'https://gitlab.com/alicevision/trainedVocabularyTreeData/raw/master/vlfeat_K80L3.SIFT.tree
' -o /usr/local/Cellar/alicevision/2.1.0/share/aliceVision/vlfeat_K80L3.SIFT.tree
Apoi lansați cu:
ALICEVISION_SENSOR_DB=/usr/local/Cellar/alicevision/2.1.0/share/aliceVision/cameraSensors.d
b
ALICEVISION_VOCTREE=/usr/local/Cellar/alicevision/2.1.0/share/aliceVision/vlfeat_K80L3.SIFT
.tree PYTHONPATH=$PWD python meshroom/ui
Importul unor fotografii, clic pe “Start”, așteptați un timp, și sperăm că ar trebui să se
încheie cu o rețea reconstruită și texturată (iată un exemplu propriu pe care l-am
încărcat pe SketchFab). În mod implicit, rezultatul reconstrucției se află în
MeshroomCache/Texturing/ (în raport cu locul în care ați salvat fișierul de proiect).
Când lansați Meshroom fără sudo, calea temp va fi ceva de genul:
Când începeți cu sudo, calea implicită va fi /tmp/MeshroomCache.
Docker
O imagine oficială a Meshroom poate fi găsită pe Docker Hub. Informațiile relevante
despre Dockerfile pot fi găsite în root directory of the sources
Imaginea se bazează pe docker NVIDIA care trebuie să fie instalat. Puteți urmări
tutorialul oficial NVIDIA aici.
Pentru a executa imaginea docker:
docker pull alicevision:meshroom
docker run -it --runtime=nvidia meshroom
Interfața grafică cu utilizatorul (GUI)
Când porniți pentru prima dată Meshroom, se deschid două ferestre:
• fereastra de interfață linie de comandă (Aveți posibilitatea să ignorați sau să
minimizați această fereastră. Nu închideți această fereastră pentru că se va
închide și Meshroom).
• principala interfață grafică cu utilizatorul (GUI) cu panouri diferite:
Menu bar: File / View / About
Start/Pause/Stop/(Submit) processing with progress bar below
Images Pane
Image Viewer Pane
3D Viewer Pane
Graph Editor Pane
Graph Editor Properties Pane
Cache Folder File Path (where temp files and final results are stored)
Puteți apuca o margine de panou
panoului.
și să o mutați pentru a modifica mărimea
Import simplu
Folosiți tehnica drag-n-drop pentru a trage imaginile din folderul cu imagini sau întregul
folder cu imagini în panoul Images din partea stângă.
Puteți previzualiza imaginile din panoul Image Viewer. Pentru a afișa metadatele
imaginii, faceți clic pe pictograma (i) din colțul din dreapta jos. Pentru imagini cu
informații GPS încorporate, va fi afișat un cadru openstreetmap suplimentar.
Notă
Dacă imaginile nu vor apărea în panoul Images după ce le-ați importat, aparatul foto
nu a fost recunoscut corect. Asigurați-vă că datele EXIF conțin toate informațiile
relevante ale camerei. Dacă importul tot nu reușește, aparatul foto nu se află în baza
de date sau fișierele imagine nu sunt valide.
Începerea reconstrucției
Faceți clic pe butonul verde Start pentru a începe procesarea. Pentru a o opri /
întrerupe temporar, clic pe butonul Stop. Progresul reconstrucției va fi menținut.
Există două bare de progres: linia de sub bara de meniu care indică progresul global
iar cealaltă în Graph Editor în cadrul nodurilor (nodes). Pentru a obține un jurnal de
progres detaliat, deschideți fereastra CommandLine sau faceți clic pe nodul care vă
interesează și accesați fila Log din panoul cu proprietăți al Graph Editor.
Puteți deschide (Folderul-Proiectului)
MeshroomCache pentru a vedea rezultatul
fiecărui nod. (Comandă rapidă: Pictograma și calea din partea din stânga jos a
ferestrei principale)
Un folder nod conține ieșirea nodului. În mod implicit Meshroom utilizează un ID unic
pentru a denumi folderele de ieșire, astfel prevenind suprascrierea datelor și
permițând reutilizarea rezultatelor deja calculate ale proiectului.
Exemplu: Nu sunteți mulțumit de primul rezultat și efectuați modificări la nodul
StructureFromMotion. Noua ieșire va fi plasată sub un alt nume în interiorul folderului
StructureFromMotion.
Puteți modifica numele folderelor de ieșire ale nodurilor dumneavoastră, făcând clic
pe nod și schimbând numele Output Folder din fila Attributes a panoului cu
proprietăți Graph Editor.
Vizualizator 3D
Vizualizatorul 3D va previzualiza SfM Pointcloud, camereși rețea - Mesh. Puteți utiliza
mouse-ul sau bara de instrumente de rotire/scalare din partea stângă. Puteți ține
apăsată tasta Shift pentru deplasare în scena 3D. Apăsați F pentru a reseta
vizualizarea. Dublu-click pentru a crea un nou centru de rotație pentru rețea - Mesh.
Pentru a afișa modelul final, în partea de jos apare un buton pentru a încărca modelul
(Load model). Debifați stratul SfM pentru o vizualizare mai bună. Pentru a potrivi din
nou modelul 3D la noile dimensiuni ale panoului dacă i-ați schimbat dimensiunea,
faceți right-click pentru a afișa un meniu cu opțiuni de remontare.
În mod implicit, rezultatele StructureFromMotion și Texturing vor fi adăugate la
straturile din Scene. Puteți adăuga ieșirile altor variante de nod la Scenă în
vizualizatorul 3D Viewer făcând dublu clic pe noduri. Noduri acceptate:
StructureFromMotion, Texturing, MeshDecimate, MeshDenoise, MeshResampling
3D Model Modelul 3D final va fi salvat în Project Folder →MeshroomCache →
Texturing
În mod implicit, acesta va fi salvat în formatul OBJ. Aveți posibilitatea să modificați
formatul în setările nodului.
Notă
În prezent, Meshroom nu acceptă realinierea modelului, astfel încât modelul poate fi
orientat cu susul în jos în raport cu grila. Puteți schimba orientarea într-un alt software,
cum ar fi Meshlab.
Reconstrucție îmbunătățită
Folosnd drag-n-drop puteți adăuga imagini suplimentare în partea inferioară a
panoului Images, numite Augment Reconstruction. Pentru fiecare lot de imagini, va
fi creat un grup nou Group în panoul Images. Puteți prelua loturi succesive de imagini
N în panoul Images, iar pentru fiecare lot de imagini graficul se va ramifica.
Puteți utiliza această metodă pentru scene complexe cu mai multe obiecte.
Notă
Imaginile nu pot fi adăugate în timpul procesării
Notă
Grupurile vor fi îmbinate utilizând nodul ImageMatchingMultiSfM. Citiți descrierea
nodului pentru detalii
Reconstrucție live - în timp real
Reconstrucția live este menită să fie utilizată împreună cu o cameră care poate
transfera imagini pe un computer în timp ce fotografiați (folosind wifi, un card wifi sdcard sau Tethering). Meshroom poate verifica dacă în folder apar imagini noi și poate
îmbunătăți succesiv versiunile SfM anterioare (point cloud + camera) după fiecare
{Min. Images} per Step. Acest lucru permite obținerea unei previzualizări iterative în
timp real, de exemplu, pentru a vedea ce zone ale setului de date necesită o acoperire
mai mare.
Pentru a activa Live Reconstruction accesați bara de meniu View
:math:`Rightarrow` Live Reconstruction Apare un panou nou Live Reconstruction
sub panoul Images.
Pentru fiecare import nou, va fi creat un grup nou Image Group în panoul Images. De
asemenea, Graph Editor actualizează desenul, adăugând noduri pentru a procesa
imaginile nou adăugate și adăugând nodurile la pipeline.
Selectați Image Folder pentru a viziona și minimul de imagini noi care vor fi importate
pe pas. Clic Start în panoul Live Reconstruction pentru a începe monitorizarea
folderului selectat pentru fișiere noi. Apoi, ar trebui să vedeți în grafic o ramură (de la
CameraInit până la StructureFromMotion) pentru fiecare lot de imagini. 1 Procesul
de reconstrucție se va opri la ultimul nod procesat StructureFromMotion și nu va
trece automat prin restul conductei implicite. Acest lucru este din motive practice.
Cloud-ul point se va actualiza în timp real cu imagini nou adăugate. Calcularea
nodurilor rețelei pentru fiecare nou lot de imagini nu este eficientă.
După ce ați terminat procesul de capturare a imaginii, clic Stop și deconectați nodul
PrepareDenseScene de la primul nod StructureFromMotion și conectați-l cu ultimul
nod StructureFromMotion.
Note
Grupurile vor fi îmbinate utilizând nodul ImageMatchingMultiSfM. Citiți descrierea
nodului pentru detalii.
Un video demo poate fi găsit aici: https://www.youtube.com/watch?v=DazLfZXU_Sk
Reconstrucție externă
Utilizați această opțiune atunci când calculați extern după trimitere la o fermă de
randare din meshroom. (trebuie să aveți acces la o fermă de randare și este nevoie
de submitterul corespunzător).
În acest fel, puteți face uz de putere de calcul externe. Dacă nu puteți calcula nodurile
GPU la nivel local (fără cuda), le puteți trimite.
Submitteri disponibili:
• Pixar Renderman Tractor
• Fireworks (https://materialsproject.github.io/fireworks/)
WIP
Parametrii avansați pentru nod
Acest PR introduce noțiunea de parametri "avansați" pe noduri. Scopul este de a
separa atributele experimentale / de depanare / avansate ale utilizatorului final. Pe
partea de interfață a utilizatorului, AttributeEditor a fost reproiectat și oferă acum o
opțiune suplimentară pentru a afișa/ ascunde acei parametri avansați.
Importarea vechiului proiect Meshroom
•
Proiectele create într-o versiune mai veche de Meshroom pot fi importate.
•
•
•
Nodul CameraConnection a fost eliminat în versiunea v2019.1. Trebuie să
reconectați nodurile vecine..
Cu o nouă versiune de Meshroom, unele noduri ar putea necesita o actualizare la
noua versiune.
Proiectele create într-o versiune mai nouă pot deveni incompatibile cu o versiune
mai veche.
Testarea Meshroom
Pentru prima reconstrucție în Meshroom, descărcați Monstree Image Dataset. Puteți
previzualiza modelul Monstree pe Sketchfab.
Setul de date Monstree este bine realizat, astfel încât nu ar trebui să existe erori sau
probleme în timpul reconstrucției. Acest lucru poate fi diferit atunci când utilizați
propriul set de date imagine.
Importați imaginile în Meshroom glisându-le din panoul Images. Pentru testare, există
foldere diferite în setul de date Monstree: complet (toate imaginile), mini6 (6 imagini)
și mini3 (3 imagini).
Puteți previzualiza imaginile selectate în panoul Image Viewer. Pentru a afișa
metadatele imaginii, faceți clic pe pictograma (i) din colțul din dreapta jos. Pentru
imagini cu informații GPS încorporate va fi afișat un cadru openstreetmap suplimentar.
În Editorul grafic puteți vedea conducta (pipeline) implicită gata de utilizare.
Editorul grafic conține nodurile de procesare ale conductei. Pentru acest proiect nu
aveți nevoie să schimbați nimic! De fapt, pentru multe proiecte conducta implicită oferă
rezultate bune.
Puteți mări sau restructura nodurile. Puteți menține tasta Shift pentru a vă deplasa în
scenă (pan), folosind mouse-ul. Pentru a insera noduri noi faceți clic dreapta în panoul
Editor grafic. Pentru Editorul grafic, utilizați butoanele din partea stângă jos a panoului
pentru (re)ordonare.
Înainte de a începe reconstrucția, salvați proiectul în folderul Monstree. (FIle? Save
As) (HDD ar trebui să aibă suficient spațiu liber.)
Reconstrucție: Cât timp durează?
Puteți calcula cu 30sec. per imagine pe un computer cu i7@2,9GHz, GTX1070 8GB,
32GB Ram.
Performanţă: % din timpul de procesare global cu conducte implicite: ~38% DepthMap
/ ~24% Meshing
În versiunea 2019.1.0, timpul de reconstrucție a fost redus cu ~30% în comparație cu
versiunea 2018.1. Mărimea fișierelor din folderul Cache a fost redusă cu 20% Testat
cu Monstree Dataset: (compararea numai a timpului de calcul, nu și a calității) Timp
de calcul în secunde: (total MR2018 260s / MR2019 185s)
(Link la testul Scanbox 2018)
Pentru o evaluare completă a conductelor, inclusiv evaluarea “Tanks and Temples”
citiți articolul D5.4: Deliver 3D reconstruction benchmarks with dataset disponibil
pe https://cordis.europa.eu/project/rcn/205980/results/en in Documents, Reports.
Conectare noduri
Grafic implicit
Conexiunile nodului din default Graph pot fi dificil de înțeles. Următoarele imagini
ilustrează modul în care sunt conectate nodurile.
Această imagine ilustrează graficul implicit cu conexiuni ale nodurilor pe noduri
originale:
Cum se folosește Draft Meshing
Panorama graph
Nod de referință
Listează toate nodurile
Notă
Unii parametri experimentali/de depanare/avansați sunt vizibili doar cu "Advanced
Attributes" activat. Pentru a activa "Atribute avansate", faceți clic pe cele trei puncte
verticale din colțul din dreapta sus al setărilor nodului și activați caseta de selectare.
Unele caracteristici, setări și noduri sunt disponibile numai în cea mai recentă versiune
de compilare sau dezvoltator.
CameraCalibration
Descriere
Notă
Acest nod necesită AliceVision compilat cu OpenCV.
Parametrii interni ai camerei pot fi calibrați din mai multe vizualizări de tip
checkerboard. Acest lucru permite a preluarea distanței focale, punctul principal și
parametrii de distorsiune. O explicație detaliată este prezentată în
[opencvCameraCalibration].
[opencvCameraCalibration] http://docs.opencv.org/3.0beta/doc/tutorials/calib3d/camera_calibration/camera_calibration.html
Nume
Descriere
Input
Introducerea imaginilor într-una din următoarele forme:
- dosar care conține imagini
- secvență de imagini, cum ar fi “/path/to/
[email protected]”
- fișier video
Pattern
Tip de model (modele camera calibration) - CHESSBOARD CIRCLES - ASYMMETRICCIRCLES - ASYMMETRICCCTAG
Size
(Dimensiunea modelului) - Numărul de colțuri interioare pe una din
dimensiunea plăcii, cum ar fi Width (7) Height (5) (0-10000)
Square Size
Dimensiunea celulelor pătrate ale grilei (0-100mm) (1)
Nb Distortion
Coef
Numărul coeficientului de distorsiune (0-5) (3)
Max Frames
Numărul maxim de cadre de extras din fișierul video (0-5) (0)
Calib Grid
Size
Definirea numărului de celule per margine (0-50)
Max Calib
Frames
Numărul maxim de cadre de utilizat pentru calibrarea cadrelor
selectate (0-1000)
Min Input
Frames
Număr minim de cadre pentru a limita bucla de rafinare (0-100)
Nume
Descriere
Max Total
Average Error
Eroare medie totală maximă (0-1)
Debug
Rejected Img
Folder
Folder pentru a exporta imagini șterse în timpul buclei de rafinare
Debug
Selected Img
Folder
Folder de exportat imagini de depanare
Output
Numele fișierului de ieșire pentru parametri intrinseci [și extrinseci]
(implicit fileName cameraCalibration.cal)
Detalii
Modele
TABLĂ DE ȘAH
https://github.com/artoolkit/artoolkit5/blob/master/doc/patterns/Calibration%20chessboard%
20(A4).pdf
Eșantion video de calibrare a tablei de șah https://vimeo.com/141414129
CERCURI
CERCURI_ASIMETRICE https://nerian.com/support/resources/patterns/
CCTAG_ASIMETRIC https://github.com/alicevision/CCTag
O listă cu alte instrumente de calibrare a camerei și modele poate fi găsită aici
https://github.com/natowi/CameraCalibTools
CameraInit
Descriere
- încărcare metadate de imagine și informații senzor. Puteți amesteca mai multe
camere și distanțe focale. CameraInit va crea grupuri de intrinseci pe baza imaginilor
din metadate. Este încă bine să fie mai multe imagini cu aceeași cameră și aceleași
lungimi focale, deoarece adaugă constrângeri pe parametrii camerelor interne. Dar
puteți combina mai multe grupuri de imagini, nu va reduce calitatea finală a model.1
Notă: În unele cazuri, unele imagini nu au număr de serie pentru a identifica
dispozitivul aparatului foto/obiectivului. Acest lucru face imposibilă gruparea corectă a
imaginilor după dispozitiv dacă ați utilizat mai multe dispozitive de cameră identice
(același model). Reconstrucția va presupune că a fost folosit un singur dispozitiv,
astfel încât, dacă 2 imagini au aceeași aproximare a distanței focale, vor împărtăși
aceiași parametri interni ai camerei. Dacă doriți să utilizați mai multe camere, adăugați
un număr de serie corespunzător la setările pentru datele EXIF:header: “Name”,
“Description” :widths: 15, 30
Viewpoints
Input
viewpoints (1 Element for each loaded image) - ID - Pose ID Image Path - Intrinsic: Internal Camera Parameters (Intrinsic ID)
- Rig (-1 - 200) - Rig Sub-Pose: Rig Sub-Pose Parameters (-1 - 200)
- Image Metadata: (lista elementelor de metadate)
•
Intrinsic
Camera
Intrinsics
(1 Element for each loaded image) - ID - Initial Focal Length:
Initial Guess on the Focal Length - Focal Length:
Known/Calibrated Focal Length - Camera Type: pinhole’,
‘radial1’, ‘radial3’, ‘brown’, ‘fisheye4’ - #Make: Camera Make
(not included in this build, commented out) - #Model: Camera
Model - #Sensor Width: Camera Sensor Width - Width: Image Width (0-10000) - Height: Image Height (0-10000) - Serial
Number: Device Serial Number (aparat foto și obiectiv combinate)
- Principal Point: X (0-10000) Y(0-10000)- DistortionParams:
Distortion Parameters - Locked(True/False): Dacă aparatul foto a
fost calibrat, parametrii interni ai aparatului foto (intrinseci) pot fi
blocați. Acesta ar trebui să îmbunătățească robustețea și
accelerarea reconstrucției.
Sensor
Database
Calea bazei de date a senzorului de cameră
Default
Field Of
View
Valoare empirică pentru câmpul vizual în grade 45° (0°-180°)
Verbose
Level
nivel de verbositate (fatal, error, warning, info, debug, trace)
Output
SfMData
File
…/cameraInit.sfm
Notă
Problemă: structura de la reconstrucția mișcării pare distorsionată și nu a reușit să
alinieze unele grupuri de camere atunci când încarcă imagini fără distanță focală
Soluţie: Păstrați valoarea init "Focal lenght" dar setați “Initial Focal Length” la -1 dacă
nu sunteți sigur care este valoarea.
https://github.com/alicevision/meshroom/issues/434
CameraLocalization
Descriere
Pe baza rezultatelor SfM, putem efectua localizarea camerei și să recuperăm
mișcarea unei camere animate în scena reconstrucției 3D. Acest lucru este foarte util
pentru a face reproiectarea texturii în alt program software, ca operație separată de
curățare a texturii. Ar putea fi, de asemenea, utilizate pentru a folosi Meshroom ca
urmărire camera 3D, ca parte a VFX pipeline.
https://alicevision.github.io/#photogrammetry/localization
Setări
Nume
Descriere
SfM Data
Un fel de fișier sfm_data.json generat de AliceVision
Media File
Calea la folder sau NumeFisier care va fi urmărit de media
Visual Debug
Folder
Dacă un folder este furnizat permite depanare vizuală și salvează
toate informațiile de depanare în acel folder
Descriptor Path
Folder care conține descriptorii pentru toate imaginile (adică .desc.)
Match Desc
Types
Tipuri de descriptori de utilizat pentru potrivire: sift’, ‘sift*float’,
‘sift*upright’, ‘akaze’, ‘akaze*liop’, ‘akaze*mldb’, ‘cctag3’,
‘cctag4’, ‘sift*ocv’, ‘akaze*ocv
Preset
Presetare pentru extractorul de caracteristici când se localizează o
imagine nouă (low, medium, normal, high, ultra)
Resection
Estimator
Tipul de cadru /sac de utilizat pentru rezecție (acransac, loransac)
Matching
Estimator
Tipul de cadru /sac de utilizat pentru potrivire (acransac, loransac)
Calibration
Fișier de calibrare
Refine
Intrinsics
Activarea/dezactivarea rafinamentului intrinsec al camerei pentru
fiecare imagine localizată
Reprojection
Error
Eroare maximă de reproiecție (în pixeli) permisă pentru rezecție.
Dacă este setată la 0 permite ACRansac să aleagă o valoare optimă
(0.1 - 50)
Nb Image
Match
[voctree] Număr de imagini de regăsit în baza de date (1 - 1000)
Max Results
[voctree] Pentru algoritmul AllResults, se oprește imaginea de
potrivire atunci când se ajunge la numărul de imagini potrivite.
Dacă este 0 este ignorat (1 - 100)
Commonviews
[voctree] Numărul de imagini minime în care un punct trebuie văzut
ca fiind utilizat în urmărirea clusterului (2 - 50)
Voctree
[voctree] NumeFisier pentru arborele de vocabular
Voctree
Weights
[voctree] NumeFisier pentru greutățile arborelui de vocabular
Algorithm
[voctree] Tip algoritm: (FirstBest, AllResults)
Nume
Descriere
Matching Error
[voctree] Eroare maximă de potrivire (în pixeli) pentru potrivirea
imaginilor cu verificarea geometrică. Dacă este setat la 0, permite
ACRansac să aleagă o valoare optimă (0 - 50)
Nb Frame
Buffer
Matching
[voctree] Numărul cadrului anterior al secvenței de utilizat pentru
potrivire (0 = Disable) (0 - 100)
Robust
Matching
[voctree] Activarea/ dezactivarea potrivirii robuste între imaginile
de interogare și baza de date, toate potrivirile putative vor fi luate în
considerare
N Nearest Key
Frames
[cctag] Număr de imagini de regăsit în baza de date Parametri
specifici pentru optimizarea finală (opțională) a ajustării secvenței:
(1-100)
Global Bundle
[bundle adjustment] Dacă –refineIntrinsics nu este setat, această
opțiune permite să ruleze o ajustare finală la pachetul global pentru
a rafina scena
No Distortion
[bundle adjustment] Aceasta nu ia în considerare denaturarea în
timpul BA, aceasta consideră toți coeficienții de denaturare egali cu
zero
No BA Refine
Intrinsics
[bundle adjustment] Nu rafinează intrinsecile în timpul BA
Min Point
Visibility
[bundle adjustment] Numărul minim de observații pe care trebuie să
le aibă un punct pentru a fi luat în considerare pentru ajustare (2-50)
Output
Alembic
NumeFisier pentru fișierul de export SfMData (unde vor fi stocate
pozițiile camerei) desc.Node.internalFolder + ‘trackedCameras.abc
Output JSON
NumeFisier pentru rezultatele localizării ca .json
desc.Node.internalFolder + ‘trackedCameras.json
CameraRigCalibration
Descriere
Dacă se utilizează o platformă pentru camere, putem efectua calibrarea platformei.
Localizăm camerele individual pe întreaga secvență. Apoi folosim toate pozițiile valide
pentru a calcula pozițiile relative între camerele platformei și pentru a alege valoarea
mai stabilă din imagini. Apoi, vom inițializa rig relativă pune cu această valoare și de
a efectua o ajustare globală Bundle pe toate camerele de pe platforma. Când
platforma este calibrată, o putem folosi pentru a localiza direct poziția platformei din
sistemul sincronizat cu mai multe camere cu abordări [Kneip2014].
Calibrarea platformei găsește pozițiile relative între toate camerele folosite. Este
nevoie de un point cloud ca intrare și poate utiliza caracteristicile CCTag și SIFT pentru
localizare. Implicația este că toate camerele trebuie să vadă caracteristici (fie SIFT
sau CCTag) care fac parte din point cloud, dar ele nu trebuie să respecte / observe
regiuni care se suprapun.
(Vezi:POPART: Previz for Onset Production Adaptive Realtime Tracking)
“Având în vedere poziția cadrului de referință urmărit în raport cu sistemul de captare
a mișcării și cadrele optice de referință, este posibilă regăsirea transformării dintre
cadrele de referință urmărite și cele optice”1 “În practică, este deosebit de dificil să
faci cadrul urmărit să coincidă cu cadrul optic al camerei, astfel încât este necesară o
procedură de calibrare pentru a estima această transformare și pentru a obține
precizia milimetrică” [Chiodini et al. 2018]
[Chiodini et al. 2018] Chiodini, Sebastiano & Pertile, Marco & Giubilato, Riccardo &
Salvioli, Federico & Barrera, Marco & Franceschetti, Paola & Debei, Stefano. (2018).
Camera Rig Extrinsic Calibration Using a Motion Capture System.
10.1109/MetroAeroSpace.2018.8453603.
https://www.researchgate.net/publication/327513182CameraRigExtrinsicCalibration
UsingaMotionCapture_System
https://alicevision.github.io/#photogrammetry/localization
[Kneip2011] A Novel Parametrization of the Perspective-Three-Point Problem for a
Direct Computation of Absolute Camera Position and Orientation. L. Kneip, D.
Scaramuzza, R. Siegwart. June 2011
[Kneip2013] Using Multi-Camera Systems in Robotics: Efficient Solutions to the NPnP
ProblemL. Kneip, P. Furgale, R. Siegwart. May 2013
[Kneip2014] OpenGV: A unified and generalized approach to real-time calibrated
geometric vision, L. Kneip, P. Furgale. May 2014.
[Kneip2014] Efficient Computation of Relative Pose for Multi-Camera Systems. L.
Kneip, H. Li. June 2014
Setări
Nume
Descriere
SfM Data
Fișierul sfmData
Media Path
Calea către fișierul video, folderul secvenței de imagini sau un
fișier text (calea către imagine pe fiecare linie) pentru fiecare
cameră a platformei (de ex. – mediapath /path/to/cam1.mov
/path/to/cam2.mov)
Camera
Intrinsics
Fișierul de calibrare intrinsecă pentru fiecare cameră a platformei.
(de ex. –cameraIntrinsics /path/to/calib1.txt /path/to/calib2.txt)
Export
FileNume pentru fișierul alembic care conține platforma reprezintă
cu puncte 3D. De asemenea, salvează un fișier pentru fiecare
cameră Numed ‘fileNume.cam##.abc (trackedcameras.abc)
Descriptor Path
Folderul care conține .desc
Match Describer
Types
Tipurile de descriptor de utilizat pentru potrivirea ‘sift’,
‘sift*float’, ‘sift*upright’, ‘akaze’, ‘akaze*liop’, ‘akaze*mldb’,
‘cctag3’, ‘cctag4’, ‘sift*ocv’, ‘akaze*ocv’
Nume
Descriere
Preset
Presetare pentru extractorul de caracteristici la localizarea unei
imagini noi (scăzut, mediu, normal, ridicat, ultra)
Resection
Estimator
Tipul de cadru /sac de utilizat pentru rezecție (acransac
Matching
Estimator
Tipul de cadru /sac de utilizat pentru potrivire (acransac, loransac)
Refine Intrinsics
Activarea/dezactivarea rafinamentului intrinsec al camerei pentru
fiecare imagine localizată
Reprojection
Error
Eroare maximă de reproiecție (în pixeli) permis pentru rezecție.
Dacă este setat la 0, permite acransac-ului să selecteze o valoare
optimă. (0 - 10)
Max Input
Frames
Numărul maxim de cadre de citit în intrare. 0 înseamnă fără limită
(0 - 1000)
Voctree
[voctree] FileNume pentru arborele de vocabular
Voctree Weights
[voctree] FileNume pentru greutatea arborelui de vocabular
Algorithm
[voctree] Tip algoritm: {FirstBest, AllResults}
Nb Image Match
[voctree] Numărul de imagini de regăsit în baza de date (0 - 50)
Max Results
[voctree] Pentru algoritm AllResults, oprește potrivirea imaginii
atunci când se atinge acest număr de imagini potrivite. Dacă 0 este
ignorat (0 - 100)
Matching Error
[voctree] Eroare maximă de potrivire (în pixeli) permisă pentru
potrivirea imaginii cu verificarea geometrică. Dacă este setat la 0,
permite ACRansac să selecteze o valoare optimă (0 - 10)
N Nearest Key
Frames
[cctag] Numărul de imagini de regăsit în baza de date (0 - 50)
Output File
Numele fișierului în care se stochează datele de calibrare
(desc.Node.internalFolder + ‘cameraRigCalibration.rigCal)
Voctree Weights: http://www.ipol.im/pub/art/2018/199/ voctree (opțional): Pentru
seturi de date mai mari (/>200 de imagini), îmbunătățește foarte mult performanțele
de potrivire a imaginilor.
Acesta poate fi descărcat de aici. https://github.com/fragofer/voctree
Trebuie să specificați calea către vlfeat_K80L3.SIFT.tree în Voctree.
CameraRigLocalization
Descriere
Acest nod preia transformarea dintre cadrele de referință urmărite și cele optice.(?)
https://alicevision.github.io/#photogrammetry/localization
Setări
Nume
Descriere
SfM Data
Fișierul sfmData
Media Path
Calea către fișierul video, folderul secvenței de imagini sau un fișier
text (calea către imagine pe o linie) for each camera of the rig (eg. –
mediapath /path/to/cam1.mov /path/to/cam2.mov)
Rig
Calibration
File
Fișierul care conține datele de calibrare pentru platformă (subpozii)
Camera
Intrinsics
Fișierul de calibrare intrinseci pentru fiecare cameră a platformei. (eg.
–cameraIntrinsics /path/to/calib1.txt /path/to/calib2.txt)
Descriptor
Path
Folderul care conține .desc
Match
Describer
Types
Tipurile de descriptor de utilizat pentru potrivire (sift’, ‘sift*float’,
‘sift*upright’, ‘akaze’, ‘akaze*liop’, ‘akaze*mldb’, ‘cctag3’, ‘cctag4’,
‘sift*ocv’, ‘akaze*ocv’)
Preset
Presetare pentru extractorul de caracteristici la localizarea unei imagini
noi (scăzută, medie, normală, înaltă, ultra)
Resection
Estimator
Tipul de cadru /sac de utilizat pentru rezecție (acransac, loransac)
Matching
Estimator
Tipul de cadru /sac de utilizat pentru potrivire (acransac, loransac)
Refine
Intrinsics
Activarea/dezactivarea rafinamentului intrinsec al camerei pentru
fiecare imagine localizată
Reprojectio
n Error
Eroare maximă de reproiecție (în pixeli) permisă pentru rezecție. Dacă
este setat la 0, permite ACRansac să selecteze o valoare optimă (0 10)
Use
Localize
Rig Naive
Activare/Dezactivare metodă naivă pentru localizarea platformei:
metoda naivă încearcă să localizeze separat fiecare cameră
Nume
Descriere
Angular
Threshold
Pragul unghiular maxim în grade între vectorul portant al caracteristicii
și direcția punctului 3D. Utilizat numai cu metoda opengv (0 - 10)
Voctree
[voctree] nume fișier pentru arborele de vocabular
Voctree
Weights
[voctree] nume fișier pentru greutatea arborelui de vocabular
Algorithm
[voctree] Tip algoritm: {FirstBest, AllResults}
Nb Image
Match
[voctree] Numărul de imagini de regăsit în baza de date
Max Results
[voctree] Pentru algoritmul AllResults, se oprește potrivirea imaginii
atunci când este atins acest număr de imagini potrivite. Pentru 0 este
ignorat (0 - 100)
Matching
Error
[voctree] Eroare maximă de potrivire (în pixeli) permisă pentru
potrivirea imaginii cu verificarea geometrică. Dacă este setat la 0,
permite ACRansac să selecteze o valoare optimă (0 - 10)
N Nearest
Key Frames
[cctag] Numărul de imagini de regăsit în baza de date (0 - 50)
Output
Alembic
Nume fișier pentru fișierul de export SfMData (unde vor fi stocate
pozițiile camerei) desc.Node.internalFolder + ‘trackedcameras.abc
ConvertSfMFormat
Descriere
• Creează fișiere SfM abc’, ‘sfm’, ‘json’, ‘ply’, ‘baf din fișierul SfMData
Setări
Nume
Descriere
Input
Fișier SfMData
SfM File
Format
Format fișier SfM (extensie fișier ieșire: abc’, ‘sfm’, ‘json’, ‘ply’,
‘baf)``
Describer
Types
Image id
Tipuri de descrieri de păstrat. 'sift',
'sift_float',
'sift_upright', 'akaze', 'akaze_liop', 'akaze_mldb', 'cctag3',
'cctag4', 'sift_ocv', 'akaze_ocv'
ID imagine
Nume
Descriere
Image White
List
listă albă de imagini (uids sau căi imagine).
Views
Exportul vizualizărilor
Intrinsics
Exportul intrinseci
Extrinsics
Exportul extrinseci
Structure
Exportul structurii
Observations
Export observații
Verbose Level
nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire)
Output
Calea către fișierul de date SfM de ieșire. (desc.Node.internalFolder
+ ‘sfm.{fileExtension})
Refine
Intrinsics
Activarea/dezactivarea rafinamentului intrinsec al camerei pentru
fiecare imagine localizată
Reprojection
Error
Eroare maximă de reproiecție (în pixeli) permisă pentru rezecție.
Dacă este setat la 0, permite ACRansac să selecteze o valoare
optimă (0 - 10)
Use Localize
Rig Naive
Activare/Dezactivare metodă naivă pentru localizarea platformei:
metoda naivă încearcă să localizeze separat fiecare cameră
Angular
Threshold
Pragul unghiular maxim în grade între vectorul portant al
caracteristicii și direcția punctului 3D. Utilizat numai cu metoda
opengv (0 - 10)
Voctree
[voctree] Nume fișier pentru arborele de vocabular
Voctree
Weights
[voctree] Nume fișier pentru greutatea arborelui de vocabular
Algorithm
[voctree] Tip algoritm: {FirstBest, AllResults}``
Nb Image
Match
[voctree] Numărul de imagini de regăsit în baza de date
Max Results
[voctree] Pentru algoritmul AllResults, se oprește potrivirea
imaginii atunci când este atins acest număr de imagini potrivite.
Pentru 0 este ignorat (0 - 100)
Nume
Descriere
Matching Error
[voctree] Eroare maximă de potrivire (în pixeli) permisă pentru
potrivirea imaginii cu verificarea geometrică. Dacă este setat la 0,
permite ACRansac să selecteze o valoare optimă (0 - 10)
N Nearest Key
Frames
[cctag] Numărul de imagini de regăsit în baza de date (0 - 50)
Output
Alembic
Nume fișier pentru fișierul de export SfMData (unde vor fi stocate
pozițiile camerei) desc.Node.internalFolder + ‘trackedcameras.abc
Noduri de intrare: StructureFromMotion:Ieşire:math:`Rightarrow`
Intrare:ConvertSfMFormat
Pot converti între formatele Openmvg și Alicevision SfM?
Formatele OpenMVG și AliceVision json sunt foarte asemănătoare ca structură, dar
nu sunt compatibile imediat, deoarece, printre altele, openmvg este un fișier de
serializare a datelor. https://github.com/alicevision/AliceVision/issues/600
DepthMap
Descriere
Regăsește valoarea de adâncime a fiecărui pixel pentru toate camerele care au fost
rezolvate de SfM.
Setări
Nume
MVS Configuration
File:
Descriere
Fișier SfMData.
Images Folder
Utilizare imagini dintr-un anumit folder în locul celor specificate
în fișierul SfMData. Nume fisier ar trebui să fie uid imagine.
Downscale
Factor de desscalare a imaginii (1, 2, 4, 8, 16)
Min View Angle
Unghi minim între două vizualizări.(0.0 - 10.0)
Max View Angle
Unghi maxim între două vizualizări. (10.0 - 120.0)
Nume
Descriere
SGM: Nb
Neighbour
Cameras
Semi Global Matching: Numărul de camere vecine (1 - 100)
SGM: WSH: Semi
Global Matching
Jumătate de dimensiune pentru patch utilizată pentru a calcula
similitudinea (1 - 20)
SGM: GammaC
Potrivire Semi Globală: Prag GammaC (0 - 30)
SGM: GammaP
Potrivire Semi Globală: Prag GammaP (0 - 30)
Refine: Number
of samples
(1 - 500)
Refine: Number
of Depths
(1 - 100)
Refine: Number
of Iterations
(1 - 500)
Refine: Nb
Neighbour
Cameras
Rafinare: Numărul de camere vecine. (1 - 20)
Refine: WSH
Rafinare: Half-size of the patch used to compute the similarity.
(1 - 20)
Refine: Sigma
Rafinare: Prag Sigma (0 - 30)
Refine: GammaC
Rafinare: Prag GammaC. (0 - 30)
Refine: GammaP
Rafinare: Prag GammaP. (0 - 30)
Refine: Tc or Rc
pixel size
Utilizarea dimensiunii minime a pixelilor camerelor vecine (Tc)
sau a dimensiunii curente a pixelului camerei (Rc)
Verbose Level
nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire)
Output
Folder de ieșire pentru hărțile de adâncime generate
Implicit:
Descriere detaliată
Pentru toate camerele care au fost rezolvate de SfM, dorim să recuperăm valoarea de
adâncime a fiecărui pixel. Există multe abordări, ar fi Block Matching, Semi-Global
Matching (SGM) [Hirschmüller2005], [Hirschmüller2008] sau ADCensus [Xing2011].
Ne vom concentra pe metoda SGM implementată în AliceVision.
Pentru fiecare imagine, selectăm cele mai bune/cele mai apropiate camere N din jur.
Selectăm planuri fronto-paralele pe baza intersecției axei optice cu pixelii camerelor
vecine selectate. Acest lucru creează un volum W, H, Z cu mulți candidați adâncime
pe pixel. Estimăm similitudinea pentru toate. Similitudinea este calculată prin corelația
încrucișată normalizată (ZNCC) medie zero a unei zone mici din imaginea principală
reproiectată în cealaltă cameră. Acest lucru creează un volum de similitudini. Pentru
fiecare imagine vecină, acumulăm similitudini în acest volum. Acest volum este foarte
zgomotos. Aplicăm un pas de filtrare de-a lungul axelor X și Y care acumulează costuri
locale care reduc drastic scorul valorilor ridicate izolate. În cele din urmă, selectăm
minimele locale și înlocuim indexul planului selectat cu valoarea de adâncime stocată
într-o hartă de adâncime. Această hartă de adâncime are artefacte de bandă,
deoarece se bazează pe selecția originală a valorilor de adâncime. Deci, un pas de
rafinare este aplicat pentru a obține valori de adâncime cu precizie sub-pixel.
Toate aceste hărți de adâncime pot fi calculate independent în paralel. Apoi aplicăm
un pas de filtrare pentru a asigura coerența între mai multe camere. Un compromis
este ales atât pe baza valorii similitudinii, cât și a numărului de camere coerente pentru
a menține suprafețe slab acceptate, fără a adăuga artefacte.
[Hirschmüller2
005]
Procesare stereo precisă și eficientă prin potrivire semi-globală și
informații reciproce, H. Hirschmüller. CVPR 2005
[Hirschmüller2
008]
Procesare stereo prin potrivire semiglobală și informații reciproce,
H. Hirschmüller, 2008
[Strecha2006]
Adâncime combinată și estimare aberantă în stereo multi-view, C.
Strecha, R. Fransens, and L. Van Gool, CVPR 2006
[Scharstein200
2]
O taxonomie și evaluarea algoritmilor de corespondență stereo cu
două cadre dense, D. Scharstein and R. Szeliski, 2002
[Xing2011]
La construirea unui sistem de potrivire stereo precis pe hardware-ul
grafic. Xing, M., Xun, S., Mingcai Z., Shaohui J., Haitao, W.,
Xiaopeng Z., 2011
DepthMapFilter
Descriere
Hărțile de adâncime originale nu vor fi în întregime consecvente. Anumite hărți de
adâncime vor pretinde că văd zonele care sunt acoperite de alte hărți de adâncime.
Pasul DepthMapFilter izolează aceste zone și forțează consistența adâncimii.
Setări
Nume
Descriere
Input
Fișier SfMData
Depth Map Folder
Folder intrare adâncime hartă
Number of Nearest
Cameras
Numărul celor mai apropiate camere utilizate pentru
filtrare 10 (0 - 20)
Min Consistent Cameras
Număr min. de camere consistente 3 (0 - 10)
Min Consistent Cameras
Bad Similarity
Număr min. de camere consistente pentru pixeli cu
valoare de similitudine slabă 4 (0 - 10)
Filtering Size in Pixels
Dimensiunea filtrării în pixeli (0 - 10)
Filtering Size in Pixels
Bad Similarity
Dimensiunea filtrării în pixeli (0 - 10)
Verbose Level
nivel de verbozitate (fatal, eroare, avertisment, info,
depanare, urmărire)
Output
Folder de ieșire pentru hărțile de adâncime generate
Min Consistent Cameras reduce această valoare dacă nodul Meshing are 0
eșantioane de adâncime de intrare
View Output deschide folderul de ieșire și vizualizează fișiere EXR
ExportAnimatedCamera
Descriere
creează un fișier Alembic animatedCamera.abc de la SFMData (de exemplu, pentru
utilizarea în softwarel de compunere 3D)
Setări
Nume
Descriere
Input SfMData
Fișier SfMData care conține un SfM complet
SfMData Filter
Un fișier SfMData utilizat ca filtru
Nume
Descriere
Export
Undistorted
Images
Valoare export imagini nedistorsionate =True
Undistort Image
Format
Format de fișier imagine de utilizat pentru imagini nedenaturate
(*.jpg, *.jpg, *.tif, *.exr (half))
Verbose Level
nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire)
Output filepath
Calea fișierului de ieșire pentru camera animată alembic
Output Camera
Filepath
Nume de ieșire pentru camera animată alembic internalFolder +
‘camera.abc’
Detalii SFM la ExportAnimatedCamera:
https://www.youtube.com/watch?v=1dhdEmGLZhY
ExportColoredPointCloud
Descriere
Permite exportul de point cloud colorat.
Nume
Descriere
Input SfMData
Fișier SfMData care conține un SfM complet.
Verbose Level
Nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire).
Output Point
Cloud Filepath
Point cloud de ieșiire cu visibilitate ca fișier SfMData.
{cache}/{nodeType}/{uid0}/pointCloud.abc
ExportMatches
Descriere
Salvează caracteristicile și fișierele descriptorilor (.feat, .desc) în folder.
Setări
Nume
Input
Descriere
Fișier SfMData
Nume
Describer
Types
Descriere
Tipuri de descrieri utilizate pentru a descrie o imagine. [‘sift’,
‘sift_float’, ‘sift_upright’, ‘akaze’, ‘akaze_liop’, ‘akaze_mldb’,
‘cctag3’, ‘cctag4’, ‘sift_ocv’, ‘akaze_ocv’],
Features
Folder
Features
Folders
Folder(e) care conțin caracteristicile și descriptorii extrași.
Matches
Folder
Matches
Folders
Folder(e) în care sunt stocate potrivirile calculate.
Verbose
Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
Cale de ieșire pentru fișierele caracteristici și descriptori (.feat, .desc).
(internalFolder)
ExportMaya
Descriere
Mod de utilizare cu plugin MeshroomMaya.
Nodul "ExportMaya" exportă imaginile nedenaturate. Acest nod nu are nimic dedicat
pentru Maya, dar a fost folosit pentru a importa datele în plugin-ul MeshroomMaya.
Același lucru se poate folosi pentru a exporta în Blender.
Setări
Nume
Descriere
Input SfM
Data
sfm.sfm sau sfm.abc
Output Folder
Folder pentru ieșirea MeshroomMaya: imagini și miniaturi
nedistorsionate
ExportMaya: necesită .sfm sau .abc ca intrare de la ConvertSfMFormat
FeatureExtraction
Descriere
Acest pas extrage caracteristici din imagini, precum și descriptori pentru aceste caracteristici. În
funcție de tipul de caracteristică extrasă, se va schimba extensia fișierului.
Nume
Descriere
Input
Fișier SfMData.
Describer
Types
Tipuri de descriptori utilizate pentru a descrie o imagine. ‘sift’,
‘sift*float’, ‘sift*upright’, ‘akaze’, ‘akaze*liop’, ‘akaze*mldb’,
‘cctag3’, ‘cctag4’, ‘sift*ocv’, ‘akaze*ocv’
Describer
Preset
Controlează configurația ImageDescriber (scăzut, mediu, normal,
ridicat, ultra). Configurația "ultra" poate dura mult timp !
Force CPU
Extraction
Se utilizează numai extragerea caracteristicilor CPU.
Max Nb
Threads
Specifică numărul maxim de fire de executat simultan (0 pentru
modul automat). (0-24) 0
Verbose
Level
nivel de verbozitate (fatal, error, warning, info, debug, trace).
Output Folder
Cale de ieșire pentru fișierele caracteristici și descriptori (*.feat,
*.desc).
Force CPU Extraction
Caracteristică experimentală. Când este dezactivat, va fi utilizat GPU. Accelerează calculul.
Necesită CUDA CC3+.
Descriere detaliată
Obiectivul acestui pas este de a extrage grupuri distincte de pixeli care sunt, într-o anumită
măsură, invariante la schimbarea punctelor de vedere aparat de fotografiat în timpul achiziției
imaginii. Prin urmare, o caracteristică în scena ar trebui să aibă descrieri similare caracteristică
în toate imaginile.
Cea mai cunoscută metodă de detectare a caracteristicilor este algoritmul SIFT (Scale-invariant
feature transform). Scopul inițial al SIFT este de a extrage patch-uri discriminative într-o primă
imagine care pot fi comparate cu patch-uri discriminative la a doua imagine, indiferent de
rotație, translație, și scalare. Deoarece un detaliu relevant există doar la o anumită scară, patchurile extrase sunt centrate pe puncte stabile de interes. Ideea cheie este că, într-o anumită
măsură, se poate utiliza invarianța SIFT pentru a face față transformărilor imaginii care apar
atunci când punctele de vedere se schimbă în timpul achiziției imaginii.
De la reprezentarea unei imagini la scări diferite, care se face punct de vedere tehnic prin
calcularea unei piramide de imagini scalate. SIFT calculează maximele scale-spațiu ale
reprezentării laplaciene, care este o imagine specifică de reprezentare bazată pe energie a
imaginii, folosind așa-numitele diferențe ale gaussienilor. Aceste maxime corespund punctelor
de interes. Apoi, se prelevează probe pentru fiecare dintre aceste maxime un patch/petec pătrat
al imaginii a cărui origine este cea maximă, iar direcția x este gradientul dominant la origine.
Pentru fiecare punct cheie, este asociată o descriere a acestor corecții.
Descrierea, care este de obicei stocată în 128 de biți, constă într-o statistică a degradeurilor
calculate în regiunile din jurul punctului cheie. Dimensiunea regiunii este determinată de scala
punctului cheie, iar orientarea este determinată de axa dominantă.
Deoarece numărul de caracteristici extrase poate varia foarte mult datorită variabilității
complexității texturilor (de la o imagine la alta sau în diferite părți ale imaginii), se utilizează
o etapă de post-filtrare pentru a controla numărul de caracteristici extrase la limite rezonabile
(de exemplu, între una și zece mii per imagine). Folosim o filtrare a grilei pentru a asigura o
bună repartiție a imaginii.
[Lowe2004]
Distinctive image features from scale-invariant keypoints, David G. Lowe,
2004
[Otero2014]
Anatomy of the SIFT Method, Ives Rey Otero, Mauricio Delbracio, 2014
[Yu2011]
ASIFT: An Algorithm for Fully Affine Invariant Comparison, Guoshen Yu, JeanMichel Morel, 2011
[Alcantarilla2013] AKAZE Fast explicit diffusion for accelerated features in nonlinear scale
spaces, P.F. Alcantarilla, J. Nuevo, A. Bartoli, 2013
[Li2015]
A survey of recent advances in visual feature detection, Yali Li, Shengjin Wang,
Qi Tian, Xiaoqing Ding, 2015
[VLFEAT2008]
VLFeat: An Open and Portable Library of Computer Vision Algorithms A.
Vedaldi and B. Fulkerson, 2008 VLFeat SIFT detailed presentation
FeatureMatching
Descriere
Găsește corespondența dintre imagini, utilizând descriptorii de caracteristici.
Setări
Nume
Input
Descriere
Fișier SfMData
Features
Folder
Features
Folders
Foldere care conțin caracteristicile și descriptorii extrași
Image Pairs
List
Calea către un fișier care conține lista de perechi de imagini pentru a
se potrivi
Describer
Types
Tipuri de descrieri utilizate pentru a descrie o imagine
**sift**'/
'sift_float'/ 'sift_upright'/ 'akaze'/ 'akaze_liop'/ 'akaze_mldb'/
'cctag3'/ 'cctag4'/ 'sift_ocv'/ 'akaze_ocv
Nume
Descriere
For Scalar based regions descriptor ' * BRUTE_FORCE_L2: L2
BruteForce matching' ' * ANN_L2: L2 Approximate Nearest Neighbor
Photometric
Matching
Method
matching ' * CASCADE_HASHING_L2: L2 Cascade Hashing matching ' *
FAST_CASCADE_HASHING_L2: L2 Cascade Hashing with precomputed
hashed
regions (faster than CASCADE_HASHING_L2 but use more
memory) 'For Binary
based descriptor
' * BRUTE_FORCE_HAMMING:
BruteForce Hamming matching'
Geometric
Estimator
Geometric
Filter Type
Estimator geometric:
(acransac:
A-Contrario Ransac //
loransac:
LO-Ransac (only available for fundamental_matrix model)
Metoda de validare geometrică pentru filtrarea caracteristicilor se
potrivesc: **fundamental_matrix** // essential_matrix //
homography_matrix /// homography_growing // no_filtering'
Distance
Ratio
Raportul de distanță pentru a renunța la potrivirile neînsemnate
Max Iteration
Numărul maxim de iterații permise în etapa ransac 2048
Max Matches
Numărul maxim de potriviri de păstrat
Save Putative
Matches
potriviri putative (True/False)
Guided
Matching
modelul găsit pentru a îmbunătăți corespondențele în pereche
(True/False)
Export Debug
Files
fișiere depanare (svg/ dot) (True/False)
Verbose
Level
nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire)
Output Folder
Calea către un folder în care vor fi stocate potrivirile calculate
0.8 (0.0 - 1)
(1 - 20000)
(0 - 10000)
Descriere detaliată
Obiectivul acestui pas este de a potrivi toate caracteristicile dintre perechile de imagini
candidate. În primul rând, vom efectua potriviri fotometrice între setul de descriptori
din cele 2 imagini de intrare. Pentru fiecare caracteristică din imaginea A, obținem o
listă a caracteristicilor candidatului din imaginea B. Deoarece spațiul descriptor nu este
un spațiu liniar și bine definit, nu ne putem baza pe valorile distanței absolute pentru
a ști dacă potrivirea este validă sau nu (putem avea doar o distanță absolută mai mare
legată). Pentru a elimina candidații rău, presupunem că există doar o singură potrivire
valabilă în cealaltă imagine. Deci, pentru fiecare descriptor de caracteristici de pe
prima imagine, ne uităm pentru cei mai apropiați 2 descriptori și vom folosi un prag
relativ între ele. Această ipoteză va ucide caracteristicile pe structura repetitive, dar sa
dovedit a fi un criteriu robust [Lowe2004]. Aceasta oferă o listă de candidați potriviți
caracteristicilor numai pe baza unui criteriu fotometric. Găsiți cei mai apropiați 2
descriptori din a doua imagine pentru fiecare caracteristică este intensivă din punct de
vedere computațional, cu o abordare de forță brută, dar există mulți algoritmi
optimizați. Cel mai comun este aproximative cel mai apropiat vecin, dar există
alternative ar fi, În cascadă Hashing. Apoi, folosim pozițiile caracteristicilor din imagini
pentru a face o filtrare geometrică utilizând geometria epipolară într-un cadru de
detectare aberant numit RANSAC (RANdom SAmple Consens). Selectăm aleatoriu
un mic set de corespondențe de caracteristici și calculăm matricea fundamentală (sau
esențială), apoi verificăm numărul de caracteristici care validează acest model și
iterăm prin cadrul RANSAC.
[Lowe2004]
Distinctive image features from scale-invariant keypoints, David G.
Lowe, 2004
[FLANN2009]
Fast Approximate Nearest Neighbors with Automatic Algorithm
Configuration. Muja, Marius, and David G. Lowe. VISAPP (1).
2009
GlobalSfM
Descriere
GlobalSfM
Versiune MR: 2020.x
Setări
Nume
Input
Descriere
Fișier SfM Data
Features
Folder
Features
Folders
Folder(e) vare conțin caracteristicile extrase.
Matches
Folder
Matches
Folders
Folder(e) în care sunt stocate potrivirile calculate.
Nume
Descriere
Describer
Types
Tipuri de descriptori folosite pentru a descrie o imagine. [‘sift’,
‘sift_float’, ‘sift_upright’, ‘akaze’, ‘akaze_liop’, ‘akaze_mldb’,
‘cctag3’, ‘cctag4’, ‘sift_ocv’, ‘akaze_ocv’]
Rotation
Averaging
Method
Metoda rotației medii:
• Minimizare L1
• Minimizare L2
Translation
Averaging
Method
Metoda translației medii:
• Minimizare L1”
• Minimizare L2 de suma distanțelor coardelor la pătrat”
• Minimizare L1 soft
Force Lock of
All Intrinsic
Camera
Parameters.
Forța de a menține constanți toți parametrii intrinseci ai camerelor
(distanța focală, punctul principal, distorsiune, dacă există) în timpul
reconstrucției. Acest lucru poate fi util dacă camerele de intrare sunt
deja complet calibrate.
Verbose
Level
nivel de verbozitate (critical, error, warning, info, debug).
Output Folder
internalFolder
Output
SfMData File
Cale către fișierul sfmdata de ieșire (internalFolder + ‘SfmData.abc’)
[Moulon2013] Global Fusion of Relative Motions for Robust, Accurate and Scalable
Structure from Motion. Pierre Moulon, Pascal Monasse and Renaud Marlet. ICCV
2013
GlobalSFM vs SequentialSFM https://github.com/openMVG/openMVG/issues/1037
HDRIstitching
Descriere
cusătură panoramă hdri
Versiune MR: 2020.x
Setări
Nume
Descriere
Input Files
Fișier/folder de intrare
Input
Folder
Listă de imagini fisheye sau folderul care le conține.
Blur Width
Lățimea neclarității canalului alfa pentru toți fisheye (între 0 și 1).
“Determinarea clarității tranzițiilor. (0-1, 0.2)
Nume
Descriere
Image X
Rotation
Rotire imagine X (-20-20, 0)
X
Rotations
Rotații în grade pe axa X (axa orizontală) pentru fiecare imagine.
Image Y
Rotation
Rotire imagine Y (-30-30, 0)
Y
Rotations
Rotații în grade pe axa Y (axă verticală) pentru fiecare imagine.
Image Z
Rotation
Rotire imagine Z (-10-10, 0)
Z
Rotations
Rotații în grade pe axa Z (axa adâncimii) pentru fiecare imagine.
Verbose
Level
nivel de verbozitate (critical, error, warning, info, debug).
Output
Panorama
Folder de ieșire pentru panoramă (internalFolder)
ImageMatching
Descriere
Acesta este un pas de preprocesare care își dă seama ce imagini au sens pentru a
se potrivi între ele.
Setări
Nume
Descriere
Image
Fișier SfMData
Features
Folders
Foldere care conțin caracteristicile și descriptorii extrași
Tree
Nume de intrare pentru fișierul arbore de vocabular
ALICEVISION_VOCTREE
Weights
Nume de intrare pentru fișierul de greutate - dacă nu este furnizat,
greutățile vor fi calculate după baza de date construită cu setul furnizat
Minimal
Number of
Images
Număr minim de imagini pentru a utiliza arborele de vocabular. Dacă
sunt mai puține caracteristici decât acest prag, vor fi calculate toate
combinațiile care se potrivesc
Nume
Descriere
Max
Descriptors
Limitează numărul de descriptori încărcați pentru fiecare imagine. Zero
înseamnă fără limită
Nb
Matches
Numărul de potriviri de regăsit pentru fiecare imagine (Pentru valoarea
0 va prelua toate potrivirile) 50 (0-1000)
Verbose
Level
nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire)
Output List
File
Cale fișier către fișierul de ieșire cu lista perechilor de imagini selectate
Descriere detaliată
Obiectivul acestei părți este de a găsi imagini care se uită la aceleași zone ale scenei.
Pentru aceasta, folosim tehnicile de recuperare a imaginilor pentru a găsi imagini care
partajează un anumit conținut fără costul rezolvării tuturor potrivirilor de caracteristici
în detalii. Ambiția este de a simplifica imaginea într-un descriptor de imagine compact,
care permite să calculeze distanța dintre toți descriptorii de imagini în mod eficient.
Una dintre cele mai comune metode pentru a genera acest descriptor imagine este
abordarea arborelui de vocabular. Prin trecerea tuturor descriptorilor de caracteristici
extrase prin el, se face o clasificare prin compararea descriptorilor lor la cei de pe
fiecare nod al acestui arbore. Fiecare descriptor de caracteristici se termină într-o
singură frunză, care poate fi stocată printr-un index simplu: indexul acestei frunze din
arbore. Descriptorul de imagine este apoi reprezentat de această colecție de indici de
frunze utilizate.
Acum este posibil să vedeți dacă diferite imagini partajează același conținut prin
compararea acestor descriptori de imagini.
[Nister2006] Scalable Recognition with a Vocabulary Tree, David Nister and Henrik
Stewenius, CVPR 2006
ImageMatchingMultiSfM
Descriere
Acest nod poate combina potrivirea imaginii între două intrări SfMData.
Utilizat pentru Live Reconstruction și Augmentation
Setări
Nume
Descriere
Input A
Fișier SfMData
Input B
Fișier SfMData
Nume
Descriere
Features
Folders
Foldere care conțin caracteristicile și descriptorii extrași
Tree
Nume de intrare pentru fișierul arbore de vocabular
ALICEVISION_VOCTREE
Weights
Nume de intrare pentru fișierul de greutate - dacă nu este furnizat,
greutățile vor fi calculate pe baza de date construită cu setul furnizat
Matching
Mode
Modul de combinare a potrivirii imaginii între sfMData de intrare A și
B: a/a+a/b pentru A cu A + A cu B. a/ab [‘a/a+a/b’ // ‘a/ab’ // ‘a/b’]
Minimal
Number of
Images
Număr minim de imagini utilizat pentru arborele de vocabular. Dacă
sunt mai puține caracteristici decât acest prag, se vor calcula toate
combinațiile potrivite
Max
Descriptors
Limitare număr de descriptori îi încărcați pentru fiecare imagine. Zero
înseamnă fără limită 500 (0-100000)
Nb Matches
Numărul de potriviri de regăsit pentru fiecare imagine (Pentru 0 va
prelua toate potrivirile) 50 (0-1000)
Verbose
Level
nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire)
Output List
File
Cale fișier către fișierul de ieșire cu lista perechilor de imagini
selectate
Output
Combined
SfM
Cale pentru fișierul combinat SfMData internalFolder +
‘combineSfM.sfm
KeyframeSelection
Descriere
Notă: Acesta este un nod experimental pentru selectarea cadrelor cheie într-un videoclip, care
elimină imagini prea similare sau prea neclare.
Note
În acest moment, KeyframeSelection nu poate fi folosit ca intrare pentru CameraInit. Nu putem
ști în avans cât de multe imagini vor fi extrase, dar numărul total de imagini este necesar pentru
a face o depunere fermă. Deci, atunci când adăugați un fișier video la Meshroom, va apărea
următorul mesaj: "Trebuie să calculați manual nodul KeyframeSelection și apoi să reimportați
imaginile create în Meshroom pentru reconstrucție."
Pentru a adăuga automat cadre extrase la proiect, aveți posibilitatea să copiați calea folderului
de ieșire din KeyframeExtraction și să o setați ca Cale folder imagine de reconsturuction live.
Apoi începeți să urmăriți folderul și executați graficul.
https://github.com/alicevision/meshroom/issues/232
Tipuri de fișiere acceptate:
.avi, .mov, .qt, .mkv, .webm, .mp4, .mpg, .mpeg, .m2v, .m4v, .wmv, .ogv, .ogg, .mxf
FFmpeg poate fi utilizat pentru conversia fișierelor video.
Versiunea MR 2020.x
Setări
Nume
Descriere
Media Path
Cale media
Media Paths
Introducerea fișierelor video sau a directoarelor secvențelor
de imagini.
Brand
Marca aparatului foto.
Brands
Mărci de aparate foto.
Model
Model de cameră.
Models
Modele de camere foto.
mmFocal
Distanța focală în mm (va fi utilizată dacă nu este 0). (0.0500)
mmFocals
Distanțe focale în mm (vor fi utilizate dacă nu sunt 0).
pxFocal
Distanța focală în px (va fi utilizată și convertită în mm, dacă
nu este 0). (0.0-500)
pxFocals
Distanțe focale în px (vor fi utilizate și convertite în mm,
dacă nu sunt 0).
Frame Offset
Decalaj cadru 0-100
Frame Offsets
Decalaje cadru
Sensor Db Path
Calea bazei de date cu lățimea senzorului camerei.
(ALICEVISION_SENSOR_DB)
Nume
Descriere
Voctree Path
Calea la arborele de vocabular.
(ALICEVISION_VOCTREE)
Use Sparse Distance
Selection
Utilizarea Sparse Distance pentru a evita cadrele cheie
similare. (True)
Use Sharpness
Selection
Utilizarea Sharpness pentru selectarea cadrelor cheie. (True)
Sparse Distance Max
Score
Numărul maxim de puncte comune puternice între două
cadre cheie. (1-200, 100)
Sharpness Preset
Presetare pentru sharpnessSelection : {ultra, high, normal,
low, very_low, none}
Sharp Subset
parte sharp a imaginii (1 = all, 2 = size/2, …) (1-100, 4)
Min Frame Step
numărul minim de cadre între două cadre cheie (1-100, 12)
Max Frame Step
numărul maxim de cadre după care poate fi luat un cadru
cheie (2-1000, 36)
Max Nb Out Frame
numărul maxim de cadre de ieșire (0 = no limit) (0-10000)
Verbose Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output Folder
Folderul cadrelor cheie de ieșire pentru cadrele extrase.
(internalFolder)
LDRToHDR
Descriere
Nume
Descriere
Input
Listă de imagini LDR sau un folder care le conține
Calibration
Method
Metoda utilizată pentru calibrarea camerei. - linear - robertson debevec - beta: grossberg
Input Response
cale de răspuns a fișierului aparatului foto extern pentru a îmbina
toate imaginile LDR împreună.
Target
Exposure
Image
Imaginea LDR la expunerea țintă pentru ca imaginea HDR de ieșire
să fie centrată.
Calibration
Weight
Tipul funcției de greutate (default, gaussian, triangle, plateau).
[‘default’, ‘gaussian’, ‘triangle’, ‘plateau’]
Nume
Descriere
Fusion Weight
Funcția de greutate utilizată pentru a îmbina toate imaginile LDR
(gaussian, triangle, plateau).
Oversaturated
Correction
Corecție suprasaturată pentru pixeli suprasaturați în toate imaginile:
- utilizare 0 pentru nici o corecție - utilizare 0,5 pentru iluminat
interior - utilizare 1 pentru iluminat exterior (0-1)
Recover Path
Calea de scriere a imaginii LDR recuperate la expunerea țintă prin
aplicarea răspunsului invers pe imaginea HDR.
Verbose Level
Nivel de verbozitate (fatal, eroare, avertisment, info, depanare,
urmărire).
Output
Calea imaginii HDR de ieșire. desc.Node.internalFolder + ‘hdr.exr’
Output
Response
Calea funcției de răspuns la ieșire. desc.Node.internalFolder +
‘response.ods’
MeshDecimate
Descriere
Simplificarea rețelei pentru a reduce dimensiunea rețelei fără a modifica aspectul
vizual al modelului.
Setări
Nume
Descriere
Input Mesh (OBJ
file format)
Simplification
factor
Factorul de simplificare 0.5 (0 - 1)
Fixed Number of
Vertice
Număr fix de noduri de ieșire 0 (0 - 1 000 000)
Min Vertices
Min number of output vertices 0 (0 - 1 000 000)
Max Vertices
Numărul maxim de noduri de ieșire 0 (0 - 1 000 000)
Flip Normals
Opțiunea de răsturna normalele la suprafețe. "Aceasta poate fi
necesară, deoarece depinde de ordinea nodurilor în triunghiuri și
schimbarea convenției de la un software la altul. (True/False)
Verbose Level
nivel de verbozitate (fatală / eroare de avertizare / info / debug /
trace)
Output mesh
File de ieșire (format de fișier OBJ) internalFolder + ‘mesh.obj
sau Meshing
MeshDecimate
MeshFiltering?
Comparaţie între MeshDecimate și MeshResampling
Răsturnare Normale
MeshDenoising
Descriere
Denoise pentru modelele rețelelor generate de scaner 3D care conțin întotdeauna
neregularități. Este necesar ca acestea să se îndepărteze din rețea. Mesh denoising:
elimina neregularitățile, dar cu păstrarea caracteristicilor
https://www.cs.cf.ac.uk/meshfiltering/index_files/Doc/Random%20Walks%20for%20Mesh%20Denois
ing.ppt
Setări
Nume
Descriere
input
File de intrare (format de fișier OBJ)
Denoising
Iterations
Numărul de iterații folosit (0 - 30)
Mesh
Update
Closeness
Weight
Greutatea de apropiere pentru actualizarea ochiurilor de plasă, trebuie
să fie pozitivă (0 - 0.1) (0.001)
Lambda
Regularization weight. (0.0 // 10.0 // 0.01) 2
Eta
Deviația standard gaussiană pentru greutatea spațială, scalată cu
distanța medie dintre centrele fețelor adiacente. Trebuie să fie pozitiv.
(0.0 - 20) (1.5)
Deviația standard gaussiană pentru greutatea de ghidare (0.0-10) (1.5)
Deviația standard gaussiană pentru greutatea semnalului. (0.0-5) (0.3)
Mesh
Update
Mesh
Metodă actualizare rețea * ITERATIVEUPDATE (implicit):
Rezolvitor iterativ stil ShapeUp * POISSONUPDATE: Actualizare
bazată pe Poisson de la [Wang et al. 2015] (0, 1)
Nume
Descriere
Verbose
Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
Output mesh (OBJ file format).
Metodă actualizare rețea
https://www.researchgate.net/publication/275104101_Poisson-
driven_seamless_completion_of_triangular_meshes
Wang et al.
https://dl.acm.org/citation.cfm?id=2818068
Detailed Description
O valoare mai mare a Lambda sau Eta duce la un rezultat de filtrare mai lin.
Din: “Static/Dynamic Filtering for Mesh Geometry” by Zhang Et al.
https://arxiv.org/pdf/1712.03574.pdf
MeshFiltering
Descriere
Filtrarea elementelor nedorite ale rețelei.
Setări
Nume
Descriere
Input
Rețea de intrare (format de fișier OBJ)
Filter
Large
Triangles
Factor
Elimină toate triunghiurile mari. Un triunghi mare este considerat cel
care are o latură mai mare decât de N ori lungimea medie a laturii.
Pentru zero se dezactivează. 60 (1 - 100)
Keep Only
the Largest
Mesh
Păstrează numai cel mai mare grup de triunghiuri conectate
(True/False)
Nb
Iterations
5 (0 - 50)
Nume
Lambda
Descriere
1 (0-10
Verbose
Level
Verbose
Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
mesh
File de ieșire (format de fișier OBJ) internalFolder + ‘mesh.obj
Notă
“Keep Only The Largest Mesh” - păstrare numai cea mai mare rețea - Acest lucru este
dezactivat în mod implicit în versiunea 2019.1.0 pentru a evita ca mediul să fie
amestecat, dar nu și obiectul de interes. Cea mai mare rețea este, în unele cazuri,
fundalul reconstruit. Când obiectul de interes nu este conectat la rețeaua mare de
fundal, acesta va fi eliminat. Obiectul de interes trebuie plasat pe o suprafață bine
structurată, netransparentă sau reflectorizantă (de exemplu, un ziar).
MeshResampling
Descriere
Reducerea numărului de fețe în timp ce se încearcă păstrarea formei generale,
volumul și limitele. Se pot specifica un număr fix, min, max de noduri.
Acest lucru este diferit de MeshDecimate!
Resampling https://users.cg.tuwien.ac.at/stef/seminar/MeshResamplingMerge1901.pdf
Setări
Nume
Descriere
Input
Rețeaua de intrare (format de fișier OBJ)
Simplification factor
Factorul de simplificare 0.5
Fixed Number of
Vertice
Număr fix de noduri de ieșire 0
Min Vertices
Numărul minim de noduri de ieșire 0
Max Vertices
Numărul maxim de noduri de ieșire 0 (0 - 1 000 000)
(0 - 1)
(0 - 1 000 000)
(0 - 1 000 000)
Nume
Descriere
Number of PreSmoothing Iteration
Numărul de iterații pentru pre-netezirea Lloyd 40 (0 - 100)
Flip Normals
Opțiunea de a roti normalele fețelor. Acesta poate fi necesar,
deoarece depinde de ordinea nodurilor în triunghiuri și
convenția schimba de la un software la altul. (True/False)``
Verbose Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output mesh
Rețeaua de ieșire (format de fișier OBJ)
mesh.obj
Comparație între MeshDecimate și MeshResampling
Flip Normals
Meshing
Descriere
Generare rețea folosind norul de puncte SfM sau DepthMap
internalFolder +
Nume
Descriere
Input
Fișier SfMData.
Depth Maps Folder
Folderul de intrare pentru Hărți de adâncime
Filtered Depth Maps
Folder
Folderul de intrare pentru Hărți de adâncime filtrate
Estimate Space From
SfM
Estimare spațiu 3D din SfM
Min Observations For
SfM Space Estimation
Numărul minim de observații pentru estimarea spațiului
SfM. (0-100) 3
Min Observations
Angle For SfM Space
Estimation
Unghiul minim dintre două observații pentru estimarea
spațiului SfM. (0-120) 10
Max Input Points
Puncte de intrare maxime încărcate din imaginile hărții de
adâncime (500**000** - 500000000)
Max Points
Punctele maxime de la sfârșitul hărților de adâncime de
fuziune (100**000** - 10000000)
Max Points Per Voxel
(500**000** – 30000000)
Min Step
Pasul utilizat pentru încărcarea valorilor de adâncime din
hărțile de adâncime este calculat din maxInputPts. Aici
vom defini valoarea minimă pentru acest pas, astfel încât
pe seturi de date mici nu vom petrece prea mult timp la
început de încărcare toate valorile de adâncime (1- 20) 2
Partitioning
(singleBlock, auto)
Repartition
(multiResolution, regularGrid)
angleFactor
(0.0-200.0) 15.0
simFactor
(0.0-200.0) 1.0
pixSizeMarginInitCoef
(0.0-10.0) 2.0
pixSizeMarginFinalCoe
f
(0.0-10.0) 4.0
voteMarginFactor
(0.1-10.0) 4.0
contributeMarginFactor
(0.0-10.0) 2.0
simGaussianSizeInit
(0.0-50) 10.0
Nume
Descriere
simGaussianSize
(0.0-50) 0.1
minAngleThreshold
(0.0-10.0) 0.01
Refine Fuse
Rafinați fuziunea hărții de adâncime cu noua dimensiune a
pixelilor definită de scorurile unghiului și similitudinii.
Add Landmarks To The
Dense Point Cloud
Adăugarea reperelor SfM la norul dens de puncte.
Colorize Output
Dacă se colorează norul de puncte dense de ieșire și
rețeaua.
Save Raw Dense Point
Cloud
Salvați norul de puncte dense înainte de tăiere și filtrare.
Verbose Level
nivel de verbozitate (fatal, error, warning, info, debug,
trace).
Output Mesh
Rețea de ieșire (format de fișier OBJ). mesh.obj
Output Dense Point
Cloud
Ieșire nor de puncte dens cu vizibilități (format de fișier
SfMData). densePointCloud.abc
Descriere detaliată
Obiectivul acestui pas este de a crea o reprezentare geometrică densă a scenei.
În primul rând, fuzionăm toate hărțile de adâncime într-un octree global unde valorile de
adâncime compatibile sunt îmbinate în celulele octree.
Apoi efectuăm o tetraed-izare 3D Delaunay. Apoi se efectuează o procedură complexă de vot
pentru a calcula greutățile pe celule și greutățile pe fațete care conectează celulele, după cum
se explică în [Jancosek2011] și [Jancosek2014].
Un grafic Cut Max-Flow [Boykov2004] este aplicat pentru a reduce în mod optim volumul.
Această tăietură reprezintă suprafața de rețea extrasă. Filtrăm celulele nepotrivite de la
suprafață. În cele din urmă aplicăm o filtrare laplaciană pe rețea pentru a elimina artefactele
locale.În acest moment, rețeaua poate fi, de asemenea, simplificată pentru a reduce nodurile
inutile.
[Jancosek2014]
Exploiting Visibility Information in Surface Reconstruction to Preserve
Weakly Supported Surfaces, Michal Jancosek, Tomas Pajdla
[Jancosek2011]
Multi-view reconstruction preserving weakly-supported surfaces, Michal
Jancosek, Tomas Pajdla, CVPR 2011
[Jancosek2010]
Hallucination-free multi-view stereo, M. Jancosek and T. Pajdla, ECCV
2010
[Labatut2009]
Robust and efficient surface reconstruction from range data, P. Labatut, J.P. Pons, and R. Keriven, 2009
[Boykov2004]
An Experimental Comparison of Min-Cut/Max-Flow Algorithms for
Energy Minimization in Computer Vision, Yuri Boykov and Vladimir
Kolmogorov. 2004
PanoramaCompositing
Descriere
Setări
Nume
Descriere
Input
Rezultatul deformării panoramei
Output File
Type
Tip de fișier de ieșire pentru imaginile nedistorsionate. [‘jpg’, ‘png’,
‘tif’, ‘exr’]
Compositer
Type
Care compozitor ar trebui să fie utilizat pentru a amesteca imagini
[‘replace’, ‘alpha’, ‘multiband’]
Verbose
Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
Panoramă de ieșire (internalFolder + ‘panorama.FileType)
PanoramaEstimation
Descriere
Setări
Nume
Input
Features
Folder
Descriere
Fișier SfM Data
Nume
Features
Folders
Descriere
Folder(e) în care se află caracteristicile extrase.
Matches
Folder
Matches
Folders
Folder(e) în care sunt stocate potrivirile calculate.
Describer
Types
Tipuri de descriptori utilizați pentru a descrie o imagine. [‘sift’,
‘sift_float’, ‘sift_upright’, ‘akaze’, ‘akaze_liop’, ‘akaze_mldb’,
‘cctag3’, ‘cctag4’, ‘sift_ocv’, ‘akaze_ocv’]
Orientation
Orientare (0-6)
Longitude
offset (deg.)
Deplasarea pe longitudinea panoramei (-180.0-180.0, 0)
Latitude
offset (deg.)
Deplasare pe latitudinea panoramei (-90.0-90.0, 0)
Rotation
Averaging
Method
Metoda de rotație medie:
• Minimizare L1
• Minimizare L2
Relative
Rotation
Method
Metoda de rotire relativă :
• din matricea esențială
• din matricea homografiei
Refine
Rafinează pozițiile relative ale camerei, punctele și, opțional,
parametrul camerei interne
Force Lock of
All Intrinsic
Camera
Parameters.
Forțează pentru a menține constanți toți parametrii intrinseci ai
camerelor (distanța focală, punctul principal, distorsiune, dacă există)
în timpul reconstrucției. Acest lucru poate fi util dacă camerele de
intrare sunt deja complet calibrate.
Verbose
Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output Folder
internalFolder
Output
SfMData File
Cale către fișierul sfmdata de ieșire (internalFolder + ‘sfmData.abc)
PanoramaExternalInfo
Descriere
SOLUȚIE pentru remiterea validă a graficului Tractor
Setări
Nume
Descriere
Input
Fișier SfMData
Xml Config
Fișier de date XML
Matches Folder
Matches Folders
Folder(e) în care se stochează potrivirile calculate. (SOLUȚIE
pentru remiterea validă a graficului Tractor)
Verbose Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
Cale către fișierul sfmdata de ieșire (internalFolder +
‘sfmData.abc’)
PanoramaWarping
Descriere
Setări
Nume
Descriere
Input
Fișier SfMData
Panorama
Width
Lățime panoramă (pixeli). 0 pentru dimensiune automată (050000, 10000)
Verbose Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
PrepareDenseScene
Descriere
• Acest nod anulează imaginile și generează imagini EXR
Setări
Nume
Descriere
Input
Fișier SfMData
ImagesFolders
Utilizare imagini din anumite foldere. Numele fișierului trebuie să
fie același sau imaginea uid.
Output File
Type
Tip de fișier de ieșire pentru imaginile nedistorsionate. (jpg, png,
tif, exr)
Save Metadata
Salvați proiecțiile și informațiile intrinseci în metadatele
imaginilor (numai pentru imaginile .exr).
Nume
Descriere
Save Matrices
Text Files
Salvați proiecțiile și informațiile intrinseci în fișiere text.
Correct images
exposure
Aplicarea unei corecții pe imaginile Valoare expunere
Verbose Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
Fișier configurare MVS (desc.Node.internalFolder + ‘mvs.ini)
Undistorted
images
Listă de imagini nedenaturate.
ImagesFolders
Opțiunea ImagesFolders permite înlocuirea imaginilor de intrare. Acest lucru permite
utilizarea imaginilor cu modele de lumină proiectate pentru piesele SfM și MVS și de
a face texturarea cu un alt set de imagini.
Publish
Descriere
• O copie a fișierelor de intrare sunt plasate în folderul de ieșire (Output)
Poate fi utilizat pentru a salva SfM, Mesh sau model texturat într-un anumit folder
Setări
Nume
Descriere
Input Files
Fișiere de intrare de publicat
Output Folder
Folder în care se publică fișiere
SfMAlingnment
Descriere alinierea fișierului SfM la o scenă
Setări
Nume
Input
Descriere
Fișier SfMData
Nume
Descriere
Reference
Calea către scena utilizată ca sistem de coordonate de
referință
Alignment
Method
Metodă aliniere:
• from_cameras_viewid: Alinierea camerelor cu același ID
de vizualizare
• from_cameras_poseid: Alinierea camerelor cu același ID
de poziție
• from_cameras_filepath: Alinierea camerelor cu o potrivire
filepath, folosind 'fileMatchingPattern’
• from_cameras_metadata: Alinierea camerelor cu
metadatele potrivite, utilizând "metadataMatchingList"
• from_markers: Alinierea de la marcatori cu același ID
File Matching
Pattern
Potrivire expresie regulată pentru metoda
"from_cameras_filepath". Ar trebui să capturați anumite părți
ale filepath cu paranteze pentru a defini elementele care se
potrivesc.
Câteva exemple de modele:
• Potrivire nume fișier fără extensie (valoare
implicită): “.*/(.*?).w{3}”
• Potrivire sufix nume de fișier după “_”: “.*/.*(_.*?.w{3})”
• Potrivire prefix nume de fișier înainte “_”: “.*/(.*?)_.*.w{3}”
Metadata
Metadata
Matching List
Listă de metadate care ar trebui să se potrivească pentru a
crea corespondențele. Dacă lista este goală, se va utiliza
valoarea implicită: [“Make”, “Model”, “Exif:BodySerialNumber”,
“Exif:LensSerialNumber”].
Scale
Aplicarea transformării scalării. (True)
Rotation
Aplicarea transformării de rotație. (True)
Translation
Aplicarea transformării de translație. (True)
Verbose Level
[‘fatal’, ‘error’, ‘warning’, ‘info’, ‘debug’, ‘trace’]
Output
Fișier SfMData aliniat internalFolder + ‘alignedSfM.abc
SfMTransfer
Rezumat
Regăsiți pozițiile și elementele intrinseci dintr-o altă reconstrucție cu vizualizări
potrivite.
Setări
Nume
Descriere
Input
Fișier SfMData
Reference
Calea către scena folosită ca referință pentru a regăsi pozițiile și
elementele intrinseci rezolvate.
Matching
Method
Metodă de potrivire:
• from_viewid: Alinierea camerelor cu același ID de vizualizare
• from_filepath: Alinierea camerelor cu o potrivire a filepath,
utilizând ‘fileMatchingPattern’
• from_metadata: Alinierea camerelor cu metadatele potrivite,
utilizând ‘metadataMatchingList’
(from_viewid, from_filepath, from_metadata)
File
Matching
Pattern
Potrivire expresie regulată pentru metoda "from_cameras_filepath". Ar
trebui să capturați anumite părți ale filepath cu paranteze pentru a defini
elementele care se potrivesc.
Câteva exemple de modele:
• Potrivire nume fișier fără extensie (valoare
implicită): “.*/(.*?).w{3}”
• Potrivire sufix nume de fișier după “_”: “.*/.*(_.*?.w{3})”
• Potrivire prefix nume de fișier înainte “_”: “.*/(.*?)_.*.w{3}”
Metadata
Metadata
Matching
List
Listă de metadate care ar trebui să se potrivească pentru a crea
corespondențele. Dacă lista este goală, se va utiliza valoarea implicită:
[“Make”, “Model”, “Exif:BodySerialNumber”,
“Exif:LensSerialNumber”].
Nume
Descriere
Poses
Poziții de transfer. (True)
Intrinsics
Camere de transfer intrinseci. (True)
Verbose
Level
nivel de verbozitate (fatal, error, warning, info, debug, trace).
Output
Fișier SfMData.
SfMTransform
Descriere
Transformare/Scalare SfM folosind transformarea dată, camere, repere, markeri.
Poate fi folosit pentru a scala SfM la dimensiunea din lumea reală.
Setări
Nume
Descriere
Input
Fișier SfMData
Transformation
Method
Metoda de transformare:
• transformation: Aplicarea unei anumite transformări
• auto_from_cameras: Utilizarea camerelor foto
• auto_from_landmarks: Utilizarea reperelor
• from_single_camera: Utilizarea unei anumite camere ca origine
a sistemului de coordonate
• from_markers: Alinierea anumitor marcatori la coordonate
particularizate
Transformation
Necesar numai pentru metodele de "transformare" și
"from_single_camera":
• transformation: Align [X,Y,Z] to +Y-axis, rotire în jurul Y cu R
grade, scalare după S; sintaxa: X,Y,Z;R;S
• from_single_camera: UID cameră sau nume fișier imagine
Landmarks
Describer
Types
Tipuri de descrieri de imagini utilizate pentru a calcula media
norului de puncte. (doar pentru metoda “landmarks”). (‘sift’,
‘sift_float’, ‘sift_upright’, ‘akaze’, ‘akaze_liop’, ‘akaze_mldb’,
‘cctag3’, ‘cctag4’, ‘sift_ocv’, ‘akaze_ocv’)
Additional
Scale
Scală suplimentară de aplicat. (0.0-100.0, implicit 1.0)
Markers
Puncte de aliniere a markerilor
Scale
Aplicarea transformării scalei.
Rotation
Aplicarea transformării de rotație.
Nume
Descriere
Translation
Aplicarea transformării traducerii.
Verbose Level
nivel de verbozitate (fatal, error, warning, info, debug, trace).
Utilizare:
Detalii:
Metoda Transformation: transformare
Aliniază [X,Y,Z] la axa +Y, rotește în jurul Y cu R grade, mărește după S; sintaxă:
X,Y,Z;R;S (toți cei cinci parametri sunt necesari). Acest lucru permite utilizatorului să
alinieze și să scaleze norul de puncte prin specificarea explicită a scalei și a vectorului
"sus" [X,Y,Z] în sistemul de referință al norului de puncte. Rotația este de așa natură
încât vectorul [X,Y,Z] specificat este aliniat cu [0,1,0] după transformare.
Caz de utilizare pentru a permite utilizatorului să obțină rotația dorită prin manipularea
interactivă a norului punct într-un program 3D (Meshlab), citiți parametrii de
transformare și transformați norul de puncte.
https://github.com/alicevision/AliceVision/pull/206
Metoda Transformation: de la o singură cameră
Setează o anumită cameră ca origine și aplică orientarea corectă dacă este posibil,
furnizează UID-ul aparatului de fotografiat sau nume fișier imagine
Metoda Transformation: autofromlandmarks
Selectează Landmarks Describer Type CCTAG pentru a aplica o redimensionare.
SketchfabUpload
Descriere
Sketchfab este un site popular pentru a partaja și vizualiza fișiere 3D, acest lucru oferă
un nod pentru a permite încărcarea directă în Sketchfab din Meshroom. Cheia API
este furnizată de utilizator în setările nodului.
Versiune MR: 2020.x
Setări
Nume
Descriere
Input Files
Fișiere de intrare de exportat
API Token
Obține token din https://sketchfab.com/settings/password
Nume
Descriere
Title
Titlul nu poate fi mai lung de 48 de caractere.
Description
Descrierea nu poate fi mai mare de 1024 de caractere.
License
‘CC Attribution’, ‘CC Attribution-ShareAlike’, ‘CC
Attribution-NoDerivs’, ‘CC Attribution-NonCommercial’,
‘CC Attribution-NonCommercial-ShareAlike’, ‘CC
Attribution-NonCommercial-NoDerivs’
Tag
Eticheta nu poate fi mai mare de 48 de caractere.
Tags
Maxim 42 de etichete separate.
Category
Adăugarea categoriilor ajută la îmbunătățirea identificării
modelului dvs.. (‘none’, ‘animals-pets’, ‘architecture’, ‘artabstract’, ‘cars-vehicles’, ‘characters-creatures’, ‘culturalheritage-history’, ‘electronics-gadgets’, ‘fashion-style’, ‘fooddrink’, ‘furniture-home’, ‘music’, ‘nature-plants’, ‘newspolitics’, ‘people’, ‘places-travel’, ‘science-technology’,
‘sports-fitness’, ‘weapons-military’)
Publish
Dacă modelul nu este publicat, acesta va fi salvat ca schiță.
(False)
Inspectable
Se permite vizualizarea 2D în inspectorul model. (True)
Private
Necesită un cont pro. (False)
Password
Necesită un cont pro.
Verbose Level
nivel de verbozitate (critical, error, warning, info, debug).
Utilizare:
StructureFromMotion
Descriere
StructureFromMotion (Incremental SfM) va reconstrui puncte 3D din imaginile de intrare.
Pentru Global SfM utilizați nodul GlobalSfM.
Input
Fișier SfMData
Features Folder
Folder(e) în care se află caracteristicile și descriptorii extrași.
Matches
Folders
Folder(e) în care sunt stocate potrivirile calculate.
Describer
Types
Tipuri de descriptori utilizați pentru a descrie o imagine. ‘sift’,
‘sift*float’, ‘sift*upright’, ‘akaze’, ‘akaze*liop’, ‘akaze*mldb’,
‘cctag3’, ‘cctag4’, **’siftocv’, ‘akazeocv’
Localizer
Estimator
Tip estimator utilizat pentru localizarea camerelor (acransac,
ransac, lsmeds, loransac, maxconsensus).
Observation
Constraint
Modul contraint de observare utilizat în optimizare: De bază:
Utilizează eroarea standard de reproiecție în coordonatele pixelilor,
Scalare: Utilizează eroarea de reproiecție în coordonatele pixelilor,
dar în raport cu scala de caracteristici
Localizer Max
Ransac
Iterations
Numărul maxim de iterații permise în pasul ransac. (1-20000) 4096
Localizer Max
Ransac Error
Eroare maximă (în pixeli) permisă pentru localizarea camerei
(rezecție). Dacă este setat la 0, va selecta un prag în funcție de
estimatorul de localizare utilizat (dacă ACRansac, va analiza datele
de intrare pentru a selecta valoarea optimă). (0.0-100-0) 0.0
Lock Scene
Previously
Reconstructed
Această opțiune este utilă pentru augmentarea SfM. Blocare a
reconstituit anterior poziții (poses) și intrinseci.
Local Bundle
Adjustment
Reduce timpul de reconstrucție, în special pentru seturile mari de
date (peste 500 de imagini) prin evitarea calculării ajustării
pachetului pe zonele care nu se schimbă.
LocalBA
Graph Distance
Limitare Graph-distance pentru a defini Active region din strategia
Local Bundle Adjustment. (2-10) 1
Maximum
Number of
Matches
Numărul maxim de potriviri per pereche de imagini (și per tip de
caracteristică). Acest lucru poate fi util pentru a avea o imagine de
ansamblu rapidă de reconstrucție. 0 înseamnă fără limită. (050000) 1
Minimum
Number of
Matches
Numărul minim de potriviri per pereche de imagini (și per tip de
caracteristică). Acest lucru poate fi util pentru a avea o reconstrucție
semnificativă cu puncte cheie exacte. 0 înseamnă fără limită. (050000) 1
Min Input
Track Length
Lungimea minimă a liniei în intrarea SfM (2-10)
Min
Observation
For
Triangulation
Numărul minim de observații pentru a triangula un punct. Setați-l la
3 (sau mai multe) reduce drastic zgomotul din norul de puncte, dar
numărul de poziții finale este un pic redus (de la 1,5% la 11% pe
seturile de date testate). (2-10)
Min Angle For
Triangulation
Unghi minim pentru triangulare. (0.1-10) 3.0
Min Angle For
Landmark
Unghi minim pentru reper (landmark). (0.1-10) 2.0
Max
Reprojection
Error
Eroare maximă de reproiecție. (0.1-10) 4.0
Min Angle
Initial Pair
Unghi minim pentru perechea inițială. (0.1-10) 5.0
Max Angle
Initial Pair
Unghi maxim pentru perechea inițială. (0.1-60) 40.0
Use Only
Matches From
Input Folder
Se utilizează numai potriviri din parametrul de intrare
matchesFolder. Folderele care se potriveau anterior adăugării la
fișierul SfMData vor fi ignorate.
Use Rig
Constraint
Activare/Dezactivare constrângere platformă.
Force Lock of
All Intrinsic
Camera
Parameters.
Forțează menținerea constantă a tuturor parametrilor intrinseci ai
camerelor (distanța focală, punctul principal, distorsiune, dacă
există) în timpul reconstrucției. Acest lucru poate fi util dacă
camerele de intrare sunt deja complet calibrate.
Filter Track
Forks
Activare/Dezactivare track forks removal. O pistă conține un
element fork atunci când potrivirile incoerente duc la mai multe
caracteristici în aceeași imagine pentru o singură pistă.
Initial Pair A
Numele de fișier al primei imagini (fără cale).
Initial Pair B
Numele de fișier al celei de-a doua imagini (fără cale).
Inter File
Extension
Extensia fișierului intermadiar de export. (‘.abc’, ‘.ply’)
Verbose Level
Nivelul verbozității (fatal, error, warning, info, debug, trace).
Output
SfMData File
Cale către fișierul sfmdata de ieșire (sfm.abc)
Output
SfMData File
Calea către fișierul de ieșire sfmdata cu camere (vizualizări și
poziții). (cameras.sfm)
Output Folder
Dosar pentru fișiere intermediare de reconstrucție și fișiere
suplimentare cu informații de reconstrucție.
Use Rig Constraint Adaugă suport pentru platforma de camere. Aceste informații
sunt utilizate ca o nouă restricție în SfM. Această opțiune poate fi acum combinată cu
localBA. Trebuie utilizată o anumită ierarhie de foldere în fișierele imagini de intrare
(de exemplu: “/my/dataset/rig/0/DSLR_0001.JPG”,
“/my/dataset/rig/1/DSLR_0001.JPG”) pentru a furniza aceste informații.
Descriere detaliată
Obiectivul acestui pas este de a înțelege relația geometrică din spatele tuturor
observațiilor furnizate de imaginile de intrare și de a deduce structura rigidă a scenei
(puncte 3D) cu poziția (poziția și orientarea) și calibrarea internă a tuturor camerelor.
Modul de lucru incremental este un proces de reconstrucție în creștere. Se calculează
mai întâi o reconstrucție inițială cu două vizualizări, care este iterativ extinsă prin
adăugarea de noi vizualizări.
În primul rând, fuzionează toate potrivirile de caracteristici între perechi de imagini în
piese. Fiecare piesă ar trebui să reprezinte un punct în spațiu, vizibil de la mai multe
camere. Cu toate acestea, la această etapă a modului de lucru, acesta conține încă
multe valori aberante. În timpul acestei fuziuni de potriviri, se elimină piesele
incoerente.
Apoi, algoritmul incremental trebuie să aleagă cea mai bună pereche de imagini
inițiale. Această alegere este esențială pentru calitatea reconstrucției finale. Acesta ar
trebui, într-adevăr, să furnizeze potriviri robuste și să conțină informații geometrice
fiabile. Deci, această pereche de imagini ar trebui să maximizeze numărul de potriviri
și repartiția caracteristicilor corespunzătoare din fiecare imagine. Dar, în același timp,
unghiul dintre camere ar trebui să fie, de asemenea, suficient de mare pentru a oferi
informații geometrice fiabile.
Apoi se calculează matricea fundamentală dintre aceste 2 imagini și se consideră că
prima este originea sistemului de coordonate. Acum, după ce știm poziția a 2 camere
în primul rând, putem triangula caracteristicile corespunzătoare 2D în puncte 3D.
După aceea, vom selecta toate imaginile care au asocieri suficiente cu caracteristicile
care sunt deja reconstruite în 3D. Acest algoritm se numește următoarea selecție a
celor mai bune vizualizări. Pe baza acestor asocieri 2D-3D, se efectuează
rezecționarea fiecăreia dintre aceste camere noi. Rezecția este un algoritm
Perspective-n-Point (PnP) într-un cadru RANSAC pentru a găsi poziția camerei care
validează majoritatea asocierilor de caracteristici. Pe fiecare cameră, se efectuează o
minimizare neliniară pentru a rafina poziția.
Din pozițiile acestor camere noi, unele piese devin vizibile de la 2 sau mai multe
camere rezecate, care le triangulează. Apoi, vom lansa o ajustare pachet pentru a
rafina totul: parametrii extrinseci și intrinseci ai tuturor camerelor, precum și poziția
tuturor punctelor 3D. Se filtrează rezultatele ajustării pachetului prin eliminarea tuturor
observațiilor care au o eroare mare de reproiecție sau unghiuri insuficiente între
observații.
Astfel sunt triangulate noi puncte și se obțin mai mulți candidați imagine pentru
următoarea cea mai bună vizualizare de selecție. Se fac iterări de acest gen, se
adaugă camere și triangulări noi ale caracteristicilor 2D în puncte 3D și eliminarea
punctelor 3D care au devenit invalidate, până când nu se mai pot localiza noi opinii.
Există multe alte abordări, cum ar fi Global [Moulon2013], Hierarchical [Havlena2010],
[Toldo2015] sau abordări în mai multe etape [Shah2014].
Referințe
[Cheng2014]
Fast and Accurate Image Matching with Cascade Hashing for 3D
Reconstruction Jian Cheng, Cong Leng, Jiaxiang Wu, Hainan Cui,
Hanqing Lu. CVPR 2014
[Fischler1981]
Random sample consensus: a paradigm for model fitting with
applications to image analysis and automated cartography.
Fischler, Martin A., and Robert C. Bolles. 1981
[Moulon2013]
Global Fusion of Relative Motions for Robust, Accurate and
Scalable Structure from Motion. Pierre Moulon, Pascal Monasse
and Renaud Marlet. ICCV 2013
[Moulon2012]
Adaptive structure from motion with a contrario model estimation.
Pierre Moulon, Pascal Monasse, and Renaud Marlet. ACCV 2012
[Moulon2012]
Automatic homographic registration of a pair of images, with a
contrario elimination of outliers. Moisan, Lionel, Pierre Moulon,
and Pascal Monasse. IPOL 2012
[Moulon2012]
Unordered feature tracking made fast and easy, Pierre Moulon and
Pascal Monasse, CVMP 2012
[Kneip2011]
A Novel Parametrization of the P3P-Problem for a Direct
Computation of Absolute Camera Position and Orientation.
Kneip, L.; Scaramuzza, D. ; Siegwart, R. CVPR 2011
[Lepetit2009]
EPnP: An Accurate O(n) Solution to the PnP Problem. V. Lepetit
and F. Moreno-Noguer and P. Fua, IJCV 2009
[Nister2004]
An Efficient Solution to the Five-Point Relative Pose. D. Nister
PAMI 2004
[Havlena2010]
Efficient Structure from Motion by Graph Optimization. M.
Havlena, A. Torii, and T. Pajdla. ECCV 2010
[Toldo2015]
Hierarchical structure-and-motion recovery from uncalibrated
images. R. Toldo, R. Gherardi, M. Farenzena and A. Fusiello.
CVIU 2015
[Shah2014]
Multistage SFM: Revisiting Incremental Structure from Motion,
Rajvi Shah, Aditya Deshpande, P J Narayanan, 2014
[Moulon2015]
Robust and precise positioning of image networks, Pierre Moulon
2015 (in French)
[Martinec2008]
Robust Multiview Reconstruction. Daniel Martinec, 2008
[Hartley2000]
Multiple view geometry in computer vision. Richard Hartley and
Andrew Zisserman. Cambridge, 2000
[Ceres]
Ceres Solver, Sameer Agarwal and Keir Mierle and Others
[OpenGV]
The OpenGV library
Texturing
Descriere
Texturarea creează UVs și proiectează texturile schimbă calitatea și dimensiunea/
tipului de fișier al texturii
Formate acceptate
Formate fișier imagine
Extensii de fișier acceptate ale Images / Image Viewer:
Toate formatele de imagine acceptate de OIIO library cum ar fi:
‘.jpg’, ‘.jpeg’, ‘.tif’, ‘.tiff’, ‘.png’, ‘.exr’, ‘.rw2’, ‘.cr2’, ‘.nef’, ‘.arw’.
pot fi importate în Meshroom. Cu toate acestea, ar putea exista un comportament
neașteptat atunci când se utilizează imagini RAW.
Formate de fișier video
3D File formats
Nume
Alembic
(.abc)
Referinţă
Alembic
Descriere
cloud_and_poses Alembic este un format pentru
stocarea informațiilor pentru scenele animate
după aplicarea elementelor programatice.
OBJ
OBJ este un format ASCII foarte strict pentru
codificarea nodurilor, punctelor, fețelor și
texturilor, introdus pentru prima dată de
Wavefront Technologies.
PLY
Formatul de fișier poligonal (sau formatul
Triunghi Stanford) are o reprezentare ASCII și o
reprezentare binară. Acesta este inspirat de
formatul OBJ care permite definirea
proprietăților arbitrare pentru fiecare punct.
Acest lucru permite o implementare pentru a
adăuga informații arbitrare la puncte, inclusiv
informații de precizie, dar nu și invers.
Informațiile despre cameră ar putea fi incluse în
comentarii.
PLY
SfM
Suport FBX (întrerupt) https://github.com/alicevision/AliceVision/pull/174
Alembic este alegerea preferată pentru stocarea intermediară a points clouds,
deoarece este singurul format care este deja acceptat de toate pachetele software 3d
majore.
Alte formate de fișier
.bin denseReconstruction: Formatul bin este util doar pentru a obține informațiile de
vizibilitate ale fiecărui vertex (fără informații despre culoare)
.cal fișier de calibrare
.desc fișier descriptor
.EXR Formatul imaginii OpenEXR: pentru imagini de hartă de adâncime
.txt listă de fișiere text pentru a descrie parametrii imaginii .ini - fișier de configurare
.json descrie setul de date imagine utilizat
.baf (sfm) Date Bundle Adjustment File Export SfM (Intrinsics/Poses/Landmarks)
Tutoriale
•
•
•
•
•
•
•
•
•
•
•
•
•
Placă turnantă
Tutorial: Meshroom pentru începători
Goal
Step 0: System requirements and installation
Step 1: Image acquisition
Step 2: Meshroom concept and UI overview
Step 3: Basic Workflow
Step 4: Visualize and Export the results
Step 5: Post-processing: Mesh Simplification
Step 6: Retexturing after Retopology
Step 7: Draft Meshing from SfM
Step 8: Working Iteratively
Step 9: Upload results on Sketchfab
Placă turnantă
Este posibil să se utilizeze o placă turnantă. Pentru a îmbunătăți rezultatele, poate fi
util să mascați imaginile.
În prezent, Meshroom nu acceptă mascarea, dar puteți citi la #188 o soluție decentă.
În esență, software-ul detectează caracteristicile atât din prim-plan, cât și din fundal.
Pe o placă turnantă, subiectul se rotește, dar fundalul nu există. Asta încurcă
programul.
Deci, sunt 2 opțiuni: un fundal complet alb și aceeași iluminare, astfel încât nici o
caracteristică să nu poată fi extrasă din această zonă, sau mascarea imaginilor practic, a celor care acoperă fundalul în mod artificial pentru a opri ca acele zone să
fie utilizate la prelucrare, sau ambele.
O altă abordare ar fi să păstreze scena la fel, dar să se rotească aparatul de
fotografiat, care este, de obicei, cel mai bun mod de lucru- oricum, acest mod de lucru
este cel recomandat.
• fără mascare, obiectul de pe placa turnantă va deveni neclar/doar parțial
reconstruit, iar fundalul va fi reconstruit bine
• folosim un fundal gol/alb pentru a-l masca cu ușurință
Un simplu perete alb nu va funcționa, deoarece are prea multe caracteristici
recunoscute – trebuie folosit un fundal curat și neted, care nu va permite nici o
caracteristică de detectare – a se vedea "Scale for Small-Object Photogrammetry" de
Samantha Porter
http://www.stporter.com/resources/
https://conservancy.umn.edu/handle/11299/172480?show=full
sau crearea unuia propriu.
Tutorial: Meshroom pentru începători
https://sketchfab.com/blogs/community/tutorial-meshroom-for-beginners
Scop
În acest tutorial, este descrisă folosirea Meshroom pentru a crea automat modele 3D
dintr-un set de fotografii. După specificarea cerințelor de sistem și instalare, sunt
sfaturi privind achiziționarea de imagini pentru fotogrammetrie. Apoi urmează o
imagine de ansamblu a Meshroom UI care descrie elementele de bază prin crearea
unui proiect și începerea procesului de reconstrucție 3D. După aceea, este descrisă
post-procesarea rețelei rezultate direct în Meshroom prin aplicarea unei operații
automate de decimare și retexturarea rețelei modificate. Apoi, un rezumat care descrie
cum se folosesc toate acestea pentru a lucra iterativ în Meshroom.
În cele din urmă, câteva sfaturi despre încărcarea modelelor 3D în Sketchfab și linkuri utile pentru mai multe informații.
Pasul 0: Cerințe de sistem și instalare
Versiunile de software Meshroom sunt pachete portabile autonome. Acestea sunt
încărcate pe pagina proiectului din GitHub. Pentru a utiliza Meshroom pe computer,
se descarcă versiunea corespunzătoare pentru sistemul de operare (Windows și Linux
sunt acceptate), se extrage arhiva și se lansează Meshroom executabil.
În ceea ce privește hardware-ul, este necesar un GPU Nvidia (cu capacitate de calcul
de minim 2.0) pentru generarea densă a rețelei de înaltă calitate. Recomandat pentru
meshing 32GB de RAM, dar, pentru valori mai mici, parametrii pot fi ajustați.
Meshroom este eliberat în sursă deschisă sub Licența MPLv2 permisivă, a se vedea
Meshroom COPYING pentru mai multe informații.
Pasul 1: Achiziționarea de imagini
Calitatea de fotografiere este cea mai importantă și provocatoare parte a procesului.
Are un impact dramatic asupra calității rețelei finale.
Fotografierea este întotdeauna un compromis pentru a se adapta obiectivelor și
constrângerilor proiectului: dimensiunea scenei, proprietățile materialului, calitatea
texturilor, timpul de fotografiere, cantitatea de lumină, diferite surse de lumină sau
obiecte, calitatea și setările dispozitivului camerei.
Scopul principal este de a avea imagini clare, fără neclaritate de mișcare și fără
neclaritate de adâncime. Deci, ar trebui utilizate trepiede sau o viteză de expunere
rapidă pentru a evita neclaritatea de mișcare, reducerea diafragmei (număr mare de
cadre) pentru a avea o adâncime mare de câmp, și de a reduce ISO pentru a minimiza
zgomotul.
Pasul 2: Conceptul Meshroom și prezentarea generală a interfeței de
utilizator
Meshroom a fost conceput pentru a aborda două cazuri principale de utilizare:
Obținerea cu ușurință a unui model 3D din mai multe imagini cu acțiune minimă a
utilizatorului.
• Oferirea utilizatorilor avansați (de exemplu: artiști grafici experți, cercetători) a unei
soluții care poate fi modificată pentru a se potrivi nevoilor lor creative și/sau
tehnice.
Din acest motiv, Meshroom se bazează pe un sistem nodal care expune toate etapele
modului de lucru fotogrammetric ca noduri cu parametri. Interfața la nivel înalt de mai
sus permite oricui să utilizeze Meshroom fără a fi nevoie să modifice nimic.
•
Interfață utilizator Meshroom
Pasul 3: Flux de lucru de bază
Pentru acest prim pas, vom folosi doar interfața utilizatorului la nivel înalt. Să salvăm
acest nou proiect pe hard disc folosind “File
Save As…”.
Toate datele calculate de Meshroom vor ajunge într-un folder "MeshroomCache" de
lângă acest fișier de proiect. De reținut că proiectele sunt portabile: se poate muta
fișierul ".mg" și folderul său "MeshroomCache". Locația cache-ului este indicată în
bara de stare, în partea de jos a ferestrei.
Apoi, se importă imagini în acest proiect prin simpla tragere a acestora în zona
"Images" – din partea stângă. Meshroom analizează metadatele lor și aranjează
scena.
Meshroom se bazează pe o bază de date cu senzori de cameră (Camera Sensors
Database) pentru a determina parametrii interni ai camerei și a-i grupa împreună.
Dacă imaginile nu au metadate și/sau au fost preluate cu un dispozitiv necunoscut
pentru Meshroom, va fi afișat un avertisment explicit care explică problema. În toate
cazurile, procesul va continua, dar rezultatele ar putea fi degradate.
După ce se face acest lucru, se apasă butonul "Start" și se așteaptă terminarea
calculului. Bara de progres colorată ajută la urmărirea progresului fiecărui pas din
proces:
• verde: a fost calculat
• portocaliu: se calculează
• albastru: este prezentat pentru calcul
• roșu: eroare
Pasul 4: Vizualizarea și exportul rezultatelor
Modul de lucru pentru fotogrammetria generică poate fi văzut ca având doi pași
principali:
• SfM: Structure-from-Motion (reconstrucție slabă)
o Deduce structura rigidă a scenei (puncte 3D) cu aranjarea (poziție și orientare)
și calibrarea internă a tuturor camerelor.
o Rezultatul este un set de camere calibrate cu un point cloud (în format fișier
Alembic).
• MVS: MultiView-Stereo (reconstrucție densă)
o Utilizează camerele calibrate de la Structure-from-Motion pentru a genera o
suprafață geometrică densă.
o Rezultatul final este o rețea texturată (în format de fișier OBJ cu fișierele MTL
și textura corespunzătoare).
De îndată ce este disponibil rezultatul “Structure-from-Motion”, acesta este încărcat
automat de Meshroom. În acest moment, putem vedea ce camere au fost reconstruite
cu succes în panoul “Images” (cu o pictogramă cameră verde) și vizualiza structura
3D a scenei. De asemenea, putem alege o imagine în panoul “Images” pentru a vedea
camera corespunzătoare în 3D Viewer și vice-versa.
Selectarea imaginii este sincronizată între panourile “Images” și “3D Viewer”.
Interacțiunile din 3D Viewer sunt în cea mai mare parte similare cu cele din Sketchfab:
• Clic și mutare pentru a roti în jurul centrului de vizualizare
• Dublu Clic pe geometrie (point cloud sau rețea) pentru a defini centrul de
vizualizare
o alternativă: Ctrl+Click
•
•
Clic pe butonul din mijloc (Middle-Mouse Button) pentru deplasarea camerei
o alternativă: Shift+Click
Derulare rotiță maus pentru apropiere/depărtarea - Zoom in/out
o alternativă: Alt+Right-Click și mutare Left/Right
Buddha – Structure-from-Motion de AliceVision pe Sketchfab
Odată ce totul a fost procesat, butonul "Load Model" din partea de jos a 3D Viewer vă
permite să încărcați și să vizualizați rețeaua 3D texturată.
Vizualizarea și accesarea fișierelor media de pe disc cu 3D Viewer
Nu există nicio etapă de export la sfârșitul procesului: fișierele rezultate sunt deja
disponibile pe disc. Aveți posibilitatea să faceți clic cu butonul din dreapta pe un suport
și să selectați "Open Containing Folder" pentru a le regăsi. Procedând astfel pe
"Texturing", vom avea acces la folderul care conține OBJ și fișierele pentru textură.
Buddha – Default Pipeline de AliceVision pe Sketchfab
Pasul 5: Post-procesare: Simplificarea rețelei
Să vedem cum poate fi utilizat sistemul nodal pentru a adăuga un nou proces la
operațiunea implicită. Scopul acestui pas va fi de a crea o versiune low-poly a
modelului nostru folosind decimarea automată a rețelei.
Să comutăm la “Graph Editor” și clic dreapta în spațiul gol pentru a deschide meniul
de creare a nodului. De acolo, vom selecta “MeshDecimate”: acest lucru creează un
nod nou în grafic. Acum trebuie să îi dăm o rețea high-poly ca date de intrare. Să
creăm o conexiune făcând clic și glisând din MeshFiltering.output la
MeshDecimate.input. Acum putem selecta nodul MeshDecimate și ajusta parametrii
pentru a se potrivi nevoilor noastre, de exemplu, prin setarea unui număr maxim de
noduri la 100,000. Pentru a începe calculul, fie apăsați butonul principal “Start”, fie clic
dreapta pe un anumit nod și selectați “Compute”.
Creați un nod MeshDecimate, conectați-l, ajustați parametrii și porniți calculul. În mod
implicit, de îndată ce calculul este pornit, graficul va fi afișat doar în citire pentru a evita
orice modificare care ar compromite procesele planificate. Fiecare nod care produce
suport 3D (point cloud sau rețea) poate fi vizualizat în 3D Viewer prin simplu dublu clic
pe el. Să facem asta după ce nodul MeshDecimate a fost calculat.
• Double-Click pe un nod pentru a-l vizualiza în 3D Viewer. Dacă rezultatul nu este
încă calculat, acesta va fi încărcat automat imediat ce este disponibil.
• Ctrl+Click comută vizibilitatea unui suport pentru a afișa numai această alternativă
media din Graph Editor: Ctrl+DoubleClick pe un nod.
Pasul 6: Retexturarea după retopologie
Efectuarea unei variante a originalului, rețeaua high-poly este doar primul pas pentru
crearea unui model 3D personalizat. Acum, să vedem putem re-textura această
geometrie.
Să ne întoarcem la Graph Editor pentru a efectua următoarele operațiuni:
• Right Click pe nodul Texturing
Duplicate
• Right Click pe conexiunea MeshFiltering.output
Texturing2.inputMesh
Remove
• Crearea unei conexiuni din MeshDecimate.output la Texturing2.inputMesh
Procedând astfel, am creat un proces de texturare care va folosi rezultatul decimării
ca geometrie de intrare. Acum putem ajusta parametrii de texturare, dacă este
necesar, și să începem calculul.
Retexturați rețeaua decimată (simplificată) utilizând un al doilea nod de texturare
Buddha – 100K Vertices Decimation de AliceVision pe Sketchfab
Retopologie externă și UV-uri personalizate Această configurare poate fi utilizată
și pentru a reproiecta texturi pe o rețea care a fost modificată în afara Meshroom
(exemplu: retopology / unwrap). Singura constrângere este de a rămâne în același
spațiu 3D ca reconstrucția originală și, prin urmare, de a nu modifica mărimea sau
orientarea.
Apoi, în loc să-l conectăm la MeshDecimate.output, putem scrie direct calea fișierului
pentru rețea în parametrul Texturing2.inputMesh din nodul Atribut Editor. Dacă
această rețea are deja coordonate UV, acestea vor fi utilizate. În caz contrar, va
genera noi UV-uri bazate pe alegerea din "Unwrap Method".
Texturarea acceptă, de asemenea, calea către rețele externe
Pasul 7: Draft Meshing (rețea brută) din SfM
MVS constă din crearea de hărți de adâncime pentru fiecare cameră, fuzionează-le
împreună și folosind această cantitate uriașă de informații pentru a crea o suprafață.
Generarea acestor hărți de adâncime este partea cea mai intensă de calcul și necesită
un GPU cuda activat. Vom explica cum se generează o rețea rapidă și fără detalii
direct de la ieșirea SfM, pentru a obține o previzualizare rapidă a modelului 3D. Din
nou, se folosește sistemul nodal.
Să revenim la operațiile implicite și să facem următoarele operațiuni:
• Right Click pe DepthMap
Duplicate Nodes from Here
(pictograma “
”) pentru a crea o ramură în grafic și pentru a menține rezultatul
anterior.
o alternativă: Alt + Click pe nod
• Selectare și eliminare (Right Click
Remove Node sau Del) DepthMap și
DepthMapFilter
• Conectare PrepareDenseScene.input
Meshing.input
• Conectare PrepareDenseScene.output
Texturing.inputImages
Draft Meshing din configurarea StructureFromMotion
Cu această comandă rapidă, Meshing folosește direct punctele 3D din SfM, care trece
peste etapele intense de calcul și accelerează calculul de la sfârșitul operațiunii. Acest
lucru oferă, de asemenea, o soluție pentru a obține o rețea brută fără un dispozitiv
Nvidia GPU.
Dezavantajul este că această tehnică va funcționa numai pe seturi de date foarte
texturate, care pot produce suficiente puncte în point cloud. În toate cazurile, nu va
atinge nivelul de calitate și precizie al operațiunii implicite, dar poate fi foarte util pentru
a produce o previzualizare în timpul achiziției sau pentru a obține măsurătorile 3D
înainte de foto-modelare.
Buddha – Draft Meshing from SfM de AliceVision pe Sketchfab
Pasul 8: Lucrul iterativ
Vom rezuma acum prin explicarea modului în care ceea ce am învățat până acum
poate fi folosit pentru a lucra iterativ și pentru a obține cele mai bune rezultate din
seturile de date.
1. Mai întâi, calculul și analiza Structure-from-Motion
Aceasta este cea mai bună modalitate de a verifica dacă reconstrucția va fi realizată
cu succes înainte de a începe restul procesului (Right click > Compute pe nodul
StructureFromMotion). Pentru asta, numărul de camere reconstruite și
aspectul/densitatea norului de puncte rare sunt indicatori buni. Mai multe strategii pot
ajuta la îmbunătățirea rezultatelor în această etapă timpurie a operațiunii:
• Extrageți mai multe puncte cheie din imaginile de intrare prin setarea “Describer
Preset” la “high” de pe nodul FeatureExtraction (sau chiar la “ultra” pentru seturi
de date mici).
• Extragerea mai multor tipuri de puncte cheie prin bifarea “akaze” din “Describer
Type” din nodurile FeatureExtraction, FeatureMatching și StructureFromMotion.
2. Folosirea draft meshing din SfM pentru a ajusta parametrii
Transformarea în rețea a ieșirii SfM poate ajuta, de asemenea, pentru a configura
parametrii procesului standard de realizarea rețelei, prin furnizarea unei previzualizări
rapide a reconstrucției dense. Să ne uităm la acest exemplu:
Cu parametrii impliciti, putem previzualiza din Meshing2 că zona reconstruită include
unele părți ale mediului pe care nu le dorim cu adevărat. Prin creșterea parametrului
"Min Observations Angle For SfM Space Estimatim", excludem punctele care nu sunt
susținute de o constrângere puternică a unghiului (Meshing3). Acest lucru duce la o
zonă mai îngustă, fără elemente de fundal la sfârșitul procesului (Meshing4 vs implicit
Meshing).
3. Experiment cu parametri, crearea de variante și compararea rezultatelor
Unul dintre principalele avantaje ale sistemului nodal este capacitatea de a crea
variante de calcul și de a le compara. În loc să modificăm un parametru pe un nod
care a fost deja calculat și să-l anulăm, putem duplica nodul (sau întreaga ramură), să
lucrăm la această copie și să comparăm variantele pentru a păstra cea mai bună
versiune.
În plus față de cele descrise în acest tutorial - parametrii cei mai utili pentru obține
precizie și performanță pentru fiecare pas sunt detaliate pe Meshroom Wiki.
Pasul 9: Încărcarea rezultatelor pe Sketchfab
Meshroom nu oferă încă un instrument de export pentru Sketchfab, dar rezultatele
sunt toate în formate de fișier standard și pot fi încărcate cu ușurință folosind interfața
web Sketchfab. Fluxul de lucru constă în principal din acești pași:
• Decimați rețeaua în Meshroom pentru a reduce numărul de poligoane
• Curățați această rețea cu un software extern, dacă este necesar (de exemplu,
pentru a elimina elementele de fundal)
• Retexturați rețeaua curățată
• Încărcați modelul și texturile în Sketchfab
Puteți vedea unele scanări 3D ale comunității și ale noastre pe pagina Sketchfab.
Nu uitați să etichetați modelele cu “alicevision” și “meshroom” dacă vreți să vă vedem
munca!
Capturarea
Dacă aceasta este prima dată când utilizați software-ul de fotogrammetrie, citiți
următorul capitol despre să faceți fotografii bune pentru proiectul dvs.
Elemente de bază
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Scena/obiectul trebuie să fie bine luminat.
Evitați umbrele, reflecțiile și obiectele transparente.
Cea mai bună fotografie este cu lumină indirectă, cum ar fi ziua la umbra unei
clădiri, evitând suprafețele plane și care au o singură culoare
Nu utilizați blițul.
Nu modificați distanța focală în timpul fotografierii și nu utilizați o lentilă fixă.
Asigurați-vă că puteți face fotografii din toate unghiurile.
Evitați mutarea obiectelor în scenă sau în fundal!
Puteți roti doar obiectele cu un fundal simplu
Obiectul de interes ar trebui să umple întotdeauna cea mai mare parte a imaginii
Faceți fotografii cu o suprapunere laterală de min. 60% și suprapunere frontală de
80%.
Pentru fiecare fotografie, treceți într-o poziție nouă (sau rotiți obiectul)
Nu faceți mai multe fotografii din același loc.
Puteți fotografia de mai multe ori în diferite moduri pentru a nu avea pete oarbe
evitați mișcarea aparatului în timpul fotografierii
Cu cât aveți mai multe imagini, cu atât mai bine. Puteți decide oricând să nu le
folosiți...
Detalii
Tutoriale
Construirea Meshroom
Dacă doriți să rulați cea mai recentă versiune de Meshroom sau o versiune
personalizată pentru dezvoltatori, trebuie să obțineți sursele.
Mediul software
Meshroom este o aplicație Python și se bazează pe cadrul AliceVision.
Mediul Python
Sunt necesare următoarele versiuni de python:
• Windows: Python 3 (>=3.5)
• Linux / Mac OS X: Python 3 (>=3.5) or Python 2 (>= 2.7)
Notă
Fără suport Python 2.7 în Windows?
Pachetul binar Oficial Python 2.7 este construit cu Visual Studio 2008, în timp ce
PySide2/Qt este construit folosind Visual Studio 2015/2017. Prin urmare, pentru a
evita amestecarea bibliotecilor msvc runtime, Qt nu livrează PySide2 pentru Python
2.7 pe Windows (după se explică aici). Rețineți că pentru utilizarea Meshroom numai
în modul linie de comandă (fără UI), PySide2 nu este necesar și Python 2.7 merge
bine.
Obțineți proiectul
Citiți INSTALL.md pentru a configura proiectul și cerințele preliminare.
Obțineți codul sursă și instalați cerințele de execuție:
git clone --recursive git://github.com/alicevision/meshroom
cd meshroom
pip install -r requirements.txt
Mai multe
•
•
•
•
•
View and Edit Models
Share your model
Print your model
Tethering software
Related Projects
Vizualizarea și editarea modelelor
Meshlab
Aveți posibilitatea să glisați și să fixați diferite fișiere OBJ și PLY ca straturi.
Deci, în acest caz, am un strat atât pentru rețeaua finală și punctele SFM / camere.
Uneori, pasul de netezire a rețelei poate fi un pic prea agresiv, așa că mi se pare utilă
compararea dintre rețeaua originală și cea netedă/simplificată. În cazul în care rețeaua
pare întreruptă, datele PLY SFM și ochiurile obj sunt prea mari pentru a fi urmărite de
procesul de calcul.
clean up / delete / smooth
Primul lucru pe care doriți să îl faceți este să rotiți modelul și să-l aliniați la sistemul de
coordonate.
Puteți importa obj în Meshlab apoi accesați Filters :math:`Rightarrow` Normals,
Curvatures ** and **Orientation :math:`Rightarrow` Transform: Rotate ** ** și
aliniați-l de acolo. ** **
Este posibil să existe unele părți ale modelului sau ale scenei pe care doriți să le
eliminați.
Aveți posibilitatea să selectați ….. apoi eliminați…
http://www.banterle.com/francesco/courses/2017/be_3drec/slides/Meshlab.pdf
http://
www.scanner.imagefact.de/tut/meshlabTut.pdf
Rețea netedă
Dacă nu vă plac rezultatele de netezire de la Meshroom, puteți netezi singur
rețeaua.
http://www.cs.cmu.edu/~reconstruction/advanced.html#meshlab
Tutoriale după Mister P. MeshLab Tutorials MeshLab Basics: Navigation
MeshLab Basics: Selection, part one
MeshLab Basics: Selection, part two
Cleaning: Triangles and Vertices Removal
Cleaning: Basic filters
Mesh Processing: Decimation Meshlab Processing: Smoothing
MeshLab Basics: Scale to real measures
Blender
Pentru instrucțiuni detaliate, vizitați blender homepage sau canalul blender youtube.
Aici este un tutorial rapid care descrie modul de optimizare a obiectelor fotogrammetrie
cu Blender: How to 3D Photoscan Easy and Free!
https://www.youtube.com/watch?v=k4NTf0hMjtY
filtrarea rețelei 10:18 / 13:17 blender import
https://www.youtube.com/watch?v=RmMDFydHeso
Plugin Blender Meshroom2Blender
Importator Blender pentru AliceVision Meshroom
datafiles: cameras, images, sparse pointcloud și fișiere obj.
Implementarea de bază a importatorului Meshroom. Dacă aveți arbore sofisticat de
noduri se vor utiliza numai primele noduri din fișier. Addon-ul presupune că ați calculat
fiecare etapă/nod, iar ieșirea este aceeași. Pentru detalii, vizitați Github project site.
BlenderLandscape
Addon pentru Blender 2.79b. Colecție de instrumente 3DSurvey pentru a îmbunătăți
fluxul de lucru al unui sondaj 3D (fotogrammetrie terestră sau UAV). Importul mai
multor obj simultan (cu orientare corectă), de exemplu, mai multe modele realizate în
Meshroom. https://github.com/zalmoxes-laran/BlenderLandscape
Rețele instant
https://github.com/wjakob/instant-meshes
Include o descriere rapidă. Este o soluție de auto-retopologie foarte rapidă și vă ajută
să creați rețele mai precise
CloudCompare
Software 3D point cloud și de procesare a rețelei
Open Source Project
https://www.danielgm.net/cc/
http://www.danielgm.net/cc/release/
tutorial
http://www.danielgm.net/cc/tutorials.html
Exportul modelului în Unity
Porniți Unity, deschideți proiectul și folderul asset.
Navigați cu exploratorul de fișiere al sistemului de operare la subfolderul assets unde
doriți să stocați obiectul Fotogrammetry.
Copiați fișierele model.obj și texture.jpg (sau alte tipuri de fișiere acceptate)din folderul
Meshroom Export în Unity, subfolderul assets.
Deschideți Unity și așteptați ca importul automat să se finalizeze.
Este posibil să doriți să optimizați rețeaua și textura pentru a le utiliza în jocuri.
Acum puteți adăuga modelul la scenă.
Există un pic mai mult de făcut pentru a crea un joc demo simplu, cum ar fi
adăugarea unui Mesh collider, optimizarea texturii,…
Pentru instrucțiuni detaliate, vizitați pagina Home a Unity.
Aici este un manual cu privire la modul de optimizare a obiectelor fotogrammetrie din
Unity: Unity Photogrammetry Workflow .. image::
100000000000076E00000401AC14E84A53702851.jpg
Export în Maya (Plugin)
MeshroomMaya (v0.4.2) este un plug-in Maya care permite modelarea obiectelor 3D
folosind imagini.
https://github.com/alicevision/MeshroomMaya
Acest plug-in nu este disponibil în acest moment (momentul scrierii manualului).
Utilizați în schimb nodul Export în Maya.
Alembic bridge
Export din Meshroom pentru Maya
Utilizați nodul Export în Maya pentru a exporta fișierul Alembic ABC
Import în Nuke/Mari
În meniu “NukeMVG
Import Alembic”, fișierul .abc poate fi încărcat. Instrumentul
creează graficul de proiecție a camerei. Rezultatul poate fi de export la Mari via
Nuke + Mari bridge.
SideFX Houdini Plugin
O implementare a Alicevision este disponibil în Houdini ca parte (gratuită) a
GameDevelopmentToolset.
Puteți găsi instrucțiunile de instalare pe pagina următoare:
https://www.sidefx.com/tutorials/alicevision-plugin/
Recenzie (în germană):
https://www.digitalproduction.com/2019/02/26/alicevision-photogrammetrie-inhoudini/
Elevii pot descărca ediția de învățare gratuită numită `
<https://www.sidefx.com/products/compare/>`_ Houdini Apprentice . Aceasta este o
licență blocată de noduri care are toate caracteristicile Houdini FX cu unele restricții,
cum ar fi o dimensiune limitată de randare și un filigran pe randările finale.
Partajați-vă modelul
(Construirea unui modul de încărcare se află în faza de proiect. Citiți github)
clip area
reduce polycount
reduce resolution
https://sketchfab.com/
Descriere pe scurt
https://www.thingiverse.com/
https://pointscene.com/
https://www.pointbox.xyz/
și altele…
Imprimarea modelului
https://groups.google.com/forum/#!topic/alicevision/RCWKoevn0yo
Software de tethering
Controlul la distanță a camerei prin cablu USB. Pentru utilizare cu o placă turnantă
și/sau Live Reconstruction.
Unii producători (Sony, Panasonic, FUJIFILM, Hasselblad. Canon EOS..) oferă un
instrument gratuit ca alternativă a programelor care se vând (Nikon, Canon). Sunt și
alte soluții comerciale de la terțe părți.
Această listă conține numai proiecte open-source gratuite.
1 DigiCamControl (Windows)
• Suport pentru mai multe tipuri de camere
http://digicamcontrol.com/download
Acceptă multe modele Nikon, Canon, Sony SLR și alte câteva camere.
Lista completă aici: http://digicamcontrol.com/cameras
2 Entangle Photo (Linux)
https://entangle-photo.org/
Suport pentru camere Nikon sau Canon DSLR `
<http://www.gphoto.org/doc/remote/>`_ remote capture in libgphoto2 va lucra cu
Entangle.
3 GPhoto (Linux)
http://www.gphoto.org/
4 Sofortbildapp (OSX)
http://www.sofortbildapp.com/
5 PkTriggerCord (Windows, Linux, Android)
pentru camere Pentax
http://pktriggercord.melda.info/
https://github.com/asalamon74/pktriggercord/
6 Darktable (Windows, Linux, OSX)
http://www.darktable.org/
https://www.darktable.org/usermanual/en/tethering_chapter.html
WifiRemoteControl
Pentru unele camere poate fi folosit controlul Wifi.
LMaster https://github.com/Rambalac/GMaster de exemplu, pentru unele camere
Lumix. Există chiar și instrumente pentru PC-ul pentru a se conecta la ActionCams
folosind Wifi…
Proiecte corelate
..image:: ofxMVG.jpg
ofxMVG
Camera Localization OpenFX Plugin pentru Nuke
https://github.com/alicevision/ofxMVG
Nu este disponibil în acest moment.
..image:: marker2.jpg
CCTag
Concentric Circles Tag
Această bibliotecă vă permite să detectați și să identificați markerii CCTag. Un astfel
de sistem de marcare poate oferi o precizie de sub-pixel, fiind în același timp în mare
măsură robustă la condiții de fotografiere deosebite.
https://github.com/alicevision/CCTag
CCTag library
Detectarea markerilor CCTag alcătuite din cercuri concentrice. Implementări atât în
CPU, cât și în GPU.
A se vedea: “Detection and Accurate Localization of Circular Fiducials under Highly
Challenging Conditions.” Lilian Calvet, Pierre Gurdjos, Carsten Griwodz și Simone
Gasparini. CVPR 2016.
https://www.cvfoundation.org/openaccess/content_cvpr_2016/papers/Calvet_Detection_and_Accurate_CV
PR_2016_paper.pdf
Marker library
Markerii de imprimat sunt localizați aici .
Avertizare Vă rugăm să respectați marjele furnizate. Rata de detecție raportată și
acuratețea localizării sunt valabile cu suport complet plan: aveți grijă să nu utilizați
suport îndoit (de exemplu, o foaie de hârtie ondulată).
Cele patru inele CCTags vor fi disponibile în curând.
CCTags necesită fie CUDA 8.0 și mai noi, fie CUDA 7.0 (compilațiile CUDA 7.5 sunt
cunoscute pentru a avea erori de runtime pe unele dispozitive, inclusiv GTX980Ti).
Dispozitivul trebuie să aibă cel puțin capacitate de calcul 3.5.
Verificarea compatibilității plăcii grafice CUDA aici .
..image:: marker3.jpg
PopSIFT
Scale-Invariant Feature Transform (SIFT)
Această bibliotecă oferă o implementare GPU a SIFT. 25 fps pe imagini HD pe plăcile
grafice recente. https://github.com/alicevision/popsift
Întrebări frecvente de la GH-Wiki
•
•
•
•
•
•
•
•
•
•
•
•
•
Crashed at Meshing
DepthMap node too slow
Draft Meshing
Error: Graph is being computed externally
Images cannot be imported
Large scale dataset
Multi Camera Rig
Error: This program needs a CUDA Enabled GPU
Reconstruction parameters
StructureFromMotion fails
Supported image formats
Texturing after external re topology
Troubleshooting
Blocare program la Meshing
Soluţie: încercați să reduceți valoarea maxPoints din nodul Meshing pentru a evita
utilizarea a prea mult RAM & SWAP
#243 #303
Nodul DepthMap este prea lent
Puteți accelera procesul Depth Map. Iată ce trebuie să faceți:
Măriți factorul de downscale pentru a reduce direct precizia.
Reducerea numărului de camere T (sgmMaxTCams, refineMaxTCams) va reduce
direct timpul de calcul liniar, deci, dacă modificați de la 10 la 5 veți obține un timp de
2x mai mic.
Este necesară o valoare minimă de 3, 4 oferă deja rezultate decente, în multe cazuri,
în cazul în care densitatea procesului de achiziție este suficient de regulat.
Valoarea implicită este necesară într-un mediu la scară largă, unde este dificil să ai 4
imagini care acoperă aceeași zonă.(#228)
Draft Meshing
Ca și versiunea 2019.1.0 a meshroom, este posibilă reconstrucția fără a utiliza nodul
Depthmap (depthmap necesită CUDA). Este mult mai rapid decât harta adâncime, dar
rețeaua rezultată este de calitate scăzută, astfel încât este încă recomandat ca
depthmap să fie folosit pentru a genera rețeaua, dacă este posibil. Acest lucru se
poate face utilizând următoarea configurație de nod:
Trebuie să utilizați setarea HIGH din nodul FeatureExtraction pentru a obține o
densitate suficientă generării rețelei. Reconstruction-parameters
Eroare: Graph is being computed externally
Ieșirea neașteptată din Meshroom în timpul procesării poate cauza problema “Graph
is being computed externally”.`#249`_
Butoanele Start și Stop sunt estompate.
Fundal: Când Meshroom se termină în mod neașteptat, fișierele sunt lăsate în
folderele cache. Când deschideți un astfel de proiect, Meshroom va crede, pe baza
fișierelor reziduale, că anumite părți ale operațiunii sunt calculate extern. (Această
caracteristică
([Renderfarm](https://github.com/alicevision/meshroom/wiki/Largescale-dataset)) nu este inclusă în binarul Release 2019.1.0) Deci butoanele sunt gri,
deoarece Meshroom așteaptă o sursă externă pentru a calcula graficul. Evident, asta
nu va merge nicăieri. Acest comportament poate apărea, de asemenea, atunci când
modificați nodurile în modul avansat în timp ce graficul este calculat.
Pentru a remedia această problemă, mai întâi încercați ‘Clear Submitted Status’ cu
clic pe nodul defect (right click
delete data).
În cazul în care acest lucru nu funcționează, de asemenea, goliți stările prezentate ale
următoarelor noduri (right click
delete data
)
Aveți un meniu în partea din dreapta sus a widget-ului grafic cu “Clear Pending Status”
pentru a face acest lucru pe toate nodurile deodată.
Alternativ, accesați folderul cache al proiectului și ștergeți conținutul folderelor de
noduri începând cu nodul unde Meshroom nu mai funcționează (marcat cu verde
închis). Puteți păstra rezultatele calculate de succes (verde deschis). Acum puteți
continua să calculați graficul pe computer.
Imaginile nu se pot importa
Modulul de import de la AliceVision are probleme cu analizarea fișierelor imagine
deteriorate. Unele camere de telefon mobil și camere de acțiune / camere mici, cum
ar fi CGO3 + de la Yuneec produce imagini care nu sunt valabile. Majoritatea
vizualizatoarelor de imagini și a software-ului de editare pot gestiona inconsecvențe
minore.
Utilizați instrumente cum ar fi Bad Peggy pentru a verifica erorile din fișierele imagine.
De exemplu. “…extraneous bytes before marker 0xdb”.
sau “Truncated File - Missing EOI marker” pe o cameră raspberry
Pentru a remedia această problemă, trebuie să convertiți în bloc setul de date (acesta
este motivul pentru care a funcționat și downscaling). Puteți utiliza IrfanView File>Batch Conversion sau Imagemagick. Asigurați-vă că setați calitatea la 100%. Acum
puteți adăuga imaginile la Meshroom (presupunând că aparatul foto se află în senzor
db).
–
glisarea și fixarea imaginilor nu funcționează (#149) cu mouse-ul peste orice
fotografie cursorul este dezactivat și glisarea fotografiilor în viewport nu are nici un
efect. Executați Meshroom ca administrator? Dacă da, asta e cauza.. Windows
dezactivează glisarea și fixarea aplicațiilor care se execută ca administrator.
–
Notă: evitați caracterele speciale/caracterele non-ASCII pentru căile de fișiere
Meshroom și imagini (#209)
Large scale dataset
Pot folosi Meshroom pe seturi de date mari cu mai mult de 1000 de imagini?
Da, performanța operațiunilor se modifică aproape liniar. Vă recomandăm ajustarea
parametrilor SfM pentru a fi un pic mai stricte, pentru a avea o densitate bună /
conexiuni bune între imagini. Există 2 praguri globale pe nodul Meshing
( maxInputPoints și maxPoints ) care poate fi necesar să fie ajustate în funcție de
densitatea / calitatea de care aveți nevoie și cantitatea de RAM disponibile pe
computerul utilizat.
Pot folosi Meshroom pe renderfarm?
Meshroom a fost conceput pentru a fi utilizat pe renderfarm. Ar trebui să fie destul de
simplu pentru a crea un nou submitter, a se vedea available submitters ca exemple.
Contactați-ne dacă aveți nevoie de mai multe informații pentru a-l utiliza cu un nou
sistem renderfarm.
Multi Camera Rig
Dacă fotografiați un set de date statice cu o platformă mobilă de camere (camere fixate
rigid împreună cu sincronizarea obturatorului), puteți declara această constrângere
algoritmului de reconstrucție.
În prezent, nu există nicio soluție pentru a declara această restricție direct în interfața
cu utilizatorul Meshroom, dar puteți utiliza următoarea convenție de denumire a
fișierelor:
+ rig/ # "rig" folder
|-+ 0/ # sub-folder with the index of the camera (starting at 0)
|---- DSC_0001.JPG # Your camera nume fișier (the is no constraint on the nume fișier, here
"DSC_" prefix is just an example)
|---- DSC_0002.JPG
|-+ 1/ # sub-folder with the index of the camera
|---- DSC_0001.JPG
|---- DSC_0002.JPG
Toate imaginile cu același Nume în diferite foldere "rig / cameraIndex" vor fi declarate
legate împreună prin aceeași transformare. Deci, în acest exemplu, poziția relativă
între cele 2 imagini "DSC_0001.JPG" de la aparatul de fotografiat 0 și camera 1 va fi
aceeași ca între cele două imagini "DSC_0002.JPG".
Când adăugați imaginile în Meshroom, această restricție va fi recunoscută și o veți
putea vedea în nodul CameraInit (a se vedea Rig și Rig Sub-Pose din parametrul
Viewpoints ).
Eroare: This program needs a CUDA Enabled GPU
[eroare] Acest program are nevoie de un GPU CUDA-Enabled (cu capacitatea de
calcul de cel puțin 2.0), dar Meshroom rulează pe un computer cu NVIDIA GPU.
Soluţie: actualizare/reinstalare drivere. Detalii: #182 #197 #203
Acest mesaj de eroare pe un computer fără GPU NVIDIA
Calculul hărții de adâncime este implementat cu CUDA și necesită NVIDIA GPU.
#218 #260
[Cerere] Eliminare dependență CUDA alicevision/#439
În prezent, nu avem nici interesul, nici resursele necesare pentru a face o altă
implementare a codului CUDA la un alt cadru GPU. Dacă cineva este dispus să aducă
această contribuție, îl vom sprijini și vom ajuta la integrare.*
Pot folosi Meshroom fără un GPU NVIDIA?
Da, dar trebuie să utilizați Draft Meshing pentru a finaliza reconstrucția.
Gpu-ul meu acceptă CUDA?
Verificaţi https://developer.nvidia.com/cuda-gpus
Parametri de reconstrucție
Parametrii impliciti sunt optimi pentru majoritatea seturilor de date. De asemenea,
mulți parametri sunt expuși în scopuri de cercetare și dezvoltare și nu sunt utili pentru
utilizatori. Un subset al lor poate fi util pentru utilizatorii avansați pentru a îmbunătăți
calitatea pe seturi de date specifice.
Primul lucru este de a verifica numărul de camere pentru reconstrucție din imaginile
de intrare. Dacă un număr semnificativ nu sunt reconstruite, ar trebui să se
concentreze pe opțiunile de reconstrucție rare (sparse reconstruction).
Sparse reconstruction
Modificați DescriberPreset de la Normal la High Dacă setul de
date nu este mare (<300 imagini), puteți folosi presetarea High . Va dura mai mult
timp pentru nodul StuctureFromMotion dar poate ajuta pentru a recupera mai multe
camere. Dacă aveți într-adevăr puține imagini (de exemplu, <50 imagini), puteți
folosi Ultra care poate îmbunătăți sau reduce calitatea în funcție de conținutul
imaginii.
2. FeatureMatching : Activați Guided Matching Această opțiune permite o a doua etapă în
procedura de potrivire. După potrivirea descriptorului (cu un test global al raportului
de distanță) și prima filtrare geometrică, vom recupera o transformare geometrică.
Potrivirea ghidată utilizează aceste informații geometrice pentru a efectua
descriptorii care se potrivesc a doua oară, dar cu o nouă restricție pentru a limita
căutarea. Această abordare bazată pe geometrie previne respingerea timpurie și
îmbunătățește numărul de potriviri, în special cu structurile repetitive. Dacă întradevăr luptați pentru a găsi potriviri, puteți utiliza potrivirea BRUTE_FORE_L2 , dar acest
lucru nu este bun în cele mai multe cazuri, deoarece este foarte ineficient.
3. Activați AKAZE ca DescriberTypes pe nodurile FeatureExtraction , FeatureMatching și
StructureFromMotion . Se poate îmbunătăți în special pe unele suprafețe (cum ar fi
pielea, de exemplu). Este, de asemenea, un invariant mult mai afin față de SIFT și
poate ajuta pentru a recupera conexiunile atunci când nu aveți suficiente imagini
pentru intrare.
4. Pentru a îmbunătăți robustețea selecției inițiale a perechilor de
imagini/reconstrucției inițiale, puteți utiliza un SfM cu minInputTrackLength setat la 3
sau 4 pentru a păstra doar cele mai robuste potriviri (și de a îmbunătăți raportul
inliers/outliers). Apoi, puteți lega un alt SfM cu parametrii standard, astfel încât al
doilea va încerca din nou pentru a localiza camerele care nu au fost găsite de
primul, dar cu parametri diferiți. Acest lucru este util dacă aveți doar câteva camere
reconstruite într-un set mare de date.
1.
FeatureExtraction :
Dense reconstruction
1.
2.
DepthMap
Puteți ajusta parametrul Downscale pentru a administra precizia/timpul de calcul. Dacă
rezoluția imaginilor nu este prea mare, puteți seta la 1 pentru a crește precizia, dar atenție,
calculul va dura de ~ 4x mai mult. Dimpotrivă, setarea la o valoare mai mare va scădea
precizia, dar va accelera calculul.
Reducerea numărului de camere vecine ( SGM: Nb Neighbour Cameras , Refine: Nb Neighbour
Cameras ) va reduce direct timpul de calcul liniar, deci, dacă schimbați de la 10 la 5 veți
obține o accelerare de 2x. O valoare minimă de 3 este necesară, 4 oferă deja rezultate
decente în multe cazuri, în cazul în care densitatea procesului de achiziție este suficient
de regulat. Valoarea implicită este necesară într-un mediu la scară largă, unde este dificil
să aveți 4 imagini care acoperă aceeași zonă.
DepthMapFilter
Dacă introduceți imagini care nu sunt suficient de dense sau sunt prea neclare și aveți
prea multe găuri în ieșire. Poate fi util să relaxați Min Consistent Cameras și Min Consistent
Cameras Bad Similarity la 2 și, respectiv, la 3.
3.
4.
Meshing
Dacă aveți mai puțin de 16G de RAM, va trebui să reduceți Max Points pentru a se potrivi
limitelor RAM. Puteți, de asemenea, să măriți, pentru a obține o rețea mai densă / precisă.
MeshFiltering
pot fi ajustate pentru a evita găuri sau pe de altă parte
pentru a limita numărul de triunghiuri mari. Keep Only The Largest Mesh : Dezactivați această
opțiune dacă doriți să regăsiți fragmente neconectate care pot fi utile.
Filter Large Triangles Factor
5.
Texturing
Puteți modifica Texture Downscale la 1 pentru a îmbunătăți rezoluția texturii.
Tipuri de descriptori
Puteți alege să utilizați unul sau mai multe tipuri de descriptori. Dacă utilizați mai multe
tipuri, aceștia vor fi combinați împreună pentru a obține rezultate în condiții dificile.
Valorile trebuie să fie întotdeauna aceleași între FeatureExtraction, FeatureMatching
și StructureFromMotion. Singurul caz pentru ajunge cu valori diferite este pentru
testarea și compararea rezultatelor: în acest caz, veți activa toate opțiunile pe care
doriți să le testați pe FeatureExtraction și apoi utilizați un subset al lor în Matching și
SfM.
StructureFromMotion eșuează
poate eșua atunci când nu există suficiente caracteristici extrase
din setul de date imagine (set de date slab texturate, cum ar fi mediul interior). În acest
caz, puteți încerca să măriți cantitatea de caracteristici:
•
DescriberPreset la High sau la Ultra în FeatureExtraction
• Adăugați AKAZE ca și DescriberType pe nodurile FeatureExtraction , FeatureMatching și
StructureFromMotion
StructureFromMotion
Utilizarea mai multor caracteristici va reduce performanțele pe seturile de date mari.
O altă problemă este că adăugarea de prea multe caracteristici (mai puțin fiabile)
poate reduce, de asemenea, cantitatea de potriviri prin crearea mai multor ambiguități
și conflicte în timpul caracteristicilor de potrivire.
•
parametrul Guided Matching din FeatureMatching este util pentru a reduce conflictele
în timpul potriviri caracteristicilor, dar este costisitoare în ceea ce privește
performanța. Deci, este foarte util atunci când aveți câteva imagini (cum ar fi o
platformă camere de la un studio de scanare).
Formate de imagine acceptate
Meshroom acceptă majoritatea formatelor de imagine, inclusiv multe formate RAW,
cum ar fi ‘.exr’, ‘.rw2’, ‘.cr2’, ‘.nef’, ‘.arw’,… Importatorul de imagini se bazează pe
OpenImageIO, astfel încât toate formatele acceptate de OpenImageIO pot fi importate
în Meshroom. Cu toate acestea, în acest moment se recomandă utilizarea ‘.jpg’,
‘.jpeg’, ‘.tif’, ‘.tiff’ sau ‘.png’.
Not[: Pe unele seturi de date, calitatea reconstrucției ar putea fi redusă sau ar putea
provoca întreruperea neașteptată a reconstrucției. (#G) Pentru a rezolva această
problemă convertiți imaginii RAW în ‘.jpg’, ‘.jpeg’, ‘.tif’, ‘.tiff’ sau ‘.png’.
Texturare după re topologie externă
Este posibil să se reproiecteze texturi după re-topologie și unwrap personalizat.
Singura constrângere este de a NU modifica scara/orientarea modelului, în scopul de
a rămâne în același spațiu 3D ca la reconstrucția originală.
Pentru a retextura o rețea de utilizator, este necesar să eliminați conexiunea de intrare
din inputMesh (faceți clic dreapta pe conexiune
Remove) și să scrieți calea către
rețea. Dacă aveți UV-uri personalizate, acestea vor fi luate în considerare.
De asemenea, puteți duplica nodul Texturing original (faceți clic dreapta
Duplicate)
pentru ca să faceți modificări pe această copie. Ar trebui să arate așa:
(opțional) De asemenea, puteți seta ``Padding`` la 0 și bifa ``Fill Holes``, dacă doriți
să umpleți complet spațiul gol al texturii cu valori plauzibile.
Depanare
Lucruri pe care le puteți verifica/încerca:
• asigurați-vă că fișierele Meshroom descărcate nu sunt deteriorate (descărcare
incompletă/întreruptă)
• evitați caracterele speciale/caracterele non-ASCII în căile de fișiere Meshroom și
imagini (#209)
• asigurați-vă că programul antivirus nu interferează cu Meshroom ((#178)/(#342))
• executați Meshroom ca Admin? (Acest lucru va dezactiva drag & drop în ferestre)
• Verificați instalarea Python /reinstalați ca administrator și verificați PATH dacă
există conflicte
• actualizați/instalați cele mai recente drivere NVIDIA
• setați GPU-ul NVIDIA ca GPU principal pentru Meshroom. (Panoul de control
NVIDIA
Manage 3D Settings)
• Încercați versiunea Meshroom 2018.1; atunci când se utilizează windows 7
încercați versiunea corespunzătoare (Meshroom 2019.1 are unele probleme cu
texturarea #449, DepthMap și unele seturi de date foto care funcționau în 2018.1
#409. Aceste probleme vor fi abordate în următoarea versiune)
• Testați Meshroom cu setul de date Monstree
• Uneori operațiunea este coruptă. Goliți memoria cache pentru acel nod (și
următoarele noduri) care au eroarea. Uneori, repornirea aplicației / computerul ar
putea ajuta. #201
• verificați imaginile for problems
Referințe
Publicații text
https://sketchfab.com/blogs/community/tutorial-meshroom-for-beginners/
https://medium.com/realities-io/getting-started-with-photogrammetry-d0a6ee40cb72
http://benvancitters.com/tag/photogrammetry/
Videoclipuri
Meshroom live reconstruction (LADIO project)
https://www.youtube.com/watch?v=DazLfZXU_Sk
Meshroom: Open Source 3D Reconstruction Software
https://www.youtube.com/watch?v=v_O6tYKQEBA
How to 3D Photoscan Easy and Free!
mesh filtering 10:18 / 13:17 blender import
https://www.youtube.com/watch?v=k4NTf0hMjtY
Meshroom: 3D Models from Photos using this Free Open Source Photogrammetry
Software
https://www.youtube.com/watch?v=R0PDCp0QF1o
Free Photogrammetry: Meshroom
https://www.youtube.com/watch?v=NdpR6k-6SHs
MeshRoom Vs Reality Capture with blender
https://www.youtube.com/watch?v=voNKSkuP-RY
MeshRoom and Blender walkthrough
https://www.youtube.com/watch?v=VjBMfVC5DSA
Meshroom and Blender photoscanning tutorial (+ falling leaf animation)
https://www.youtube.com/watch?v=3L_9mf2s2lw
Meshroom Introductory Project Tutorial
https://www.youtube.com/watch?v=bYzi5xYlYPU
Meshroom: Camera Sensor DB Error
https://www.youtube.com/watch?v=EOc4Utksk2U
How to 3D Photoscan your Face for Free!
https://www.youtube.com/watch?v=9Ul9aYhm7O4
Meshroom: créez des objets 3D à partir de photos, grâce à une solution libre… —
François Grassard
https://www.youtube.com/watch?v=CxKzHJEff4w
Meshroom vs 3DZephyr vs Dronemapper Part 1
https://www.youtube.com/watch?v=zfj9u84bQUs
Meshroom vs 3DZephyr vs Dronemapper Part 2
https://www.youtube.com/watch?v=qyIW3cvtbiU
Character Photogrammetry for Games - Part 1 - Meshroom
https://www.youtube.com/watch?v=GzDE_K_x9eQ
Meshroom | Photoscan to Camera Track (Matchmove)
https://www.youtube.com/watch?v=1dhdEmGLZhY
Photogrammetry 2 – 3D scanning simpler, better than ever!
https://www.youtube.com/watch?v=1D0EhSi-vvc
Glosar
Alicevision
AKAZE
CCTAG
SIFT
About
•
•
•
•
•
•
•
About Meshroom
o Project history
o Partners
o Open Source
About the manual
Acknowledgements
Contact us
Contributing
List of contributers
Licenses
o Third parties licenses
Despre Meshroom
Meshroom este un software de reconstrucție 3D gratuit, open-source, bazat pe cadrul
AliceVision. AliceVision este un Cadru de viziune fotogrammetrică pentru computer
care oferă algoritmi de reconstrucție 3D și de urmărire a camerei. AliceVision își
propune să ofere o bază software solidă cu algoritmi de viziune computerizată de
ultimă generație care pot fi testați, analizați și reutilizați. Proiectul este rezultatul
colaborării dintre mediul academic și industrie pentru a oferi algoritmi de ultimă oră cu
robustețea și calitatea necesare pentru utilizarea producției.
Istoricul proiectului
În 2010, echipa de cercetare IMAGINE (un grup comun de cercetare între Ecole des
Ponts ParisTech și Centre Scientifique et Technique du Batiment) și Mikros Image a
început un parteneriat având la bază teza lui Pierre Moulon, supervizată de Renaud
Marlet și Pascal Monasse pe partea academică și de Benoit Maujean pe partea
industrială. În 2013, au lansat o operațiune open source SfM, numită openMVG
(“Multiple View Geometry”), pentru a oferi baza unei soluții mai bune pentru crearea
de efecte vizuale matte-paintings.
În 2009, echipa de cercetare CMP din CTU a început teza de doctorat a lui Michal
Jancosek, supervizată de Tomas Pajdla. Ei au lansat binare Windows pentru
operațiuni MVS, numite CMPMVS, în 2012.
În 2009, INPT, INRIA și Duran Duboi au început proiectul French ANR pentru a crea
un model bazat pe soluția de urmărire a camerei bazată pe caracteristici naturale și
un nou design de marker numit CCTag.
În 2015, Simula, INPT și Mikros Image și-au unit eforturile în cadrul proiectului UE
POPART to create a Previz system. În 2017, CTU s-a alăturat echipei în cadrul
proiectului UE LADIO pentru a crea un hub central cu acces structurat la toate datele
generate.
Parteneri
Czech Technical University (CTU) în Praga, Republica Cehă
IMAGINE de la Universite Paris Est, LIGM Gaspard-Monge, Franţa
Institut National Polytechnique de Toulouse (INPT), Franţa
Mikros Image , Post-Production Company din Paris, Franţa
Simula Research Laboratory AS din Oslo, Norvegia
Quine din Oslo, Norvegia
A se vedea AliceVision Contributors pentru lista completă a contribuabililor.
Acest proiect a primit finanțare din programul de cercetare și inovare Orizont 2020 al
Uniunii Europene, a se vedea POPART, ID proiect: 644874 și LADIO, ID proiect:
731970.
Open Source
Construim un software complet integrat pentru reconstrucția 3D, modelarea
fotografiilor și urmărirea camerelor. Scopul nostru este de a oferi o bază software
puternică cu algoritmi de viziune computerizată de ultimă generație care pot fi testați,
analizați și reutilizați. Legăturile dintre mediul academic și industrie este o cerință de
a oferi algoritmi de ultimă oră cu robustețea și calitatea necesare de-a lungul efectelor
vizuale și a procesului de fotografiere. Această abordare deschisă ne permite atât
nouă, cât și altor utilizatori să obținem un grad ridicat de integrare și personalizare
ușoară pentru orice mod de lucru din studio.
Dincolo de obiectivele proiectului nostru, open source este un mod de viață. Ne place
să facem schimb de idei, să ne îmbunătățim în timp ce facem îmbunătățiri altor
persoane și să descoperim noi oportunități de colaborare pentru a extinde orizontul
tuturor.
Despre manual
Acest manual este o compilație a resurselor găsite pe alicevision.github.io, informații
colectate de la probleme github, alte resurse web și conținut nou, creat pentru acest
manual.
LUCRĂRI ÎN CURS! (ultima actualizare 03.06.19)
Vreți să ajutați? A scăpat ceva?
Sunteți binevenit să comentați și să contribuiți. Acest document este în modul
"Sugerare editări".
Această lucrare este licențiată sub o licență internațională Creative Commons
Attribution-ShareAlike 4.0. Acesta este un proiect comunitar Meshroom.
Toate numele, logo-urile și mărcile de produse sunt proprietatea proprietarilor
respectivi. Toate numele de companii, produse și servicii utilizate în acest document
sunt doar în scopuri de identificare. Utilizarea acestor nume, logo-uri și mărci nu
implică aprobarea.
Mulţumiri
Mulțumiri cercetătorilor care au făcut munca lor să fie disponibilă online, astfel încât
să putem oferi gratuit, informații suplimentare de fond cu acest ghid prin referințe.
Și în cele din urmă vă mulțumesc pentru utilizarea Meshroom, testare, raportare de
probleme și schimb de cunoștințe.
Pentru toți colaboratorii Meshroom: țineți pasul cu ultimele actualizări!
Contactați-ne
Ne puteți contacta pe lista de discuții publice la
[email protected]
De asemenea, ne puteți contacta în particular la
[email protected]
Contribuții
Alice Vision se bazează pe un efort prietenos și bazat pe comunitate pentru a crea o
soluție de fotogrammetrie open source.
Proiectul se străduiește să ofere un mediu plăcut pentru toată lumea și încearcă să
fie pe cât posibil non-ierarhic. Fiecare contribuitor este considerat membru al
echipei, indiferent dacă este nou venit sau membru de lungă durată. Nimeni nu are
drepturi speciale sau prerogative. Fluxul de lucru al contribuțiilor se bazează pe
Github Pull Request. Vă recomandăm să discutați despre noile caracteristici înainte
de a începe dezvoltarea, pentru a vă asigura că dezvoltarea este eficientă pentru toată
lumea și pentru a minimiza sarcina de revizuire.
Pentru a promova o atmosferă prietenoasă și cooperantă în care colaborarea tehnică
poate înflori, ne așteptăm ca toți membrii comunității să fie politicoși și respectuoși
între ei, utili și constructivi în sugestii și critici să rămână pe subiect pentru mediul de
comunicare care este utilizat, să fie toleranți la diferențele de opinie și greșelile care
în mod inevitabil se fac de către toată lumea.
Veniți alături de noi pe Github
https://github.com/alicevision/
Lista colaboratorilor
Licenţe
Acest manual este licențiat sub licența `<http://creativecommons.org/licenses/bysa/4.0/>`_ Creative Commons Attribution-ShareAlike 4.0 International License.
Acesta este un proiect comunitar Meshroom.
Meshroom este eliberat sub MPLv2
Licențe pentru terți
•
•
•
•
Python https://www.python.org Copyright (c) 2001-2018 Python Software
Foundation distribuit în cadrul PSFL V2.
Qt/PySide2 https://www.qt.io Copyright (C) 2018 Qt Company Ltd și alți
contribuitori, distribuit în cadrul LGPL V3.
qmlAlembic https://github.com/alicevision/qmlAlembic Copyright (c) 2018
contribuabili AliceVision, distribuit în cadrul MPL2 license.
QtOIIO https://github.com/alicevision/QtOIIO Copyright (c) 2018 contribuabili
AliceVision, distribuit în cadrul MPL2 license.