<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "https://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" article-type="research-article" dtd-version="1.2" xml:lang="en">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">IJMER</journal-id>
<journal-title-group><journal-title>International Journal of Mechanical Engineering and Robotics</journal-title></journal-title-group>
<publisher><publisher-name>Thomson &amp; Ryberg Publications</publisher-name></publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.62715/ijmer.2026.v1.i1.pp7-12</article-id>
<article-id pub-id-type="publisher-id">5f9d385954</article-id>
<article-categories><subj-group subj-group-type="heading"><subject>Methodology Article</subject></subj-group></article-categories>
<title-group><article-title>Calibrating Low Cost Collaborative Robot Arms Using a Single Camera and Printed Targets</article-title></title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes"><name><surname>Nwosu</surname><given-names>Yousef</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1">*</xref></contrib>
<contrib contrib-type="author"><name><surname>Parthasarathy</surname><given-names>Soren</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib>
<contrib contrib-type="author"><name><surname>Jovanovic</surname><given-names>Linh</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib>
<aff id="aff1"><label>1</label>Department of Mechanical Engineering, Rhine Graduate Institute of Mechanical Engineering, Nigeria</aff>
<aff id="aff2"><label>2</label>Department of Mechanical Engineering, Hejaz Academy of Mechanical Engineering, Philippines</aff>
<aff id="aff3"><label>3</label>Department of Mechanical Engineering, Lapland Research Institute of Mechanical Engineering, Lebanon</aff>
</contrib-group>
<author-notes><corresp id="cor1">* Correspondence: <email>yousef.nwosu@rhine.edu</email></corresp></author-notes>
<pub-date pub-type="epub" iso-8601-date="2026-09-19"><day>19</day><month>09</month><year>2026</year></pub-date>
<volume>1</volume>
<issue>1</issue>
<fpage>7</fpage>
<lpage>12</lpage>
<history>
<date date-type="received" iso-8601-date="2026-05-22"><day>22</day><month>05</month><year>2026</year></date>
<date date-type="accepted" iso-8601-date="2026-08-04"><day>04</day><month>08</month><year>2026</year></date>
</history>
<permissions><copyright-statement>© 2026 The Author(s)</copyright-statement><copyright-year>2026</copyright-year><license license-type="open-access" xlink:href="https://creativecommons.org/licenses/by/4.0/"><license-p>This is an open access article distributed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).</license-p></license></permissions>
<self-uri xlink:href="https://trpub.org/article.php?id=5f9d385954"/>
<abstract><p>Collaborative robot arms at the lower end of the market repeat a taught pose well but reach a commanded Cartesian pose with noticeably larger error, because the kinematic model in the controller differs from the arm as built. Correcting that model normally requires a laser tracker or a coordinate measuring arm, instruments that cost more than the robot. This article sets out a calibration procedure that uses one industrial or good consumer camera mounted on the flange and fiducial targets printed on an office printer. The procedure has seven steps: print and measure the targets, calibrate the camera, choose a kinematic error model free of redundant parameters, plan and record a set of poses, identify the parameters together with the hand-eye and target transforms by nonlinear least squares, validate on poses not used for identification, and apply the correction. Each step is explained with the reasoning behind it and the mistakes it is meant to prevent. The procedure is assembled from established methods in robot calibration and computer vision. It is a proposal that has not been validated on a robot here, and the article states which sources of error it cannot remove.</p></abstract>
<kwd-group kwd-group-type="author">
<kwd>Robot calibration</kwd>
<kwd>Collaborative robots</kwd>
<kwd>Hand-eye calibration</kwd>
<kwd>Fiducial markers</kwd>
<kwd>Kinematic identification</kwd>
<kwd>Camera calibration</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="sec1"><title>1. Introduction</title>
<p>A small workshop that buys a collaborative arm usually programmes it by hand guiding. The operator leads the arm to each pose, stores it, and the arm returns there within its repeatability, which even for inexpensive arms is a small fraction of a millimetre. Trouble starts when poses come from elsewhere: from a CAD model, from a camera that locates parts, or from a programme copied from another robot. The arm is then asked for a pose in Cartesian space, and the error is governed by its absolute accuracy, which is commonly an order of magnitude worse than its repeatability. The international standard on robot performance treats the two as separate quantities for this reason (ISO, 1998).</p>
<p>Most of the gap is geometric. Link lengths, axis offsets and joint zero positions differ slightly from their nominal values, and the controller computes with the nominal ones. Kinematic calibration replaces them with identified values, and its methods have been settled for decades (Roth et al., 1987; Mooring et al., 1991). The obstacle for a small firm is the measuring equipment. Published calibrations of industrial arms typically rely on a laser tracker (Nubiola and Bonev, 2013), which is out of proportion to the price of a low cost arm.</p>
<p>This article proposes a procedure that replaces the tracker with a single camera and printed fiducial targets. The components are all established: planar camera calibration, fiducial detection, hand-eye calibration and least-squares identification. What is offered is their arrangement into a sequence that a technician can follow, with attention to the points where cheap equipment misleads. No application to a robot is reported.</p>
</sec>
<sec id="sec2"><title>2. Background</title>
<p>Robot calibration is conventionally divided into four tasks: modelling, measurement, identification and compensation (Roth et al., 1987). The proposal follows that division, and each task has a literature that constrains the choices available.</p>
<sec id="sec2-2"><title>2.1. Kinematic models and their parameters</title>
<p>The standard description of a serial arm assigns four parameters to each link (Denavit and Hartenberg, 1955). It serves well for nominal kinematics but poorly for calibration when two consecutive joint axes are nearly parallel, because a small misalignment then produces a very large change in one parameter. Hayati and Mirmirani (1985) introduced an additional rotation about the y axis for such pairs, and this modification is routinely adopted. The point is of direct relevance here, since many six-axis collaborative arms have three consecutive parallel axes at the shoulder, elbow and first wrist joint. A model used for identification should be complete, continuous and free of redundant parameters (Mooring et al., 1991).</p>
</sec>
<sec id="sec2-3"><title>2.2. A camera as the measuring instrument</title>
<p>A calibrated camera that sees a pattern of known geometry can recover its own pose relative to the pattern. The intrinsic parameters and lens distortion are obtained from several views of a planar target (Zhang, 2000), and the pose from each later image by solving the perspective-n-point problem (Lepetit et al., 2009); the underlying geometry is set out by Hartley and Zisserman (2004). Square fiducial markers make the pattern self-identifying, so that each detected corner is matched to its known position without ambiguity even when only a fraction of the target is in view (Garrido-Jurado et al., 2014; Olson, 2011). Open implementations of all of these steps are available in the OpenCV library (Bradski, 2000).</p>
<p>The camera measures in its own frame, not the flange frame, and the fixed transform between the two is unknown. Finding it is the hand-eye problem, classically written as AX = XB and solved in closed form by Tsai and Lenz (1989), with later formulations on the Euclidean group (Park and Martin, 1994) and with dual quaternions (Daniilidis, 1999). These solutions assume that the robot poses are exact, which is precisely what is in doubt during calibration. They are therefore used here only for initial values.</p>
</sec>
</sec>
<sec id="sec3"><title>3. The Proposed Procedure</title>
<p>Figure 1 shows the seven steps and the return path taken when validation fails. Before describing them, it helps to list the sources of error the procedure has to deal with. Table 1 does so and states how each is treated.</p>
<table-wrap id="tbl1"><label>Table 1</label><caption><p>Sources of error in camera-based calibration of a low cost arm and their treatment in the procedure</p></caption><table frame="hsides" rules="groups"><thead><tr><th>Source of error</th><th>Effect</th><th>Treatment</th></tr></thead><tbody><tr><td>Joint zero offsets</td><td>Pose error that varies across the workspace</td><td>Identified in Step 5</td></tr><tr><td>Link length and axis misalignment</td><td>Smaller, configuration-dependent pose error</td><td>Identified in Step 5 with a Hayati term for parallel axes</td></tr><tr><td>Printer scaling</td><td>All measured distances scaled by a constant</td><td>Printed target measured with a steel rule in Step 1</td></tr><tr><td>Target not flat</td><td>Biased marker poses</td><td>Target bonded to glass or metal plate</td></tr><tr><td>Camera intrinsics and focus</td><td>Systematic error, worst along the optical axis</td><td>Fixed focus and aperture; calibration in Step 2</td></tr><tr><td>Hand-eye transform</td><td>Constant offset confused with robot error</td><td>Estimated jointly in Step 5</td></tr><tr><td>Joint compliance and backlash</td><td>Load- and direction-dependent error</td><td>Not modelled; reduced by consistent approach direction</td></tr></tbody></table></table-wrap>
<fig id="fig1"><label>Figure 1</label><caption><p>Sequence of the proposed calibration procedure, with the return path taken when validation fails</p></caption><graphic xlink:href="IJMER_V1I1_2026_02_Figure1.png" mimetype="image" mime-subtype="png"/></fig>
<sec id="sec3-2"><title>3.1. Step 1: Print, mount and measure the targets</title>
<p>A board of fiducial markers is printed on matt paper, matt because glossy stock produces specular highlights that disturb corner detection. Office printers do not reproduce dimensions exactly and may scale differently along and across the feed direction, so the printed board is measured in both directions with a steel rule or caliper and the measured pitch, not the nominal one, is entered in the software. The sheet is bonded without bubbles to a flat rigid backing such as float glass or a machined plate. Two or three boards placed at different heights and orientations in the workspace give better conditioning than one, and their relative positions need not be known in advance.</p>
</sec>
<sec id="sec3-3"><title>3.2. Step 2: Calibrate the camera</title>
<p>The camera is clamped to the flange with a bracket stiff enough that it does not shift during motion. Focus, aperture and zoom are set for the working distance and then locked mechanically; autofocus must be disabled, because any change of focus alters the intrinsic parameters. Intrinsics and distortion are estimated by the planar method from a few dozen views that tilt the target strongly and cover the whole image, including the corners. The reprojection residual should be inspected as a pattern across the image and not only as a single number, since a low average can conceal a poorly modelled lens edge.</p>
</sec>
<sec id="sec3-4"><title>3.3. Step 3: Choose the error model</title>
<p>The model takes the nominal parameters from the manufacturer and adds a small correction to each, with the Hayati term on the parallel-axis pairs. Not every correction can be identified. Some are indistinguishable from the unknown base and tool transforms, and others are nearly dependent for a given arm geometry. The practical test is to compute the identification Jacobian for the planned poses and examine its singular values; parameters associated with very small singular values are removed or fixed. On a first attempt it is prudent to identify only the joint zero offsets, which usually account for the larger part of the error, and to add link parameters only if validation shows a benefit.</p>
</sec>
<sec id="sec3-5"><title>3.4. Step 4: Plan and record the poses</title>
<p>Identification needs poses that excite every parameter, which means that each joint must move through a wide range while a target stays in view. The poses are generated in advance, checked for visibility and collisions in simulation, and split into an identification set and a validation set before any data are seen. At each pose the arm is allowed to settle, and the image is stored with the joint angles reported by the controller, not the commanded Cartesian pose. Approaching every pose from the same joint direction keeps backlash from appearing as random noise. Images in which markers are blurred, heavily foreshortened or fewer than a set minimum are discarded by rule.</p>
</sec>
<sec id="sec3-6"><title>3.5. Step 5: Identify the parameters</title>
<p>The unknowns are the kinematic corrections, the hand-eye transform and the pose of each board in the robot base frame. Initial values for the last two come from a closed-form hand-eye solution on the nominal kinematics. All unknowns are then refined together by minimising the reprojection error, the distance in pixels between each detected marker corner and its position predicted through the chain of base, arm, camera and board. Working in pixels weights each observation by what the camera actually measured and avoids treating the poorly observed depth direction as equal to the others. The minimisation is a standard nonlinear least-squares problem handled by the Levenberg-Marquardt method (Marquardt, 1963), preferably with a robust loss so that a few bad detections do not dominate.</p>
</sec>
<sec id="sec3-7"><title>3.6. Step 6: Validate on held-out poses</title>
<p>The identified model is judged only on the validation poses. For each, the board pose predicted from the joint angles is compared with the pose measured by the camera, before and after calibration, and the position and orientation errors are summarised. Residuals should also be plotted against each joint angle; a remaining trend indicates an unmodelled effect, and a model that fits the identification set well but the validation set badly has too many parameters. In either case the procedure returns to Step 3 or Step 4. An independent check with a different instrument, even a dial gauge against a reference block, is worth making because the camera cannot reveal its own bias.</p>
</sec>
<sec id="sec3-8"><title>3.7. Step 7: Apply the correction</title>
<p>Some controllers accept modified kinematic parameters directly. Where they do not, the correction is applied outside the controller: the desired Cartesian pose is passed through the inverse kinematics of the identified model, and the resulting joint angles are sent as a joint-space target (Siciliano et al., 2009). The identified values, the pose sets, the images and the software versions are archived so that the calibration can be repeated after a collision or a joint replacement.</p>
</sec>
</sec>
<sec id="sec4"><title>4. Fitting the Procedure to a Small Workshop</title>
<p>The equipment list is short: a camera with a global shutter if one is affordable, a fixed-focus lens, a rigid bracket, printed boards on flat backing and a computer. The first calibration takes most of a day, largely spent on pose planning and scripting, and later repetitions take about as long as the robot needs to visit the poses. Lighting should be diffuse and constant. Temperature deserves a note in the record, because arms warm up in use and their geometry drifts with them; calibrating a cold arm that will work warm reproduces part of the error it was meant to remove.</p>
<p>Collaborative arms are designed to limit force and power in contact with people (ISO, 2016), and their light, compliant joints deflect under payload more than those of conventional industrial arms. A calibration performed with only the camera on the flange is valid for that load. If the working payload is substantially heavier, the poses should be recorded with a dummy mass of similar weight and centre of gravity.</p>
</sec>
<sec id="sec5"><title>5. Limitations and What Remains to Be Shown</title>
<p>The procedure is proposed, not demonstrated. Its accuracy is bounded by the camera, whose pose estimates are good across the image plane and weaker along the line of sight, and by the flatness and measured scale of the boards. It models geometry only, so elasticity, backlash, gear transmission error and thermal drift remain. Whether what is left is small enough for a given task is an empirical matter. The comparison that would settle it is a calibration of the same arm by this procedure and by a laser tracker, with both evaluated on a common set of tracker-measured poses. Repeating the camera-based calibration several times with fresh pose sets would show how stable the identified parameters are.</p>
</sec>
<sec id="sec6"><title>6. Conclusion</title>
<p>Absolute accuracy of low cost collaborative arms can in principle be improved with a camera, a printer and open software, using methods that are individually well established. The seven steps proposed here arrange those methods so that the commonest errors of cheap equipment, printer scaling, a changing focus, redundant parameters and unvalidated fits, are confronted in order. The procedure awaits comparison against a reference instrument, and until that is done its results on any particular arm should be confirmed by an independent measurement.</p>
</sec>
<sec id="sec7"><title>Conflict of interest</title>
<p>To be declared by the author(s) before publication.</p>
</sec>
<sec id="sec8"><title>Funding</title>
<p>To be declared by the author(s) before publication.</p>
</sec>
</body>
<back>
<ref-list><title>References</title>
<ref id="ref1"><label>1</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Bradski, G.</string-name></person-group> (<year>2000</year>). <article-title>The OpenCV library</article-title>. <source>Dr. Dobb&#x27;s Journal of Software Tools</source>, <volume>25(11)</volume>, <fpage>120-125</fpage></mixed-citation></ref>
<ref id="ref2"><label>2</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Daniilidis, K.</string-name></person-group> (<year>1999</year>). <article-title>Hand-eye calibration using dual quaternions</article-title>. <source>The International Journal of Robotics Research</source>, <volume>18(3)</volume>, <fpage>286-298</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1177/02783649922066213">https://doi.org/10.1177/02783649922066213</ext-link></mixed-citation></ref>
<ref id="ref3"><label>3</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Denavit, J. and Hartenberg, R.S.</string-name></person-group> (<year>1955</year>). <article-title>A kinematic notation for lower-pair mechanisms based on matrices</article-title>. <source>Journal of Applied Mechanics</source>, <volume>22(2)</volume>, <fpage>215-221</fpage></mixed-citation></ref>
<ref id="ref4"><label>4</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Garrido-Jurado, S., Muñoz-Salinas, R., Madrid-Cuevas, F.J. and Marín-Jiménez, M.J.</string-name></person-group> (<year>2014</year>). <article-title>Automatic generation and detection of highly reliable fiducial markers under occlusion</article-title>. <source>Pattern Recognition</source>, <volume>47(6)</volume>, <fpage>2280-2292</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.patcog.2014.01.005">https://doi.org/10.1016/j.patcog.2014.01.005</ext-link></mixed-citation></ref>
<ref id="ref5"><label>5</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Hartley, R. and Zisserman, A.</string-name></person-group> (<year>2004</year>). <article-title>Multiple View Geometry in Computer Vision</article-title>. <source>2nd ed. Cambridge University Press, Cambridge</source></mixed-citation></ref>
<ref id="ref6"><label>6</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Hayati, S. and Mirmirani, M.</string-name></person-group> (<year>1985</year>). <article-title>Improving the absolute positioning accuracy of robot manipulators</article-title>. <source>Journal of Robotic Systems</source>, <volume>2(4)</volume>, <fpage>397-413</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1002/rob.4620020406">https://doi.org/10.1002/rob.4620020406</ext-link></mixed-citation></ref>
<ref id="ref7"><label>7</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>ISO</string-name></person-group> (<year>1998</year>). <article-title>ISO 9283:1998 Manipulating industrial robots</article-title>. <source>Performance criteria and related test methods. International Organization for Standardization, Geneva</source></mixed-citation></ref>
<ref id="ref8"><label>8</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>ISO</string-name></person-group> (<year>2016</year>). <article-title>ISO/TS 15066:2016 Robots and robotic devices</article-title>. <source>Collaborative robots. International Organization for Standardization, Geneva</source></mixed-citation></ref>
<ref id="ref9"><label>9</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Lepetit, V., Moreno-Noguer, F. and Fua, P.</string-name></person-group> (<year>2009</year>). <article-title>EPnP: An accurate O(n) solution to the PnP problem</article-title>. <source>International Journal of Computer Vision</source>, <volume>81(2)</volume>, <fpage>155-166</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s11263-008-0152-6">https://doi.org/10.1007/s11263-008-0152-6</ext-link></mixed-citation></ref>
<ref id="ref10"><label>10</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Marquardt, D.W.</string-name></person-group> (<year>1963</year>). <article-title>An algorithm for least-squares estimation of nonlinear parameters</article-title>. <source>Journal of the Society for Industrial and Applied Mathematics</source>, <volume>11(2)</volume>, <fpage>431-441</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1137/0111030">https://doi.org/10.1137/0111030</ext-link></mixed-citation></ref>
<ref id="ref11"><label>11</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Mooring, B.W., Roth, Z.S. and Driels, M.R.</string-name></person-group> (<year>1991</year>). <article-title>Fundamentals of Manipulator Calibration</article-title>. <source>John Wiley &amp; Sons, New York</source></mixed-citation></ref>
<ref id="ref12"><label>12</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Nubiola, A. and Bonev, I.A.</string-name></person-group> (<year>2013</year>). <article-title>Absolute calibration of an ABB IRB 1600 robot using a laser tracker</article-title>. <source>Robotics and Computer-Integrated Manufacturing</source>, <volume>29(1)</volume>, <fpage>236-245</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.rcim.2012.06.004">https://doi.org/10.1016/j.rcim.2012.06.004</ext-link></mixed-citation></ref>
<ref id="ref13"><label>13</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Olson, E.</string-name></person-group> (<year>2011</year>). <article-title>AprilTag: A robust and flexible visual fiducial system</article-title>. <source>Proceedings of the IEEE International Conference on Robotics and Automation</source>, <fpage>3400-3407</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/ICRA.2011.5979561">https://doi.org/10.1109/ICRA.2011.5979561</ext-link></mixed-citation></ref>
<ref id="ref14"><label>14</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Park, F.C. and Martin, B.J.</string-name></person-group> (<year>1994</year>). <article-title>Robot sensor calibration: Solving AX = XB on the Euclidean group</article-title>. <source>IEEE Transactions on Robotics and Automation</source>, <volume>10(5)</volume>, <fpage>717-721</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/70.326576">https://doi.org/10.1109/70.326576</ext-link></mixed-citation></ref>
<ref id="ref15"><label>15</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Roth, Z.S., Mooring, B.W. and Ravani, B.</string-name></person-group> (<year>1987</year>). <article-title>An overview of robot calibration</article-title>. <source>IEEE Journal on Robotics and Automation</source>, <volume>3(5)</volume>, <fpage>377-385</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/JRA.1987.1087124">https://doi.org/10.1109/JRA.1987.1087124</ext-link></mixed-citation></ref>
<ref id="ref16"><label>16</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Siciliano, B., Sciavicco, L., Villani, L. and Oriolo, G.</string-name></person-group> (<year>2009</year>). <article-title>Robotics: Modelling, Planning and Control</article-title>. <source>Springer, London</source></mixed-citation></ref>
<ref id="ref17"><label>17</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Tsai, R.Y. and Lenz, R.K.</string-name></person-group> (<year>1989</year>). <article-title>A new technique for fully autonomous and efficient 3D robotics hand/eye calibration</article-title>. <source>IEEE Transactions on Robotics and Automation</source>, <volume>5(3)</volume>, <fpage>345-358</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/70.34770">https://doi.org/10.1109/70.34770</ext-link></mixed-citation></ref>
<ref id="ref18"><label>18</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name>Zhang, Z.</string-name></person-group> (<year>2000</year>). <article-title>A flexible new technique for camera calibration</article-title>. <source>IEEE Transactions on Pattern Analysis and Machine Intelligence</source>, <volume>22(11)</volume>, <fpage>1330-1334</fpage> <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/34.888718">https://doi.org/10.1109/34.888718</ext-link></mixed-citation></ref>
</ref-list>
</back>
</article>