[{"data":1,"prerenderedAt":326},["ShallowReactive",2],{"method-sunderhauf2012switchable":3},{"method":4,"reference":57,"equipment":76,"figures":83,"results":84},{"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":22,"limitations":27,"sensors":34,"platform":35,"estimator":37,"association":38,"timeModel":39,"deskew":40,"loopClosure":41,"globalOptimization":42,"mapRepresentation":43,"prior":44,"outputGeometry":45,"compute":46,"codeUrl":47,"codeLicense":48,"relatedVersions":49},"sunderhauf2012switchable","Sünderhauf & Protzel, 2012","Switchable Constraints","Switchable constraints for robust pose graph SLAM",2012,"classic","C03","estimation_framework_or_library","作者主張 SLAM 後端應能在最佳化過程中自行辨識錯誤的迴圈閉合，而非完全依賴前端資料關聯（data association）。作法是為每條可能出錯的迴圈約束加入一個切換變數（switch variable），以介於 0 與 1 的線性切換函數縮放該約束的權重，並以切換先驗（switch prior）將其錨定在初始值 1；如此位姿圖的拓樸本身成為最佳化對象。作者在 g2o 中實作，於合成與真實位姿圖資料上人工加入最多 1000 條錯誤迴圈，以相對位姿誤差（RPE）與精確率-召回率評估。","Switch variables attached to loop-closure factors let a least-squares pose-graph back-end down-weight or disable false loop closures during optimization, anchored by switch priors.","full_text_reviewed","peer_reviewed_published","main_body","not_reported（未在營建場域測試）。作者報告的停車場多樓層失效案例（樓層之間僅少數里程連接）與多樓層建物僅經由樓梯連接的掃描路徑相似，顯示重複樓層的錯誤迴圈可能造成整體扭曲與重影（推論）。",[20,21],"simulation","public_benchmark",[23,24,25,26],"Handled up to 1000 added false-positive loop closures on Manhattan (both versions), City10000, Sphere2500 (3D) and Intel with only 2 of 2500 trials failing; the 3D Parking Garage dataset was the exception where the robust back-end did not outperform the non-robust one (abstract; Sec. IV-B, IV-D2; Table II)","RPE up to two orders of magnitude lower than a non-robust back-end supported by the Huber cost for large outlier counts (Fig. 4 caption)","A single switch-prior value Xi = 1 worked across the tested datasets (Sec. IV-A)","Recall over 99.99% at 100% precision in identifying the added false loop closures for all tested datasets (Sec. IV-B; Fig. 5)",[28,29,30,31,32,33],"Switch-prior variance Xi cannot be derived analytically and must be set empirically (Sec. IV-A)","Failed on the Parking Garage dataset: false loops between parking decks connected by only two odometry strands were not deactivated, corrupting the result (Sec. IV-D2, Fig. 9)","In two failure cases a single undetected false positive globally distorted maps that stayed locally consistent (Sec. IV-D1, Fig. 8)","Resolving the two failure cases required adding the Huber cost, which the authors note slows convergence because of the partially linear cost (Sec. IV-B)","Only a non-robust (Huber-supported) back-end is used as a baseline; comparison with other robust back-ends such as max-mixtures or RRR is left to future work (Sec. V)","(inference) Outliers were synthetic random or grouped edges added to existing pose graphs; behaviour under real perceptual aliasing from a LiDAR front-end was not tested in this paper",[],[20,36],"public pose-graph datasets (Intel 2D, Parking Garage 3D; platform not described)","nonlinear least-squares pose-graph optimization over odometry factors, switchable loop-closure factors and switch-prior factors, implemented in g2o with Gauss-Newton (Sec. II, Sec. III-B, Fig. 7 caption)","not_applicable (operates on loop-closure constraints delivered by any front-end)","discrete poses","not_applicable","consumes front-end loop closures; each loop edge is multiplied by a switch function of a switch variable in [0,1] (linear function preferred over sigmoid) so that its information can be driven toward zero (Sec. II-A)","robust pose-graph optimization jointly over poses and switch variables, with switch priors anchoring switches at their initial value 1 (Sec. II-B)","not_applicable (pose graph only)","none","optimized pose graph (trajectory) only; no map geometry is produced or evaluated","convergence time on the Manhattan dataset (g2o version) increases faster with the number of outliers for the two non-local policies (random, randomly grouped) than for the local policies (Sec. IV-C, Fig. 6, Intel Core 2 Duo); (inference) runs appear to be batch g2o optimizations, but the paper does not state offline\u002Fonline operation","https:\u002F\u002Fgithub.com\u002FOpenSLAM-org\u002Fopenslam_vertigo","GPL-3.0 (stated on openslam-org.github.io\u002Fvertigo.html; no LICENSE file found in repository root)",[50,54],{"relation":51,"title":52,"doi_or_url":53},"preprint","Author copy marked 'To appear in Proc. of IEEE IROS 2012' (content read)","https:\u002F\u002Fnikosuenderhauf.github.io\u002Fassets\u002Fpapers\u002FIROS12-switchableConstraints.pdf",{"relation":55,"title":56,"doi_or_url":47},"code_release","Vertigo: C++ extension for g2o and GTSAM implementing switchable constraints",{"id":5,"kind":58,"shortName":7,"title":8,"authors":59,"year":9,"venue":62,"venueType":63,"publisher":64,"volumeIssuePages":65,"doi":66,"arxivId":67,"url":53,"firstPublicDate":68,"publicationStatus":16,"metadataStatus":69,"fulltextStatus":15,"era":10,"classicReason":70,"codeUrl":47,"cluster":11,"topics":71,"mdpi":72,"verification":73,"label":6,"fulltextRoute":74,"versionRead":75,"addedByCensus":72},"component",[60,61],"Niko Sünderhauf","Peter Protzel","2012 IEEE\u002FRSJ International Conference on Intelligent Robots and Systems (IROS)","conference","IEEE","pp. 1879-1884","10.1109\u002Firos.2012.6385590",null,"2012-10","metadata_verified","principle reused: turning each loop-closure edge into a switchable factor so that the back-end itself can deactivate false loop closures; the idea is reused in later systems (e.g., maplab 2.0 loop edges, record maplab2_2023 in C06).",[11],false,"corrected","author copy","Author copy marked 'To appear in Proc. of IEEE Conf. on Intelligent Robots and Systems (IROS), 2012' with IEEE copyright notice (6 pages, accepted version); the IEEE Xplore version of record was not opened",[77],{"category":78,"model":79,"canonical":79,"role":80,"dataset":67,"specs":81,"locator":82},"compute","Intel Core 2 Duo","compute for runtime","not_reported","Fig. 6 caption",[],{"totalRows":85,"groupCount":86,"groups":87,"others":325},36,4,[88,191,268,301],{"slug":89,"group":90,"sourceId":5,"sourceLabel":6,"table":91,"selfRows":92,"metrics":93,"seqs":114,"entrants":132,"cells":136,"outcomes":185,"locators":186,"hardware":187,"wordings":188,"notes":189},"sunderhauf2012switchable-table-ii","sunderhauf2012switchable:Table II","Table II",25,[94,98,101,103,106,108,110,112],{"label":95,"unit":96,"statistic":97,"alignment":44},"max outl. ratio","%","max",{"label":99,"unit":100,"statistic":81,"alignment":44},"min RPEpos (minimum over 500 trials)","m",{"label":102,"unit":100,"statistic":97,"alignment":44},"max RPEpos (maximum over 500 trials)",{"label":104,"unit":100,"statistic":105,"alignment":44},"median RPEpos (over 500 trials)","median",{"label":107,"unit":96,"statistic":81,"alignment":44},"success rate (percentage of correct solutions)",{"label":109,"unit":100,"statistic":81,"alignment":44},"min RPEpos (minimum over 500 trials; pseudo ground truth)",{"label":111,"unit":100,"statistic":97,"alignment":44},"max RPEpos (maximum over 500 trials; pseudo ground truth)",{"label":113,"unit":100,"statistic":105,"alignment":44},"median RPEpos (over 500 trials; pseudo ground truth)",[115,119,121,124,128],{"dataset":116,"sequence":117,"environment":118},"Manhattan (g2o version)","3500 poses, 2099 correct loop closures","synthetic 2D pose graph",{"dataset":120,"sequence":117,"environment":118},"Manhattan (Olson original)",{"dataset":122,"sequence":123,"environment":118},"City10000","10000 poses, 10688 correct loop closures",{"dataset":125,"sequence":126,"environment":127},"Sphere2500","2500 poses, 2450 correct loop closures","synthetic 3D pose graph",{"dataset":129,"sequence":130,"environment":131},"Intel","943 poses, 894 correct loop closures","real-world 2D pose graph (dataset shipped with g2o)",[133],{"name":134,"methodId":5,"linkable":135,"proposed":135,"self":135},"switchable constraints (robust back-end)",true,[137,141,144,146,148,150,151,152,154,155,157,159,161,162,163,164,166,168,170,172,173,175,178,181,184],[138,138,138,139,140,138,140,140,138],0,47.6,-1,[138,142,138,143,140,138,140,140,138],1,0.0009,[138,145,138,143,140,138,140,140,138],2,[138,147,138,143,140,138,140,140,138],3,[138,86,138,149,140,138,140,140,138],100,[138,138,142,139,140,138,140,140,138],[138,142,142,143,140,138,140,140,138],[138,145,142,153,140,138,140,140,138],5.9659,[138,147,142,143,140,138,140,140,138],[138,86,142,156,140,138,140,140,138],99.8,[138,138,145,158,140,138,140,140,138],9.4,[138,142,145,160,140,138,140,140,138],0.0005,[138,145,145,160,140,138,140,140,138],[138,147,145,160,140,138,140,140,138],[138,86,145,149,140,138,140,140,138],[138,138,147,165,140,138,140,140,138],40.8,[138,142,147,167,140,138,140,140,138],0.0953,[138,145,147,169,140,138,140,140,138],18.1674,[138,147,147,171,140,138,140,140,138],0.0964,[138,86,147,156,140,138,140,140,138],[138,138,86,174,140,138,140,140,138],111.9,[138,176,86,177,140,138,140,140,138],5,0.2122,[138,179,86,180,140,138,140,140,138],6,0.2147,[138,182,86,183,140,138,140,140,138],7,0.2132,[138,86,86,149,140,138,140,140,138],[],[91],[],[],[190],"Robust back-end (switchable constraints in g2o, Xi = 1) on pose graphs with 0 to 1000 added false loop closures under four outlier policies, 500 trials per dataset; statistics over trials; Parking Garage excluded; Intel uses the outlier-free solution as pseudo ground truth; RPEpos unit from Figs. 3 and 4 axis labels",{"slug":192,"group":193,"sourceId":194,"sourceLabel":195,"table":196,"selfRows":197,"metrics":198,"seqs":202,"entrants":213,"cells":224,"outcomes":262,"locators":263,"hardware":264,"wordings":265,"notes":266},"choi2015robustrecon-table-5","choi2015robustrecon:Table 5","choi2015robustrecon","Choi et al., 2015","Table 5",8,[199],{"label":200,"unit":100,"statistic":201,"alignment":81},"mean distance to ground-truth models (m)","mean",[203,207,209,211],{"dataset":204,"sequence":205,"environment":206},"augmented ICL-NUIM (synthetic, realistic noise, full-scan trajectories)","Living room 1","synthetic living room and office",{"dataset":204,"sequence":208,"environment":206},"Living room 2",{"dataset":204,"sequence":210,"environment":206},"Office 1",{"dataset":204,"sequence":212,"environment":206},"Office 2",[214,216,218,220,222],{"name":215,"methodId":5,"linkable":135,"proposed":72,"self":135},"SC [57] with image-based loop detection [34]",{"name":217,"methodId":5,"linkable":135,"proposed":72,"self":135},"SC [57] with geometric loop detection",{"name":219,"methodId":67,"linkable":72,"proposed":72,"self":72},"EM [40] with image-based loop detection [34]",{"name":221,"methodId":67,"linkable":72,"proposed":72,"self":72},"EM [40] with geometric loop detection",{"name":223,"methodId":194,"linkable":135,"proposed":135,"self":72},"Ours (geometric loop detection + line-process optimization)",[225,227,229,231,233,235,237,239,240,242,244,246,248,250,252,254,256,258,259,261],[138,138,138,226,140,138,140,140,138],0.25,[142,138,138,228,140,138,140,140,138],0.32,[145,138,138,230,140,138,140,140,138],0.46,[147,138,138,232,140,138,140,140,138],0.66,[86,138,138,234,140,138,140,140,138],0.04,[138,138,142,236,140,138,140,140,138],0.26,[142,138,142,238,140,138,140,140,138],0.4,[145,138,142,236,140,138,140,140,138],[147,138,142,241,140,138,140,140,138],0.65,[86,138,142,243,140,138,140,140,138],0.07,[138,138,145,245,140,138,140,140,138],0.11,[142,138,145,247,140,138,140,140,138],0.36,[145,138,145,249,140,138,140,140,138],0.22,[147,138,145,251,140,138,140,140,138],0.56,[86,138,145,253,140,138,140,140,138],0.03,[138,138,147,255,140,138,140,140,138],0.52,[142,138,147,257,140,138,140,140,138],0.27,[145,138,147,251,140,138,140,140,138],[147,138,147,260,140,138,140,140,138],0.48,[86,138,147,234,140,138,140,140,138],[],[196],[],[],[267],"Controlled substitution of pipeline components: loop detection (image-based [34] vs geometric) and robust optimization (switchable constraints SC, expectation maximization EM, or line processes); mean distance to ground-truth models",{"slug":269,"group":270,"sourceId":5,"sourceLabel":6,"table":271,"selfRows":145,"metrics":272,"seqs":278,"entrants":285,"cells":287,"outcomes":291,"locators":293,"hardware":296,"wordings":297,"notes":298},"sunderhauf2012switchable-text-sec-iv-b","sunderhauf2012switchable:Text Sec.IV-B","Text Sec.IV-B",[273,275],{"label":274,"unit":96,"statistic":81,"alignment":44},"recall at 100% precision",{"label":276,"unit":277,"statistic":81,"alignment":44},"failed trials out of 2500 (one Sphere2500, one Manhattan original)","trials",[279,283],{"dataset":280,"sequence":281,"environment":282},"Manhattan (both versions), City10000, Sphere2500, Intel","0 to 1000 added outliers, four policies","synthetic and real-world pose graphs",{"dataset":280,"sequence":284,"environment":282},"2500 trials with 0 to 1000 added outliers",[286],{"name":134,"methodId":5,"linkable":135,"proposed":135,"self":135},[288,290],[138,138,138,289,138,138,140,140,138],99.99,[138,142,142,145,140,142,140,140,142],[292],"lower bound: reported as over 99.99%",[294,295],"Sec. IV-B (text below Fig. 5)","Sec. IV-B; Sec. IV-D1",[],[],[299,300],"Precision-recall of deactivating added false loop closures, emulated by thresholding switch values; all tested datasets together","Count of trials that did not converge to a correct solution across all Table II datasets",{"slug":302,"group":303,"sourceId":5,"sourceLabel":6,"table":304,"selfRows":142,"metrics":305,"seqs":308,"entrants":313,"cells":315,"outcomes":317,"locators":319,"hardware":321,"wordings":322,"notes":323},"sunderhauf2012switchable-text-sec-iv-d2","sunderhauf2012switchable:Text Sec.IV-D2","Text Sec.IV-D2",[306],{"label":307,"unit":40,"statistic":81,"alignment":44},"performance relative to the non-robust back-end",[309],{"dataset":310,"sequence":311,"environment":312},"Parking Garage","1661 poses, 4615 correct loop closures","real-world 3D pose graph (multi-deck parking garage)",[314],{"name":134,"methodId":5,"linkable":135,"proposed":135,"self":135},[316],[138,138,138,67,138,138,140,140,138],[318],"failed: not better than the non-robust approach; groups of false loops between decks were not deactivated",[320],"Sec. IV-D2; Fig. 9",[],[],[324],"Parking Garage (real 3D, 1661 poses, 4615 loop closures, four decks joined by two odometry strands) excluded from Table II",[],1790510654718]