9607387

A System and Method for Optimizing Fiducial Marker and Camera Positions/Orientations

PublishedMarch 28, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
87 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method for optimizing fiducial marker positions and orientations comprising the steps of: acquiring a mesh data representing possible an active marker positions and feasible orientation boundaries of markers on a tracked object; a pose data representing possible poses of tracked object under working conditions; initializing a control parameter defining a relative importance of a local search with respect to a global search, creating initial solution strings comprising a bit string to specify the presence of a marker and a vector string to specify an orientation of a marker, evaluating a quality of a current LED maker placement solution by taking a pose coverage, a pose accuracy a number of placed markers into account a new solution, determining if a stopping criterion is within a range of desired pose error, a pose coverage, a number of markers, when the stopping criterion is satisfied, outputting best marker placement solution, when the stopping criterion is not satisfied, determining whether the new solution has a smaller cost than a previous one, when the new solution does not have a smaller cost than a solution of the previous iteration, rolling back to the previous solution with some probability, which is a function of a new cost, an old cost and the control parameter, decreasing the control parameter, perturbing the current solution to create the new solution for evaluation in the evaluating step until the stopping criterion is satisfied, wherein a perturbation of solution models as a series of simple moves on the current solution.

2

2. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein marker position and A marker orientation optimization is carried out.

3

3. The method for optimizing fiducial marker positions and orientations of claim 2 , wherein a marker position/orientation optimization is carried out both in locally and globally optimum spectrum.

4

4. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein according to a current value of control parameter, a system has both local search and global search character.

5

5. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein initialization of the control parameter defines initial search character of g system in the initializing step.

6

6. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a solution string (MPF) to marker placement problem is initialized with fidelity to domain specific constraints in the creating step.

7

7. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a solution string to marker placement problem (OoM) is initialized with fidelity to mechanical constraints in the creating step.

8

8. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a solution string to marker placement problem (MPF) initialized randomly or using greedy placement methods in the creating step.

9

9. The method for optimizing fiducial marker positions and orientations claim 1 , wherein a solution string to marker placement problem (OoM) initialized using normals to a surface of the tracked object in the creating step.

10

10. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein for a given pose data and marker placement, a quality of current marker placement is evaluated as a weighted linear combination of a number of hidden poses, a pose error and a number of markers used in the evaluating step.

11

11. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein execution of a predetermined number of iterations or achievement of minimum requirements for a pose error, a number of hidden poses and a number of markers used causes a system to terminate in the determining step.

12

12. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a best placement solution encountered in whole execution is passed to output in the outputting step.

13

13. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein qualities of current and previous marker placement solutions are compared in the comparing step.

14

14. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein the comparing step is not executed in a first iteration.

15

15. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a solution quality increase in the current solution results in an immediate acceptance of the current solution for later iterations.

16

16. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a solution quality decrease in the current solution results in a probabilistic acceptance of the current solution for later iterations.

17

17. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein in case of solution quality decrease, an acceptance of the current solution is guided by a function which has following properties in the rolling back step: a higher acceptance rate if a quality difference between the previous and the current solution is small, a higher acceptance rate if the control parameter hash large value.

18

18. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a decrease of the control parameter to increase the local search character of a system takes place in the decreasing step.

19

19. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein perturbations on the current solution to find a next solution is carried out in the perturbing step.

20

20. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein perturbations can be composed of three different basic moves: setting a bit position in MPF, clearing a bit position in MPF, changing a direction of a vector in OoM.

21

21. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein perturbations can be composed of three different types of moves at a single iteration; more than one repetitions for each type of move g also possible.

22

22. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein perturbations respects domain specific design rules and mechanical constraints in the perturbing step.

23

23. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a predetermined or variable number of moves is performed in a total random manner along with heuristic moves to guide the perturbation in the perturbing step.

24

24. The method for optimizing fiducial marker positions and orientation of claim 1 , wherein a heuristic move that zi a bit in MPF is probabilistically selected among candidate moves which are guided by gain and cost metrics in the perturbing step.

25

25. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that sets a bit in MPF is guided by the gain metric of a number of hidden poses covered by an added marker.

26

26. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that sets a bit in MPF is guided by the gain metric of a number of high error poses covered by an added marker.

27

27. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that sets a bit in MPF is guided by the cost metric of a number of suppressed marker positions by an added marker.

28

28. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that sets a bit in MPF is guided by a weighted linear combination of gain and cost metrics for MPF bit setting in the perturbing step.

29

29. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that clears a bit in MPF is probabilistically selected among candidate moves which are guided by gain and cost metrics in the perturbing step.

30

30. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that clears a bit in MPF is guided by the cost metric of a number of hidden poses created by a deleted marker.

31

31. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that clears a bit in MPF is guided by the cost metric of a number of critical error poses missed coverage because of a deleted marker.

32

32. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that clears a bit in MPF is guided by the gain metric of a number of previously suppressed marker positions by the deleted marker.

33

33. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that clear a bit in MPF is guided by a weighted linear combination of gain and cost metrics for MPF bit clearing in the perturbing step.

34

34. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that changes a orientation of a vector in OoM is probabilistically selected among candidate moves which are guided by gain metrics in the perturbing step.

35

35. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that changes an orientation of a vector in OoM is guided by the gain metric of a number of hidden poses covered minus a number of hidden poses created with marker orientation changing move.

36

36. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that changes an orientation of a vector in OoM is guided by the gain metric of a number of high error poses covered minus a number of critical error poses that missed coverage with a marker orientation changing move.

37

37. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a heuristic move that changes an orientation of a vector in OoM is guided by a weighted linear combination of gain metrics for modifying a vector in OoM in the perturbing step.

38

38. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein each pose has an associated importance metric which is incremented at each iteration when the pose is hidden or high error pose.

39

39. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a probabilistic move selection is carried out using a pose importance in the perturbing step.

40

40. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein pose importance values are incremented directly proportional to an iteration count of the system.

41

41. The method for optimizing fiducial marker positions and orientations of claim 1 , wherein a condition of being a hidden pose cause larger increments on an associated importance value than a condition of being high error pose.

42

42. A method for optimizing camera positions and orientations comprising the steps of: acquiring mesh data representing possible camera positions and feasible orientation boundaries of cameras on an environment of a tracked object; pose data representing possible poses of a tracked object under working conditions, initializing a control parameter defining relative importance of local search with respect to a global search for a camera placement, creating initial solution strings comprising a bit string to specify a presence of a camera (CPF) and a vector string to specify an orientation of a camera (OoC), evaluating quality of a current LED and a camera placement taking a pose coverage, a pose accuracy, a number of placed cameras into account in a new solution, determining if a stopping criterion is within an acceptable range of desired pose error, a pose coverage, a number of camera, when the stopping criterion is satisfied, then outputting a best marker and a camera placement solution, when the stopping criterion is not satisfied determining whether a new camera placement solution has a smaller cost than a previous one, when the new solution does not have a smaller cost than a solution of the previous iteration, rolling back to the previous solution with some probability, which is a function of a new cost, an old cost and the control parameter, decreasing the control parameter for the camera placement, perturbing the current camera placement solution to create new solution for evaluation in the evaluating step for the camera wherein a perturbation of the solution is composed of series of basic moves on the current camera placement solution.

43

43. The method for optimizing camera positions and orientations of claim 42 , wherein a camera position and a camera orientation optimization is carried out.

44

44. The method for optimizing positions and orientations of claim 43 , wherein a camera position and a orientation optimization is carried out both in locally and globally optimum spectrum.

45

45. The method for optimizing camera positions and orientations of claim 42 , wherein according to a current value of control parameter, a system has both local search and global search character.

46

46. The method for optimizing camera positions and orientations of claim 42 , wherein initialization of the control parameter defines initial search character of system in the initializing step for the camera.

47

47. The method for optimizing camera positions and orientations of claim 42 , wherein a solution string to camera placement problem (OoC) is initialized with fidelity to mechanical constraints in the creating step for the camera.

48

48. The method for optimizing camera positions and orientations of claim 42 , wherein a solution string to camera placement problem (CPF) initialized randomly or using greedy placement methods in the creating step for the camera.

49

49. The method for optimizing camera positions and orientations of claim 42 , wherein a solution string to camera placement problem (OoC) initialized using nominal pose of the tracked object in the creating step for the camera.

50

50. The method for optimizing camera positions and orientations of claim 42 , wherein for a given pose data and camera placement, a quality of current marker/camera placement is evaluated as a weighted linear combination of a number of hidden poses, a pose error, a number of markers used and a number of cameras used in the evaluating step for the camera.

