IP Library › Granted Patent US 12,736,345
Granted Patent B2
US 12,736,345 · App. 18/843,509 · Granted Sep 15, 2026

Temporal decoupling in image-based localization at scale

Inventor: Konstantin Stulov (Redwood City, CA)
Assignee: Bear Robotics, Inc.
G01C21/005B25J9/1664B25J9/1697G06T1/0014G06T7/70G06T7/73G06T2207/10016G06T2207/20021G06T2207/20081G06T2207/20084
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,736,345
App. No.
18/843,509
Granted
Sep 15, 2026
Kind
B2
Abstract

A computer-implemented method and apparatus to generate an image-based localization model for mobile robot navigation. The method includes performing data collection at a plurality of different service locations, to which a fleet of mobile robots is deployable, to generate collected data, dividing the collected data into a plurality of blocks of consecutive portions of the collected data, generating a first image-based localization model and a second image-based localization model for a first and respectively, second service location of the plurality of different service locations, using the collected data. The method further includes deploying the first image-based localization model and the second image-based localization model to a first and, respectively, second mobile robot of the fleet of mobile robots, the first image-based localization model and the second image-based localization model being used to navigate the first and, respectively, the second service location of the plurality of different service locations.

Claims (57)

1 . A method to generate an image-based localization model for mobile robot navigation, the method comprising:

performing data collection at a plurality of different service locations, to which a fleet of mobile robots is deployable, to generate collected data;

dividing the collected data into a plurality of blocks of consecutive portions of the collected data;

generating a first image-based localization model for a first service location of the plurality of different service locations, using the collected data;

generating a second image-based localization model for a second service location of the plurality of different service locations, using the collected data;

deploying the first image-based localization model to a first mobile robot of the fleet of mobile robots, the first mobile robot being deployed at the first service location of the plurality of different service locations, the first mobile robot to use the first image-based localization model to navigate the first service location;

deploying a second image-based localization to a second mobile robot of the fleet of mobile robots, the second mobile robot being deployed at the second service location of the plurality of different service locations, the second mobile robot to use the second image-based localization model to navigate the second service location, wherein:

the collected data comprises image data, and the dividing comprises dividing the image data into equally-sized blocks of consecutive images;

the generating of the first image-based localization model comprises performing training, development, and testing of the first image-based localization model using different ones of the equally-sized blocks of consecutive images;

the method further comprises shuffling the different ones of the equally-sized blocks of consecutive images before allocating the different ones of the equally-sized blocks of consecutive images to each of the training, the development, and the testing of the image-based localization model; and

at least one of the first mobile robot and the second mobile robot executes a localization service module that uses the respective image-based localization model to serve image-based localization responses to localization requests;

at the first mobile robot, performing a reboot operation; and

responsive to the reboot operation and at the first mobile robot, automatically checking remote storage to determine that a new image-based localization model has been generated and stored at the remote storage.

2 . The method of claim 1 , comprising randomly allocating the different ones of the equally-sized blocks of consecutive images to each of the training, the development, and the testing of the first image-based localization model.

3 . The method of claim 1 , comprising automatically determining a size of each of the equally-sized blocks of consecutive images by balancing the size based on a balanced distribution across grid cells of a map grid of the first service location.

4 . The method of claim 1 , wherein:

the image data comprises image timestamps, each timestamp indicating a capture time period for a corresponding image;

the image timestamps for images in each of the equally-sized blocks of consecutive images indicate a same capture time period for all images in the corresponding block; and

the method further comprises allocating different ones of the equally-sized blocks of consecutive images to each of the training, the development and the testing of the first image-based localization model based on capture time periods for images in the equally-sized blocks.

5 . The method of claim 4 , wherein the allocating of the different ones of the equally-sized blocks of consecutive images to each of the training, the development and the testing of the first image-based localization model comprises allocating one or more blocks of consecutive images for a first capture time period to only one of the training, development and testing of the first image-based localization model.

6 . The method of claim 1 , wherein:

the image data comprises mission identifiers, each image in the image data being associated with a mission identifier;

images in each of the equally-sized blocks of consecutive images being associated with a unique mission identifier of a plurality of mission identifiers; and

the method further comprises allocating different ones of the equally-sized blocks of consecutive images to each of the training, the development and the testing of the first image-based localization model based on mission identifiers for images in the equally-sized blocks.

