[{"data":1,"prerenderedAt":325},["ShallowReactive",2],{"method-kummerle2011g2o":3},{"method":4,"reference":52,"equipment":75,"figures":82,"results":83},{"id":5,"label":6,"shortName":7,"title":8,"year":9,"era":10,"cluster":11,"scope":12,"keyIdeaZh":13,"keyIdeaEn":14,"fulltextStatus":15,"publicationStatus":16,"recommendation":17,"constructionRelevance":18,"validationEnvironment":19,"strengths":23,"limitations":29,"sensors":36,"platform":37,"estimator":39,"association":40,"timeModel":41,"deskew":42,"loopClosure":43,"globalOptimization":44,"mapRepresentation":45,"prior":46,"outputGeometry":47,"compute":48,"codeUrl":49,"codeLicense":50,"relatedVersions":51},"kummerle2011g2o","Kümmerle et al., 2011","g2o","g2o: A general framework for graph optimization",2011,"classic","C03","estimation_framework_or_library","g2o 將 SLAM 與 BA 等可用圖表示的非線性誤差函數，統一寫成以資訊矩陣加權的最小平方問題：節點是待估參數區塊，邊是量測約束。框架以 Gauss-Newton 或 Levenberg-Marquardt 迭代，並以 ⊞ 運算在流形上用最小參數化增量更新旋轉，避開過參數化與奇異性。效率來自利用圖的稀疏結構、Schur 補與可替換的線性求解器（稀疏 Cholesky 或 PCG）；作者在多個 2D\u002F3D 位姿圖與 BA 資料集上報告其效能與特定問題的專用實作相當。","g2o casts graph-structured SLAM and BA problems as sparse nonlinear least squares with manifold-aware increments and pluggable sparse linear solvers, providing a general open-source back-end.","full_text_reviewed","peer_reviewed_published","main_body","未在營建場域驗證。實驗資料含一個多層停車場的真實 3D 位姿圖，但評估對象是最佳化耗時與收斂，而非建物幾何或點雲精度 [Sec. V, Fig. 4]。",[20,21,22],"simulation","public_benchmark","completed_building",[24,25,26,27,28],"Generality: a new problem needs only an error function and an increment operator; 2D SLAM in under 30 lines of C++ (Sec. I; Sec. IV)","Faster than the sqrt-SAM implementation on all tested 2D and 3D datasets, comparable to SPA on 2D pose graphs, similar to sSBA on BA and on average two times faster than RobotVision (Sec. V-A, Fig. 7)","PCG is about 7 times faster than CHOLMOD on the New College and Venice BA datasets (Sec. V-C, Table II)","Schur decomposition gives a large speed-up when landmarks outnumber poses, e.g. Venice 13.03 s vs 33.87 s per iteration (Sec. V-D, Table III)","Supports over-parameterized states with minimal increments via the box-plus operator (Sec. III-B)",[30,31,32,33,34,35],"Assumes a good initial guess for Gauss-Newton or LM (Sec. III-A)","sSBA is slightly faster than g2o on the BA datasets (Sec. V-A)","PCG convergence depends on the initial guess and is slow on MIT and Victoria (Sec. V-C, Table II)","Schur decomposition is slower when poses dominate, e.g. Victoria 0.150 s vs 0.026 s per iteration for the direct solution (Sec. V-D, Table III)","Numeric Jacobians double the iteration time on Garage (80 ms vs 40 ms), although no accuracy loss was observed (Sec. V-A)","(inference) Paper evaluates batch optimization per iteration; robustness to wrong loop closures is not evaluated",[],[20,38],"not described in the paper (real datasets named only: Intel Research Lab, MIT Killian Court, Victoria Park, multi-level parking garage, Venice, New College, Keble college)","batch nonlinear least squares on a graph (Gauss-Newton or Levenberg-Marquardt) with manifold increments through a box-plus operator; linear solvers: sparse Cholesky via CHOLMOD or CSparse (symbolic decomposition reused across iterations) or block-Jacobi preconditioned conjugate gradient; Schur complement for BA and landmark SLAM; Jacobians numeric or user-supplied analytic","not_applicable (sensor-agnostic back-end; constraints and data association are supplied by a front-end)","discrete poses","not_applicable","not_applicable (optimizes loop-closure edges if the front-end provides them)","batch optimization of the whole graph; supports SE(3) pose graphs, landmark SLAM, BA and 7-DoF similarity constraints for scale drift","pose graph and optional landmarks (no dense map)","none required","optimized poses and landmark or 3D point positions; dense point clouds must be re-projected by the user","offline batch in experiments; single core of Intel Core i7-930 2.8 GHz (Sec. V)","https:\u002F\u002Fgithub.com\u002FRainerKuemmerle\u002Fg2o","BSD for core; some parts LGPL v2.1+ or GPL3+ (per repository README); optional CHOLMOD features may be GPL",[],{"id":5,"kind":53,"shortName":7,"title":8,"authors":54,"year":9,"venue":60,"venueType":61,"publisher":62,"volumeIssuePages":63,"doi":64,"arxivId":65,"url":66,"firstPublicDate":67,"publicationStatus":16,"metadataStatus":68,"fulltextStatus":15,"era":10,"classicReason":69,"codeUrl":49,"cluster":11,"topics":70,"mdpi":71,"verification":72,"label":6,"fulltextRoute":73,"versionRead":74,"addedByCensus":71},"component",[55,56,57,58,59],"Rainer Kümmerle","Giorgio Grisetti","Hauke Strasdat","Kurt Konolige","Wolfram Burgard","2011 IEEE International Conference on Robotics and Automation (ICRA)","conference","IEEE","pp. 3607-3613","10.1109\u002Ficra.2011.5979949",null,"https:\u002F\u002Fapi.crossref.org\u002Fworks\u002F10.1109\u002FICRA.2011.5979949","2011-05","metadata_verified","reproducible baseline + necessary technical node: a general open-source graph least-squares back-end for pose-graph SLAM and BA that is widely reused as an optimizer.",[11],false,"corrected","author copy","Author copy hosted by the University of Freiburg (kuemmerle11icra.pdf, 7 pages, same page count as ICRA 2011 pp. 3607-3613, no IEEE header); the IEEE Xplore version of record was not opened",[76],{"category":77,"model":78,"canonical":78,"role":79,"dataset":65,"specs":80,"locator":81},"compute","Intel Core i7-930","compute for runtime","one core at 2.8 GHz","Sec. V",[],{"totalRows":84,"groupCount":85,"groups":86,"others":324},48,3,[87,234,297],{"slug":88,"group":89,"sourceId":5,"sourceLabel":6,"table":90,"selfRows":91,"metrics":92,"seqs":117,"entrants":148,"cells":156,"outcomes":227,"locators":228,"hardware":229,"wordings":231,"notes":232},"kummerle2011g2o-table-ii","kummerle2011g2o:Table II","Table II",30,[93,97,99,101,103,105,107,109,111,113,115],{"label":94,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system","s","not_reported",{"label":98,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.0064 ± 0.0026 s (spread not defined)",{"label":100,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.381 ± 0.364 s (spread not defined)",{"label":102,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.011 ± 0.0009 s (spread not defined)",{"label":104,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 1.559 ± 0.683 s (spread not defined)",{"label":106,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 1.996 ± 1.185 s (spread not defined)",{"label":108,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.022 ± 0.019 s (spread not defined)",{"label":110,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.017 ± 0.016 s (spread not defined)",{"label":112,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.778 ± 0.201 s (spread not defined)",{"label":114,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.287 ± 0.135 s (spread not defined)",{"label":116,"unit":95,"statistic":96,"alignment":42},"time to solve the linear system, printed as 0.005 ± 0.01 s (spread not defined)",[118,122,125,128,131,134,137,140,143,145],{"dataset":119,"sequence":120,"environment":121},"Intel","full problem","Intel Research Lab (2D pose graph)",{"dataset":123,"sequence":120,"environment":124},"MIT","MIT Killian Court (2D pose graph)",{"dataset":126,"sequence":120,"environment":127},"Manhattan3500","simulation (2D pose graph)",{"dataset":129,"sequence":120,"environment":130},"Victoria","Victoria Park (real-world 2D odometry and 2D landmark measurements)",{"dataset":132,"sequence":120,"environment":133},"Grid5000","simulation (2D landmarks)",{"dataset":135,"sequence":120,"environment":136},"Sphere","simulation (3D pose graph)",{"dataset":138,"sequence":120,"environment":139},"Garage","multi-level parking garage (real 3D pose graph)",{"dataset":141,"sequence":120,"environment":142},"New College","bundle adjustment dataset",{"dataset":144,"sequence":120,"environment":142},"Venice",{"dataset":146,"sequence":120,"environment":147},"Scale Drift","Keble college monocular SLAM pose graph (7-DoF similarity constraints)",[149,152,154],{"name":150,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o with CHOLMOD",true,{"name":153,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o with CSparse",{"name":155,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o with PCG",[157,161,164,167,169,171,173,175,176,178,180,182,185,187,189,192,194,196,199,201,203,206,208,210,213,215,217,220,222,224],[158,158,158,159,160,158,158,160,158],0,0.0028,-1,[162,158,158,163,160,158,158,160,158],1,0.0025,[165,162,158,166,160,158,158,160,158],2,0.0064,[158,158,162,168,160,158,158,160,158],0.0086,[162,158,162,170,160,158,158,160,158],0.0077,[165,165,162,172,160,158,158,160,158],0.381,[158,158,165,174,160,158,158,160,158],0.018,[162,158,165,174,160,158,158,160,158],[165,85,165,177,160,158,158,160,158],0.011,[158,158,85,179,160,158,158,160,158],0.026,[162,158,85,181,160,158,158,160,158],0.023,[165,183,85,184,160,158,158,160,158],4,1.559,[158,158,183,186,160,158,158,160,158],0.178,[162,158,183,188,160,158,158,160,158],0.484,[165,190,183,191,160,158,158,160,158],5,1.996,[158,158,190,193,160,158,158,160,158],0.055,[162,158,190,195,160,158,158,160,158],0.398,[165,197,190,198,160,158,158,160,158],6,0.022,[158,158,197,200,160,158,158,160,158],0.019,[162,158,197,202,160,158,158,160,158],0.032,[165,204,197,205,160,158,158,160,158],7,0.017,[158,158,204,207,160,158,158,160,158],6.19,[162,158,204,209,160,158,158,160,158],200.6,[165,211,204,212,160,158,158,160,158],8,0.778,[158,158,211,214,160,158,158,160,158],1.86,[162,158,211,216,160,158,158,160,158],39.1,[165,218,211,219,160,158,158,160,158],9,0.287,[158,158,218,221,160,158,158,160,158],0.0034,[162,158,218,223,160,158,158,160,158],0.0032,[165,225,218,226,160,158,158,160,158],10,0.005,[],[90],[230],"one core of an Intel Core i7-930 at 2.8 GHz",[],[233],"Time to solve the linear system within g2o with different linear solvers (CHOLMOD and CSparse sparse Cholesky; PCG with block-Jacobi preconditioner, terminated at relative residual 1e-8); PCG cells are printed as value ± spread without stating what the spread is",{"slug":235,"group":236,"sourceId":5,"sourceLabel":6,"table":237,"selfRows":238,"metrics":239,"seqs":249,"entrants":254,"cells":259,"outcomes":291,"locators":292,"hardware":293,"wordings":294,"notes":295},"kummerle2011g2o-table-iii","kummerle2011g2o:Table III","Table III",16,[240,243,245,247],{"label":241,"unit":95,"statistic":242,"alignment":42},"average time per iteration, direct solution (solve)","mean",{"label":244,"unit":95,"statistic":242,"alignment":42},"average time per iteration, Schur decomposition, build",{"label":246,"unit":95,"statistic":242,"alignment":42},"average time per iteration, Schur decomposition, solve",{"label":248,"unit":95,"statistic":242,"alignment":42},"average time per iteration, Schur decomposition, total",[250,251,252,253],{"dataset":129,"sequence":120,"environment":130},{"dataset":132,"sequence":120,"environment":133},{"dataset":141,"sequence":120,"environment":142},{"dataset":144,"sequence":120,"environment":142},[255,257],{"name":256,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o direct solution",{"name":258,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o Schur decomposition",[260,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289],[158,158,158,179,160,158,158,160,158],[162,162,158,262,160,158,158,160,158],0.029,[162,165,158,264,160,158,158,160,158],0.121,[162,85,158,266,160,158,158,160,158],0.15,[158,158,162,268,160,158,158,160,158],0.18,[162,162,162,270,160,158,158,160,158],0.12,[162,165,162,272,160,158,158,160,158],0.16,[162,85,162,274,160,158,158,160,158],0.28,[158,158,165,276,160,158,158,160,158],15.18,[162,162,165,278,160,158,158,160,158],3.37,[162,165,165,280,160,158,158,160,158],7.07,[162,85,165,282,160,158,158,160,158],10.44,[158,158,85,284,160,158,158,160,158],33.87,[162,162,85,286,160,158,158,160,158],11.25,[162,165,85,288,160,158,158,160,158],1.78,[162,85,85,290,160,158,158,160,158],13.03,[],[237],[230],[],[296],"Average time per iteration of g2o with the direct solution versus the Schur-complement decomposition (build, solve and total) for landmark SLAM and bundle adjustment",{"slug":298,"group":299,"sourceId":5,"sourceLabel":6,"table":300,"selfRows":165,"metrics":301,"seqs":305,"entrants":307,"cells":312,"outcomes":317,"locators":318,"hardware":320,"wordings":321,"notes":322},"kummerle2011g2o-text-sec-v-a","kummerle2011g2o:Text Sec.V-A","Text Sec.V-A",[302],{"label":303,"unit":304,"statistic":96,"alignment":42},"time per iteration","ms",[306],{"dataset":138,"sequence":120,"environment":139},[308,310],{"name":309,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o with numerically evaluated Jacobians",{"name":311,"methodId":5,"linkable":151,"proposed":151,"self":151},"g2o with analytic Jacobians",[313,315],[158,158,158,314,160,158,158,160,158],80,[162,158,158,316,160,158,158,160,158],40,[],[319],"Sec. V-A",[230],[],[323],"Time for one iteration on the Garage 3D pose graph; the authors report no accuracy loss with numeric Jacobians",[],1790510654143]