[{"data":1,"prerenderedAt":297},["ShallowReactive",2],{"method-acharya2019bimtracker":3},{"method":4,"reference":54,"equipment":77,"figures":107,"results":108},{"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":33,"platform":35,"estimator":38,"association":39,"timeModel":40,"deskew":41,"loopClosure":42,"globalOptimization":43,"mapRepresentation":44,"prior":45,"outputGeometry":46,"compute":47,"codeUrl":48,"codeLicense":49,"relatedVersions":50},"acharya2019bimtracker","Acharya et al., 2019","BIM-Tracker","BIM-Tracker: A model-based visual tracking approach for indoor localisation using a 3D building model",2019,"recent","C11b","localization_in_prior_map_or_bim","BIM-Tracker 以建築模型作為地圖，對影像序列做以模型為基礎的視覺追蹤，因此不需要迴圈閉合，誤差也不會累積。每一影格先依前一位姿以 Blender 光線追蹤找出 BIM 中可見的邊，把模型邊依長度取樣成三維點並反投影到影像，再沿垂直方向搜尋 Canny 邊緣建立 3D 對 2D 對應；每個取樣點保留兩側各一個假設，以 MSAC 剔除錯誤對應後用 Gauss-Newton 最小化重投影誤差估計相機位姿，最後以等速度卡爾曼濾波預測下一影格位姿。作者以 Zeb1 掃描建立走廊 BIM，用八組不同解析度、視野、遮擋與動態模糊的照片級合成序列量化誤差，並以智慧型手機真實影片示範擴增實境疊合。","Drift-free model-based visual tracking that registers each smartphone frame to edges rendered from a low level-of-detail BIM (MSAC with two hypotheses, Gauss-Newton pose refinement, constant-velocity Kalman prediction); quantified on eight photo-realistic synthetic corridor sequences and demonstrated on real smartphone video.","full_text_reviewed","peer_reviewed_published","supplementary","屬竣工後建築的室內定位研究：以 BIM 作為定位地圖，說明低細節度設計模型即可支援公分級相機定位；BIM 本身由 Zeb1 手持掃描點雲人工建立，真實資料只有定性評估，並未涉及施工中工地（Sec. 4.1、4.3）。",[20,21],"simulation","completed_building",[23,24,25,26],"Average translational errors of 12.74 to 28.22 mm and rotational errors of 0.08 to 0.22 deg on synthetic sequences, 17.13 mm and 0.12 deg for the baseline set (Table 3)","No accumulation of error along the trajectory, unlike ORB-SLAM on the same data (Figs. 11-13, 15)","Robust to occlusions and motion blur in the synthetic experiments (Sec. 4.2.4)","Real smartphone trajectory stays within the navigable corridor and supports AR banner projection (Sec. 4.3, Fig. 14-15)",[28,29,30,31,32],"Cannot recover after complete loss of tracking and needs a manual initial pose (Sec. 3.1, 5)","Heavy motion blur, long turns, narrow FOV near walls (one or no visible model edge) and sharp rotations cause failures (Sec. 5)","Inaccurate 3D models (wrong wall, floor or roof locations) can cause tracking failure (Sec. 5)","About 0.89 s per frame in MATLAB, not yet real time (Sec. 4.4)","Systematic errors where few building structures are near the camera view, and dense clutter such as stair railings (Sec. 4.2.5, 6)",[34],"monocular camera (smartphone Motorola G 1st generation for real data; virtual cameras for synthetic data)",[36,37],"handheld smartphone (held near eye level, landscape)","simulation (photo-realistic rendered image sequences)","Model-based visual tracking: per frame, Gauss-Newton minimisation of reprojection errors between sampled 3D model edge points and image edges inside an MSAC framework (two hypotheses per sampled point, jump-out rules, iterative correspondence updates), followed by a constant-velocity Kalman filter that predicts the next pose; measurement covariance from error propagation of the least-squares solution (Sec. 3.7-3.9)","visible BIM edges rendered by Blender ray tracing (BVH), sampled into 3D points, back-projected and matched to Canny edges by searching perpendicular to the projected model edge (Sec. 3.6 states 25 to 40 px as empirically sufficient at 640 x 480 and 30 FPS, while Table 1 lists d_search = 100 px for the 640 x 480 synthetic sets); inter-frame correspondences reused when motion is small (Sec. 3.2-3.6, 3.10)","discrete frames with constant-velocity Kalman prediction","not_applicable (camera only)","none needed; each frame is registered to the model, so errors do not accumulate","none","low level-of-detail 3D model derived from an IFC BIM (walls, floor, ceiling, doors), edges subdivided every 50 cm","BIM of the corridor created manually from a Zebedee (Zeb1) point cloud; calibrated camera intrinsics; manually initialised first pose","6-DoF camera trajectory in the BIM coordinate system; no point cloud produced","about 0.89 s per frame in MATLAB on a desktop i7 at 2.6 GHz with 16 GB RAM (Table 4)","https:\u002F\u002Fgithub.com\u002Fdebaditya-unimelb\u002FBIM-Tracker","GPL-3.0 (LICENSE file on master branch checked 2026-09-25)",[51],{"relation":52,"title":53,"doi_or_url":48},"code_release","debaditya-unimelb\u002FBIM-Tracker (MATLAB implementation linked in the abstract)",{"id":5,"kind":55,"shortName":7,"title":8,"authors":56,"year":9,"venue":61,"venueType":62,"publisher":63,"volumeIssuePages":64,"doi":65,"arxivId":66,"url":67,"firstPublicDate":68,"publicationStatus":16,"metadataStatus":69,"fulltextStatus":15,"era":10,"classicReason":70,"codeUrl":48,"cluster":11,"topics":71,"mdpi":72,"verification":73,"label":6,"fulltextRoute":74,"versionRead":75,"addedByCensus":76},"method",[57,58,59,60],"Debaditya Acharya","Milad Ramezani","Kourosh Khoshelham","Stephan Winter","ISPRS Journal of Photogrammetry and Remote Sensing","journal","Elsevier (on behalf of ISPRS)","150:157-171","10.1016\u002Fj.isprsjprs.2019.02.014",null,"https:\u002F\u002Fwww.sciencedirect.com\u002Fscience\u002Farticle\u002Fpii\u002FS092427161930053X","2019-02-27","metadata_verified","not_applicable",[11],false,"corrected","NTU institutional (Chrome)","version of record, ISPRS J. Photogramm. Remote Sens. 150:157-171 (ScienceDirect HTML full text)",true,[78,84,89,95,101],{"category":79,"model":80,"canonical":80,"role":81,"dataset":66,"specs":82,"locator":83},"camera","Motorola G 1st generation smartphone camera","method input","640 x 480, 30 fps, FOV 56.32 deg, sensor 3.63 x 2.72 mm; calibrated beforehand","Sec. 4.1.2; Table 2",{"category":85,"model":86,"canonical":86,"role":81,"dataset":66,"specs":87,"locator":88},"mobile_scanner_device","Zebedee (Zeb1) spring-mounted hand-held scanner","point cloud of the corridor used to model the BIM manually (prior map source); reported absolute accuracy 3 to 40 cm","Sec. 4.1",{"category":90,"model":91,"canonical":91,"role":92,"dataset":66,"specs":93,"locator":94},"compute","desktop computer, i7 processor at 2.6 GHz, 16 GB memory","compute for runtime","MATLAB implementation without hardware optimisation","Sec. 4.4",{"category":96,"model":97,"canonical":97,"role":98,"dataset":66,"specs":99,"locator":100},"other","Agisoft PhotoScan Professional","reference or ground truth","bundle adjustment reference trajectory for real data with manually provided 3D coordinates; reprojection error 0.36 px, reconstruction error 4.65 mm","Sec. 4.3",{"category":96,"model":102,"canonical":102,"role":103,"dataset":104,"specs":105,"locator":106},"virtual cameras rendered in Blender","dataset sensor","photo-realistic synthetic corridor dataset","sensor 32 mm x 24 mm; FOV 60, 90 or 120 deg; 320 x 240 to 1280 x 960; 30 FPS","Sec. 4.1.1; Table 1",[],{"totalRows":109,"groupCount":110,"groups":111,"others":296},27,3,[112,192,265],{"slug":113,"group":114,"sourceId":5,"sourceLabel":6,"table":115,"selfRows":116,"metrics":117,"seqs":126,"entrants":144,"cells":146,"outcomes":186,"locators":187,"hardware":188,"wordings":189,"notes":190},"acharya2019bimtracker-table-3","acharya2019bimtracker:Table 3","Table 3",16,[118,123],{"label":119,"unit":120,"statistic":121,"alignment":122},"Average translational error","mm","mean","not_reported",{"label":124,"unit":125,"statistic":121,"alignment":122},"Average rotational error","deg",[127,130,132,134,136,138,140,142],{"dataset":104,"sequence":128,"environment":129},"Set 1 (90 deg FOV, 320 x 240)","synthetic corridor of University of Melbourne Block B, third floor (BIM-based rendering)",{"dataset":104,"sequence":131,"environment":129},"Set 2 (90 deg FOV, 640 x 480 (baseline))",{"dataset":104,"sequence":133,"environment":129},"Set 3 (90 deg FOV, 1280 x 960)",{"dataset":104,"sequence":135,"environment":129},"Set 4 (60 deg FOV, 640 x 480)",{"dataset":104,"sequence":137,"environment":129},"Set 5 (120 deg FOV, 640 x 480)",{"dataset":104,"sequence":139,"environment":129},"Set 6 (90 deg FOV, 640 x 480, portrait mode)",{"dataset":104,"sequence":141,"environment":129},"Set 7 (90 deg FOV, 640 x 480, occlusions (walking humans, plants))",{"dataset":104,"sequence":143,"environment":129},"Set 8 (90 deg FOV, 640 x 480, motion blur)",[145],{"name":7,"methodId":5,"linkable":76,"proposed":76,"self":76},[147,151,154,156,158,161,163,165,167,170,172,175,177,180,182,185],[148,148,148,149,150,148,150,150,148],0,28.22,-1,[148,152,148,153,150,148,150,150,148],1,0.21,[148,148,152,155,150,148,150,150,148],17.13,[148,152,152,157,150,148,150,150,148],0.12,[148,148,159,160,150,148,150,150,148],2,12.74,[148,152,159,162,150,148,150,150,148],0.08,[148,148,110,164,150,148,150,150,148],27.39,[148,152,110,166,150,148,150,150,148],0.22,[148,148,168,169,150,148,150,150,148],4,22.91,[148,152,168,171,150,148,150,150,148],0.14,[148,148,173,174,150,148,150,150,148],5,20.39,[148,152,173,176,150,148,150,150,148],0.13,[148,148,178,179,150,148,150,150,148],6,20.45,[148,152,178,181,150,148,150,150,148],0.11,[148,148,183,184,150,148,150,150,148],7,16.7,[148,152,183,181,150,148,150,150,148],[],[115],[],[],[191],"Photo-realistic synthetic sequences rendered in Blender along an approximately 30 m corridor trajectory at 1.6 m\u002Fs and 30 FPS; errors against exact synthetic ground-truth poses; translation error = average Euclidean distance over the trajectory, rotation error = single Euler angle of the rotation difference",{"slug":193,"group":194,"sourceId":5,"sourceLabel":6,"table":195,"selfRows":196,"metrics":197,"seqs":217,"entrants":221,"cells":240,"outcomes":257,"locators":258,"hardware":260,"wordings":262,"notes":263},"acharya2019bimtracker-table-4","acharya2019bimtracker:Table 4","Table 4",9,[198,201,203,205,207,209,211,213,215],{"label":199,"unit":200,"statistic":121,"alignment":70},"average time: Visible edge detection","s",{"label":202,"unit":200,"statistic":121,"alignment":70},"average time: Image edge detection",{"label":204,"unit":200,"statistic":121,"alignment":70},"average time: Point sampling",{"label":206,"unit":200,"statistic":121,"alignment":70},"average time: Search for correspondences",{"label":208,"unit":200,"statistic":121,"alignment":70},"average time: MSAC (selection of best set)",{"label":210,"unit":200,"statistic":121,"alignment":70},"average time: MSAC (updating correspondences)",{"label":212,"unit":200,"statistic":121,"alignment":70},"average time: MSAC (pose estimation by least-squares)",{"label":214,"unit":200,"statistic":121,"alignment":70},"average time: Kalman filtering",{"label":216,"unit":200,"statistic":121,"alignment":70},"average time: Total average time",[218],{"dataset":219,"sequence":220,"environment":70},"BIM-Tracker experiments","per frame",[222,224,226,228,230,232,234,236,238],{"name":223,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (Visible edge detection)",{"name":225,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (Image edge detection)",{"name":227,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (Point sampling)",{"name":229,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (Search for correspondences)",{"name":231,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (MSAC (selection of best set))",{"name":233,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (MSAC (updating correspondences))",{"name":235,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (MSAC (pose estimation by least-squares))",{"name":237,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (Kalman filtering)",{"name":239,"methodId":5,"linkable":76,"proposed":76,"self":76},"BIM-Tracker (Total average time)",[241,242,244,246,247,249,251,253,254],[148,148,148,181,150,148,148,150,148],[152,152,148,243,150,148,148,150,148],0.03,[159,159,148,245,150,148,148,150,148],0.01,[110,110,148,245,150,148,148,150,148],[168,168,148,248,150,148,148,150,148],0.37,[173,173,148,250,150,148,148,150,148],0.19,[178,178,148,252,150,148,148,150,148],0.16,[183,183,148,245,150,148,148,150,148],[255,255,148,256,150,148,148,150,148],8,0.89,[],[259],"Table 4; Sec. 4.4",[261],"desktop computer, i7 processor at 2.6 GHz, 16 GB memory (MATLAB)",[],[264],"Average time per localisation step for one frame; MATLAB implementation without hardware optimisation",{"slug":266,"group":267,"sourceId":5,"sourceLabel":6,"table":268,"selfRows":159,"metrics":269,"seqs":275,"entrants":280,"cells":282,"outcomes":286,"locators":289,"hardware":291,"wordings":292,"notes":293},"acharya2019bimtracker-text-sec-4-5","acharya2019bimtracker:Text Sec.4.5","Text Sec.4.5",[270,273],{"label":271,"unit":272,"statistic":122,"alignment":70},"combined translational deviation handled per frame (approximately)","m",{"label":274,"unit":125,"statistic":122,"alignment":70},"combined rotational deviation handled per frame (approximately)",[276],{"dataset":277,"sequence":278,"environment":279},"real smartphone corridor dataset","selected frames","completed building corridor (University of Melbourne)",[281],{"name":7,"methodId":5,"linkable":76,"proposed":76,"self":76},[283,285],[148,148,148,284,148,148,150,150,148],0.7,[148,152,148,196,152,148,150,150,152],[287,288],"other: approximate bound ('approximately +-0.7 m')","other: approximate bound ('approximately +-9 deg')",[290],"Sec. 4.5; Fig. 16",[],[],[294,295],"Region of convergence on real smartphone data: random initial poses within +-1.5 m and +-20 deg of manually estimated true poses for a few frames","Region of convergence on real smartphone data, rotational part",[],1790510655407]