7 . The method of claim 5 , wherein the allocating of the different ones of the equally-sized blocks of consecutive images to each of the training, the development and the testing of the first image-based localization model comprises allocating one or more blocks of consecutive images for a first mission identifier to only one of the training, development and testing of the first image-based localization model.

8 . The method of claim 1 , wherein the generating of the first image-based localization model for the first service location of the plurality of different service locations further comprises:

retrieving first location data specific to the first service location from the collected data;

generating a plurality of online model performance metrics based on the first location data related to a current version of the first image-based localization model;

using at least a portion of the first location data, performing an offline evaluation of the current version of the first image-based localization model; and

automatically generating a new version of the first image-based localization model for the first service location, based on the offline evaluation.

9 . The method of claim 8 , wherein the plurality of online model performance metrics is reported by a navigation stack of the first mobile robot.

10 . The method of claim 8 , comprising retraining the image-based localization model using the plurality of online model performance metrics.

11 . The method of claim 1 , further comprising:

responsive to determining that the new image-based localization model has been generated and is stored at the remote storage, storing the new image-based localization model to local memory at the first mobile robot; and

at the first mobile robot, serving image-based localization responses to localization requests.

12 . The method of claim 1 , wherein the automatic checking of the remote storage to determine that the new image-based localization model has been generated and stored at the remote storage comprises checking that a retrained version of a current image-based localization model has been generated.

13 . The method of claim 1 , wherein the automatic checking of the remote storage to determine that the new image-based localization model has been generated and stored at the remote storage comprises checking whether a new image-based localization model type has been generated.

14 . The method of claim 1 , further comprising:

at a cloud storage, maintaining a plurality of image-based localization model types, and a plurality of versions of each of the plurality of image-based localization model types; and

at the first mobile robot, implementing fallback logic to allow the first mobile robot to use the plurality of image-based localization model types and the plurality of versions of each of the plurality of image-based localization model types.

15 . The method of claim 14 , wherein the maintaining comprises maintaining a file structure to store the plurality of image-based localization model types and the plurality of versions of each of the plurality of image-based localization model types within the cloud storage.

16 . The method of claim 15 , wherein the fallback logic is included in at a robotics stack of the first mobile robot and accesses the file structure in order to access at least one of the plurality of image-based localization model types or the plurality of versions of each of the plurality of image-based localization model types within the cloud storage.

17 . A computing apparatus comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, configure the apparatus to:

perform data collection at a plurality of different service locations, to which a fleet of mobile robots is deployable, to generate collected data;

divide the collected data into a plurality of blocks of consecutive portions of the collected data;

generate a first image-based localization model for a first service location of the plurality of different service locations, using the collected data;

generate a second image-based localization model for a second service location of the plurality of different service locations, using the collected data;

deploy the first image-based localization model to a first mobile robot of the fleet of mobile robots, the first mobile robot being deployed at the first service location of the plurality of different service locations, the first mobile robot to use the first image-based localization model to navigate the first service location;

deploy a second image-based localization to a second mobile robot of the fleet of mobile robots, the second mobile robot being deployed at a second service location of the plurality of different service locations, the second mobile robot to use the second image-based localization model to navigate the second service location, wherein:

the collected data comprises image data, and dividing the collected data comprises dividing the image data into equally-sized blocks of consecutive images;

generating the first image-based localization model comprises performing training, development, and testing of the first image-based localization model using different ones of the equally-sized blocks of consecutive images;

the instructions further configure the apparatus to shuffle the different ones of the equally-sized blocks of consecutive images before allocating the different ones of the equally-sized blocks of consecutive images to each of the training, the development, and the testing of the image-based localization model; and

at least one of the first mobile robot and the second mobile robot executes a localization service module that uses the respective image-based localization model to serve image-based localization responses to localization requests;

at the first mobile robot, performing a reboot operation; and