51

51. The method for optimizing camera positions and orientations of claim 42 , wherein an execution of a predetermined number of iterations or achievement of minimum requirements for a pose error, a number of hidden poses, and a number of cameras used causes a system to terminate in the determining step for the camera.

52

52. The method for optimizing camera positions and orientations of claim 44 , wherein a best overall camera solution encountered in whole execution is passed to output in the outputting step for the camera.

53

53. The method for optimizing camera positions and orientations of claim 42 , wherein qualities of current and previous camera placement solutions is compared in the comparing step for the camera.

54

54. The method for optimizing camera positions and orientations of claim 42 , wherein the comparing step for the camera is not executed in first iteration.

55

55. The method for optimizing camera positions and orientations of claim 42 , wherein a solution quality increase in the current camera placement solution results in an immediate acceptance of the current camera placement solution for later iterations.

56

56. The method for optimizing optimizing camera positions and orientations of claim 42 , wherein a solution quality decrease in the current camera placement solution results in a probabilistic acceptance of the current camera placement solution for later iterations.

57

57. The method for optimizing optimizing camera positions and orientations of claim 42 , wherein in case of solution quality decrease, an acceptance of the current camera placement solution is guided by a function which has following properties in the rolling back step for the camera: a higher acceptance rate if a quality difference between a previous and the current camera placement solution is small, a higher acceptance rate if the control parameter has a large value.

58

58. The method for optimizing optimizing camera positions and orientations of claim 42 , wherein a decrease of the control parameter to increase the local search character of a system takes place in the decreasing step for the camera.

59

59. The method for optimizing optimizing camera positions and orientations of claim 42 , wherein perturbations on a current solution to find next solution is carried out in the perturbing step for the camera.

60

60. The method for optimizing optimizing camera positions and orientations of claim 42 , wherein perturbations can be composed of three different basic moves: setting a bit position in CPF, clearing a bit position in CPF, changing a direction of a vector in OoC.

61

61. The method for optimizing camera positions and orientations of claim 42 , wherein perturbations can be composed of three different types of moves at a single iteration; more than one repetitions for each type of move are also possible.

62

62. The method for optimizing camera positions and orientations of claim 42 , wherein perturbations respects domain specific design rules and mechanical constraints in the perturbing step for the camera.

63

63. The method for optimizing camera positions and orientations of claim 42 , wherein a predetermined (or variable) number of moves is performed in total random manner along with heuristic moves to guide the perturbation in the perturbing step for the camera.

64

64. The method for optimizing camera positions and orientations of claim 42 , wherein g heuristic move that sets a bit in CPF is probabilistically selected among candidate moves which are guided by gain and cost metrics in the perturbing step for the camera.

65

65. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that sets a bit in CPF is guided by the gain metric of a number of hidden poses covered by an added camera.

66

66. The method for optimizing camera positions and orientations of claim 42 , wherein heuristic move that sets a bit in CPF is guided by the gain metric of number of high error poses covered by an added camera.

67

67. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that sets a bit in CPF is guided by a weighted linear combination of gain and cost metrics for CPF bit setting in the perturbing step for the camera.

68

68. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that clears a bit in CPF is probabilistically selected among candidate moves which are guided by gain and cost metrics in the perturbing step for the camera.

69

69. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that clears a bit in CPF is guided by the cost metric of a number of hidden poses created by g deleted camera.

70

70. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that clears a bit in CPF is guided by the cost metric of a number of critical error poses missed coverage because of a deleted camera.

71

71. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that clears a bit in CPF is guided by g weighted linear combination of gain and cost metrics for CPF bit clearing in the perturbing step for the camera.

72

72. The method for optimizing camera positions and orientations of claim 42 , wherein g heuristic move that changes an orientation of a vector in OoC is probabilistically selected among candidate moves which are guided by gain metrics in the perturbing step for the camera.

73

73. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that changes an orientation of a vector in OoC is guided by the gain metric of a number of hidden poses covered minus a number of hidden poses created with a camera orientation changing move.

74

74. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that changes an orientation of a vector in OoC is guided by the gain metric of a number of high error poses covered minus a number of critical error poses that missed coverage with a camera orientation changing move.

75

