IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0227283
(2011-09-07)
|
등록번호 |
US-8510041
(2013-08-13)
|
발명자
/ 주소 |
- Anguelov, Dragomir
- Lininger, Scott
- Rivlin, Ehud
|
출원인 / 주소 |
|
대리인 / 주소 |
Marshall, Gerstein & Borun LLP
|
인용정보 |
피인용 횟수 :
26 인용 특허 :
5 |
초록
▼
Pose data includes multiple pose samples, where each pose sample indicates a reported location of a device at a respective time, and where the multiple pose samples describe a trajectory of the device. To correct the pose data, pose modification data for some of the pose samples is received, indicat
Pose data includes multiple pose samples, where each pose sample indicates a reported location of a device at a respective time, and where the multiple pose samples describe a trajectory of the device. To correct the pose data, pose modification data for some of the pose samples is received, indicating respective modifications of the pose samples by a user. Several other pose samples are automatically modified in view of the received pose modification data. To automatically modify the pose samples, one or more user modification constraints are applied, where each user modification constraint seeks to preserve the modification of the location of the device for a respective pose sample. One or more location constraints are also applied, each of which seeks to preserve the reported location of the device for a respective pose sample. Modified pose data is generated in view of the user modification constraints and the location constraints.
대표청구항
▼
1. A method implemented in one or more computing devices for correcting pose data stored on a computer-readable medium, wherein the pose data includes a plurality of pose samples, wherein each pose sample indicates at least a reported location of a device at a respective time, and wherein the plural
1. A method implemented in one or more computing devices for correcting pose data stored on a computer-readable medium, wherein the pose data includes a plurality of pose samples, wherein each pose sample indicates at least a reported location of a device at a respective time, and wherein the plurality of pose samples describes a trajectory of the device, the method comprising: receiving pose modification data for a first set of one or more of the plurality of pose samples, wherein the pose modification data includes a respective modification by a user of the location of the device for each pose sample in the first set of pose samples; andautomatically modifying each pose sample in a second set of one or more of the plurality of pose samples in view of the received pose modification data, wherein the second set of pose samples includes at least one pose sample not included in the first set of pose samples, including: applying one or more user modification constraints, wherein each of the one or more user modification constraints seeks to preserve the modification of the location of the device for a respective pose sample in the first set of pose samples,applying one or more location constraints, wherein each of the one or more location constraints seeks to preserve the reported location of the device for a respective pose sample in the second set, andgenerating modified pose data in view of the one or more user modification constraints and the one or more location constraints. 2. The method of claim 1, wherein: applying the one or more user modification constraints includes generating, for each pose sample in the first set of pose samples, a respective user modification term for use with an optimization function;applying the one or more location constraints includes generating, for each pose sample in the second set of pose samples, a respective location term for use with the optimization function; andgenerating the modified pose data includes applying the optimization function. 3. The method of claim 1, further comprising: assigning a first strength to each of the one or more user modification constraints;assigning a second strength to each of the plurality of location constraints, wherein the first strength is higher than the second strength. 4. The method of claim 1, wherein the device is coupled to a vehicle, and wherein the reported location of the device is generated using Global Positioning Service (GPS) coordinates and wheel odometry data of the vehicle obtained at the respective times. 5. The method of claim 1, wherein each pose sample further indicates reported orientation of the device at the respective time. 6. The method of claim 1, wherein receiving the pose modification data for the first set includes: causing a respective pose indicator to be displayed over a representation of a geographic area on a user interface for each pose sample in the first set of pose samples in accordance with the respective reported location; andreceiving an indication of a modified location for each pose sample in the first set of pose samples from the user interface. 7. The method of claim 1, wherein the plurality of pose samples is a sub-sampled plurality of pose samples, the method further comprising: receiving a source plurality of pose samples, wherein the source plurality of pose samples describes the trajectory of the device; andsub-sampling, based on at least one of time and distance, the source plurality of pose samples to generate the sub-sampled plurality of pose samples. 8. The method of claim 1, wherein the second set of pose samples includes each pose sample included in the first set of pose samples. 9. The method of claim 2, wherein applying the optimization function includes using a local search optimization scheme. 10. The method of claim 2, wherein applying the optimization function includes strictly enforcing the one or more user modification constraints. 11. The method of claim 10, wherein applying the optimization function further includes attempting to satisfy the one or more location constraints to a maximum degree in view of the strictly enforced one or more user modification constraints. 12. The method of claim 5, further comprising: applying a plurality of relative translation constraints, wherein each of plurality of relative translation constraints seeks to preserve a relative position and orientation between a pair of adjacent poses, each corresponding to a respective one of the plurality of pose samples;wherein the modified pose data is generated further in view of the plurality of relative translation constraints. 13. The method of claim 5, further comprising: applying a plurality of relative rotation constraints, wherein each of the plurality of relative rotation constraint seeks to preserve a relative orientation between a pair of adjacent poses, each corresponding to a respective one of the plurality of pose samples, andwherein the modified pose data is generated further in view of the plurality of relative rotation constraints. 14. The method of claim 5, further comprising: applying a plurality of gravity direction preservation constraints, wherein each of the plurality of gravity direction preservation constraints seeks to preserve a direction of gravity for a respective one of the plurality of pose samples;wherein the modified pose data is generated further in view of the plurality of gravity direction preservation constraints. 15. The method of claim 5, wherein the device is coupled to a vehicle, and wherein the reported orientation of the device for each of plurality of pose sample is generated using an Inertial Measurement Unit (IMU) data of the vehicle obtained at the respective times. 16. The method of claim 6, wherein the device includes a camera mounted on a vehicle, and wherein receiving the pose modification data includes causing an image for each pose sample in the first set of pose samples to be displayed on a user interface, wherein the image is obtained using the camera. 17. The method of claim 7, further comprising: automatically modifying the source plurality of pose samples in view of the modified pose data. 18. A pose correction engine for modifying a trajectory of a device, the pose correction engine comprising: an interface module configured to receive (i) pose data that includes a plurality of pose samples, wherein each pose sample indicates at least a reported location of a device at a respective time, and wherein the plurality of pose samples describes the trajectory of the device, and (ii) pose modification data for a first set of one or more of the plurality of pose samples, wherein the received pose modification data indicates a respective modification by a user of each pose sample in the first set of pose samples;a user modification term generator configured to generate a respective user modification term for each pose sample in the first set of pose samples, wherein each user modification term represents a respective user modification constraint that seeks to preserve the modification by the user for the corresponding pose sample;a location term generator configured to generate a respective location term for each pose sample in a second set of one or more of the plurality of pose samples, wherein the second set of pose samples includes one or more pose samples not included in the first set of pose samples, wherein each location term represents a respective location constraint that seeks to preserve the reported location of the device for the corresponding pose sample; anda pose optimizer module communicatively coupled to the user modification term generator and the location term generator, wherein the pose optimizer module is configured to modify at least some of the plurality of pose samples using the one or more user modification terms and the one or more location terms to generate modified pose data;whereby the modified pose data optimally agrees with the pose modification data and the received pose data in view of the one or more user modification constraints and the one or more location constraints. 19. The pose correction engine of claim 18, further comprising: a cache memory module configured to store the plurality of pose samples, wherein the user modifies each pose sample included in the first set of pose samples at a remote computing device using the plurality of pose samples. 20. The pose correction engine of claim 18, wherein: the pose optimizer module is configured to (i) apply the one or more user modification terms in accordance with a first strength and (ii) apply the one or more location terms in accordance with a second strength; andthe first strength is higher than the second strength. 21. The pose correction engine of claim 18, wherein each of the plurality of pose samples further indicates reported orientation of the device at the respective time. 22. The pose correction engine of claim 21, further comprising: a relative translation term generator configured to generate a respective relative translation term for each pair of adjacent ones of the plurality of pose samples, wherein each relative translation term represents a respective relative translation constraint that seeks to preserve a relative position and orientation between the corresponding pair of adjacent poses;a relative rotation term generator configured to generate a respective relative rotation term for each pair of adjacent ones of the plurality of pose samples, wherein each relative rotation term represents a respective relative rotation constraint that seeks to preserve a relative orientation between the corresponding pair of adjacent poses;a gravity direction preservation term generator configured to generate a respective gravity direction preservation term for each of the plurality of pose samples, wherein each gravity direction preservation term represents a respective gravity direction preservation constraint that seeks to preserve a direction of gravity for the corresponding pose sample;wherein the pose optimizer module is configured to modify each pose sample in the second set further using the relative translation terms, the relative rotation terms, and the gravity direction preservation terms;whereby the modified pose data optimally agrees with the pose modification data and the received pose data further in view of the relative translation constraints, the relative rotation constraints, and the gravity direction preservation constraints. 23. The pose correction engine of claim 22, wherein: the pose optimizer module is configured to implement a local search optimization scheme and (i) apply the user modification terms in accordance with a first strength, (ii) apply the location terms in accordance with a second strength, (iii) apply the relative translation terms in accordance with a third strength, (iv) apply the relative rotation terms in accordance with a fourth strength, and (v) apply the gravity direction preservation terms in accordance with a fifth strength;each of the first strength, the third strength, the fourth strength, and the fifth strength is higher than the second strength. 24. A trajectory correction system, comprising: a database configured to store pose data that includes a plurality of pose samples, wherein each pose sample indicates at least a reported location of a device at a respective time, and wherein the plurality of pose samples describes a trajectory of the device in a three-dimensional space;a pose rendering engine communicatively coupled to the database and configured to: provide an interactive user interface via which a user can modify one or more pose samples, andreceive pose modification data from the interactive user interface for a first set of one or more of the plurality of pose samples; wherein the received pose modification data indicates a respective modification of each pose sample included in the first set; the trajectory correction system further comprising: a pose correction engine communicatively coupled to the database and to the pose rendering engine, wherein the pose correction engine is configured to: receive the pose modification data, andautomatically modify each pose sample in a second set of one or more of the plurality of pose samples in view of the received pose modification data to generate modified pose data, wherein the second set includes at least one pose sample not included in the first set. 25. The trajectory correction system of claim 24, wherein: the pose rendering engine and the pose correction engine operate respectively in a front-end server and a back-end server, andthe front-end server and the back-end server are coupled via a communication network. 26. The trajectory correction system of claim 24, wherein each pose sample further indicates a reported orientation of the device in the three-dimensional space at the respective time. 27. The trajectory correction system of claim 24, wherein the pose rendering engine is configured to: cause a representation of a geographic area to be displayed on a display device;cause a respective pose indicator to be displayed over the representation of the geographic area for at least some of the plurality of pose samples, wherein the pose indicator is positioned over the representation of the geographic area in accordance with the reported location included in the corresponding pose sample; andfor each pose sample in the first set, receive an indication of a modified position of the corresponding pose indicator relative to the representation of the geographic area on the display device. 28. The trajectory correction system of claim 24, wherein the pose correction engine includes: a plurality of optimizer term generation modules configured to generate a plurality of optimization terms, wherein each optimization term corresponds to a respective optimization constraint; andan optimizer module configured to modify the pose samples in the second set using the plurality of optimization terms so that the modified pose data optimally agrees with the pose modification data subject to the optimization constraints. 29. The trajectory correction system of claim 24, wherein each of the plurality of pose records further includes an image obtained at the geographic location which the corresponding pose sample indicates. 30. The trajectory correction system of claim 25, further comprising a pose correction user interface module that operates in a client device, wherein: the client device is coupled to the front-end server via the communication network, andthe front-end server provides the interactive user interface on the client device. 31. The trajectory correction system of claim 25, wherein: the back-end server includes a first memory module to store the plurality of pose samples; andwherein the user modifies each pose sample included in the first set using the plurality of pose samples stored in a second memory module. 32. The trajectory correction system of claim 28, wherein the plurality of optimizer term generation modules includes: a user modification term generator configured to generate a respective user modification term for each pose sample in the first set of pose samples, wherein each user modification term represents a respective user modification constraint that seeks to preserve the modification by the user for the corresponding pose sample; anda location term generator configured to generate a respective location term for each pose sample in the second set of pose samples, wherein each location term represents a respective location constraint that seeks to preserve the reported location of the device for the corresponding pose sample;wherein the user modification constraints are stronger than the location constraints.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.