responsive to the reboot operation and at the first mobile robot, automatically checking remote storage to determine that a new image-based localization model has been generated and stored at the remote storage.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2024
From: STULOV, KONSTANTIN
To: BEAR ROBOTICS, INC.
Reel/Frame 068471/0679 →
Continuity (2)
Provisional Application 63268792 · Mar 2, 2022
Related Publication 20250035443A1 · Jan 30, 2025
References Cited (77)
US 7634336B2 · Chae et al. · 2009 [cited by applicant]
US 7714895B2 · Pretlove et al. · 2010 [cited by applicant]
US 8380384B2 · Lee et al. · 2013 [cited by applicant]
US 9058521B2 · Yoon et al. · 2015 [cited by applicant]
US 9619561B2 · Chrysanthakopoulos · 2017 [cited by examiner]
US 10581883B1 · Syme · 2020 [cited by examiner]
US 10814474B2 · Newman et al. · 2020 [cited by applicant]
US 11048268B2 · Ouyang · 2021 [cited by applicant]
US 11354820B2 · Urtasun · 2022 [cited by examiner]
US 20140010407A1 · Sinha · 2014 [cited by examiner]
US 20180082147A1 · Heinly · 2018 [cited by examiner]
US 20180174038A1 · Jiang et al. · 2018 [cited by applicant]
US 20190212752A1 · Fong et al. · 2019 [cited by applicant]
US 20190313576A1 · Haneda et al. · 2019 [cited by applicant]
US 20190354110A1 · Heinla · 2019 [cited by examiner]
US 20200078944A1 · Li et al. · 2020 [cited by applicant]
US 20210109541A1 · Joo et al. · 2021 [cited by applicant]
US 20210213616A1 · Ross et al. · 2021 [cited by applicant]
US 20210221001A1 · Scott et al. · 2021 [cited by applicant]
US 20210224579A1 · Jones et al. · 2021 [cited by applicant]
US 20210229291A1 · Yang et al. · 2021 [cited by applicant]
US 20210233390A1 · Georgiou · 2021 [cited by examiner]
US 20220009415A1 · Broggi · 2022 [cited by examiner]
US 20220179038A1 · Huffman · 2022 [cited by examiner]
US 20250196349A1 · Stulov · 2025 [cited by examiner]
US 20250241499A1 · Jones et al. · 2025 [cited by applicant]
JP 10021060A · 1998 [cited by applicant]
JP 2005523526A · 2005 [cited by applicant]
JP 2015172878A · 2015 [cited by applicant]
JP 2018109848A · 2018 [cited by applicant]
JP 2019091102A · 2019 [cited by applicant]
JP 2019121364A · 2019 [cited by applicant]
JP 2019121365A · 2019 [cited by applicant]
JP 2020149186A · 2020 [cited by applicant]
JP 2021039525A · 2021 [cited by applicant]
JP 2021124901A · 2021 [cited by applicant]
KR 1020190114652A · 2019 [cited by applicant]
KR 1020200134807A · 2020 [cited by applicant]
KR 1020210096523A · 2021 [cited by applicant]
KR 20210096523A · 2021 [cited by applicant]
WO WO2021026427A1 · 2021 [cited by applicant]
WO WO2023168334A1 · 2023 [cited by applicant]
WO WO2023168335A1 · 2023 [cited by applicant]
Sandeep Chinchali: “Sampling Training Data for Continual Learning Between Robots and the Cloud” (Year: 2020). [cited by examiner]
“CIFAR 100: Transfer Learning using EfficientNet”, towardsdatascience.com/cifar-100-transfer-learning-using-efficientnet-ed3ed7b89af2, (Mar. 30, 2021), 24 pgs. [cited by applicant]
“Complete Architectural Details of all EfficientNet Models”, towardsdatascience.com/complete-architectural-details-of-all-efficientnet-models-5fd5b736142, (May 31, 2020), 14 pgs. [cited by applicant]
“Data Augmentation in SSD (Single Shot Detector)”, telesens.co/2018/06/28/data-augmentation-in-ssd, (Jun. 28, 2018), 8 pgs. [cited by applicant]
“International Application Serial No. PCT/US2023/063573, International Search Report mailed May 17, 2023”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2023/063573, Written Opinion mailed May 17, 2023”, 8 pgs. [cited by applicant]
“International Application Serial No. PCT/US2023/063574, International Search Report mailed Jun. 8, 2023”, 3 pgs. [cited by applicant]
“International Application Serial No. PCT/US2023/063574, Written Opinion mailed Jun. 8, 2023”, 3 pgs. [cited by applicant]
“Keras Applications”, keras.io/api/applications, 5 pgs. [cited by applicant]
“Robot Localization an Introduction”, Wiley Encyclopedia of Electrical and Electronics Engineering, (2016), 10 pgs. [cited by applicant]
“Transfer Learning in Image Classification: how much training data do we really need”, towardsdatascience.com/transfer-learning-in-image-classification-how-much-training-data-do-we-really-need-7fb570abe774, (Jun. 30, 20… [cited by applicant]
Aider, O. Ait, et al., “Localisation by camera of a rehabilitation robot”, ICORR'2001, (Apr. 2001), 9 pgs. [cited by applicant]
Aider, O.Ait, et al., “A Model to Image Straight Line Matching Method for Vision-Based Indoor Mobile Robot Self-Location”, IROS'2002, Lausanne,, (Mar. 2002), 7 pgs. [cited by applicant]
Aider, Omar Ait, “Model Based Localization for an Indoor Mobile Robot”, ResearchGate, (Mar. 23, 2012), 145 pgs. [cited by applicant]
Akcin, Oguzhan, et al., “Decentralized Data Collection for Robotic Fleet Learning: A Game-Theoretic Approach”, [Online] Retrieved from the internet: <https://proceedings.mlr.press/v205/akcin23a/akcin23a.pdf>, (Jun. 16, … [cited by applicant]
Betke, Margrit, et al., “Mobile robot localization using landmarks”, IEEE Transactions on Robotics and Automation, (Apr. 27, 1995), 39 pgs. [cited by applicant]
Blanc, G., et al., “Indoor Navigation of Mobile Robot: An Image Based Approach”, ResearchGatte, (Jan. 2004), 7 pgs. [cited by applicant]
Chinchali, Sandeep, et al., “Sampling Training Data for Continual Learning Between Robots and the Cloud”, The 17th International Symposium, In: Experimental Robotics : The 17th International Symposium, (Jan. 1, 2021), 1… [cited by applicant]
Foroughi, Farzin, et al., “A CNN Based System for Mobile Robot Navigation in Indoor Environments via Visual Localization with a Small Dataset”, World Electric Vehicle Journal, (Aug. 2021), 23 pgs. [cited by applicant]
Geng, Yuchong, et al., “Decentralized Sharing and Valuation of Fleet Robotic Data”, [Online] Retrieved from the internet: <https://proceedings.mlr.press/vl64/geng22a/geng22 a.pdf>, (Jul. 13, 2021), 6 pgs. [cited by applicant]
Kendall, Alex, et al., “PoseNet: A Convolutional Network for Real-Time 6-DOF Camera Relocalization”, arXiv:1505.07427v4 [cs.CV], (Feb. 18, 2016), 9 pgs. [cited by applicant]
Mooers, Adam, et al., “A comparison of Computer Vision Techniques for Indoor Robot Localization”, ResearchGate, (Dec. 2016), 6 pgs. [cited by applicant]
Panigrahi, Prabin Kumar, et al., “Localization strategies for autonomous mobile robots: A review”, Journal of King Saud University—Computer and Information Sciences, (Feb. 2021), 21 pgs. [cited by applicant]
Rosenfelder, “Transfer Learning with EfficientNet for Image Regression in Keras—Using Custom Data in Keras”, rosenfelder.ai/keras-regression-efficient-net, (Oct. 19, 2020), 23 pgs. [cited by applicant]
Sibai, Fadi N., et al., “Evaluation of Indoor Mobile Robot Localization Techniques”, Journal of Emerging Trends in Computing and Information Sciences, vol. 4, (2009-2013), 8 pgs. [cited by applicant]
Simsarian, Kristian T., et al., “View Invariant Regions and Mobile Robot Self Localization”, IEEE Transactions on Robotics and Automation, (Mar. 1996), 28 pgs. [cited by applicant]
Solawetz, Jacob, “The Train, Validation, Test Split and Why You Need It”, blog.roboflow.com/train-test-split, (Sep. 4, 2020), 6 pgs. [cited by applicant]
Tan, Mingxing, et al., “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”, arXiv:1905.11946v5 [cs.LG], (Sep. 11, 2020), 11 pgs. [cited by applicant]
Xiang, Yu, et al., “PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes”, arXiv:1711.00199v3 [cs.CV], (May 26, 2018), 10 pgs. [cited by applicant]
Notice of Reasons for Refusal issued on Oct. 28, 2025 for JP Application No. 2024-552293 filed on Mar. 2, 2023. [cited by applicant]
Request for the Submission of an Opinion issued in KR Application No. 10-2024-7032716 on Feb. 23, 2026, pp. 7. [cited by applicant]
Request for the Submission of an Opinion issued in KR Application No. 110-2024-7032717 on Feb. 6, 2026, pp. 6. [cited by applicant]
Decision to Grant a Patent issued in JP Application No. 2024-552292 on Mar. 24, 2026, pp. 2. [cited by applicant]
Decision to Grant a Patent issued in JP Application No. 2024-552293 on Mar. 31, 2026, pp. 2. [cited by applicant]