75. The method for optimizing camera positions and orientations of claim 42 , wherein a heuristic move that changes an orientation of a vector in OoC is guided by a weighted linear combination of gain metrics for modifying a vector in OoC in the perturbing step for the camera.

76

76. The method for optimizing camera positions and orientations of claim 42 , wherein each pose has an associated importance metric which is incremented at each iteration when the pose is hidden or high error pose.

77

77. The method for optimizing camera positions and orientations of claim 42 , wherein a probabilistic move selection is carried out using a pose importance in the perturbing step for the camera.

78

78. The method for optimizing camera positions and orientations of claim 42 , wherein pose importance values are incremented directly proportional to an iteration count of a system.

79

79. The method for optimizing camera positions and orientations of claim 42 , wherein a condition of being a hidden pose cause larger increments on an associated importance value than a condition of being a high error pose.

80

80. A system for optimizing fiducial marker and camera positions and orientations comprising: a processing unit configured to receive a pose, a marker mesh and camera mesh data and implement the method for optimizing fiducial marker and camera positions and orientations using this data; a tracker algorithm for which the system will be optimized and output results found by a method for optimizing camera positions and orientations, the method including the steps of: acquiring mesh data representing possible camera positions and feasible orientation boundaries of cameras on an environment of a tracked object; pose data representing possible poses of a tracked object under working conditions, initializing a control parameter defining a relative importance of a local search with respect to a global search for a camera placement, creating initial solution strings comprising a bit string to specify a presence of a camera (CPF) and a vector string to specify an orientation of a camera (OoC), evaluating a quality of a current LED and a camera placement taking a pose coverage, a pose accuracy, a number of placed cameras into account in a new solution, determining if a stopping criterion is within an acceptable range of desired pose error, a pose coverage, a number of camera, when the stopping criterion is satisfied, outputting a best marker and a camera placement solution, when the stopping criterion is not satisfied determining whether a new camera placement solution has a smaller cost than a previous one, when the new solution does not have a smaller cost than a solution of the previous iteration, rolling back to the previous solution with some probability, which is a function of a new cost, an old cost and the control parameter, decreasing the control parameter for the camera placement, perturbing the current camera placement solution to create the new solution for evaluation in the evaluating step for the camera wherein a perturbation of the solution is composed of series of basic moves on the current camera placement solution, an input/output device connected to the processing unit configured to receive the pose, the marker mesh and the camera mesh data, from an outside source such as a user, the input/output device being selected from the group consisting of a monitor, a keyboard, a mouse, a camera or a combination; and output results found by processing unit, a memory unit connected to the processing unit configured to store, when necessary, optimization results found by the processing unit and any pose, the marker mesh and the camera mesh data.

81

81. The system for optimizing fiducial marker and camera positions and orientations of claim 80 , wherein the processing unit is configured to receive the pose, the marker mesh and the camera mesh data from the input/output device.

82

82. The system for optimizing fiducial marker and camera positions and orientations of claim 80 , wherein the processing unit which is configured to receive the pose, the marker mesh and the camera mesh position data from the memory unit.

83

83. The system for optimizing fiducial marker and camera positions and orientations of claim 80 , wherein the input/output device is configured to receive the pose data of the tracked object under a consideration using an inertial measurement unit (IMU).

84

84. The system for optimizing fiducial marker and camera positions/orientations of claim 80 , wherein the input/output device is configured to receive the pose data of the tracked object under a consideration using an optic based pose data acquisition system with multiple high resolution cameras that is capable of generating accurate and complete pose data.

85

85. The system for optimizing fiducial marker and camera positions/orientations of claim 80 , wherein the input/output device is configured to receive user generated camera position data and the marker and the camera mesh data.

86

86. The system for optimizing fiducial marker and camera positions/orientations of claim 80 , wherein the memory unit is a volatile memory device.

87

87. The system for optimizing fiducial marker and camera positions/orientations of claim 80 , wherein the memory unit is a non-volatile memory device.

Patent Metadata

Filing Date

Unknown

Publication Date

March 28, 2017

Inventors

Erkan OKUYAN
Ozgur YILMAZ

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “A SYSTEM AND METHOD FOR OPTIMIZING FIDUCIAL MARKER AND CAMERA POSITIONS/ORIENTATIONS” (9607387). https://patentable.app/patents/9607387

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.