OpenCV Q&A Forum - RSS feedhttp://answers.opencv.org/questions/OpenCV answersenCopyright <a href="http://www.opencv.org">OpenCV foundation</a>, 2012-2018.Tue, 07 Jul 2020 15:36:04 -0500Advice on calibration and triangulation for large scalehttp://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/Hi, so I am looking at tracking and triangulating the position of a flying target (large portions of the camera view is the sky!) that is a couple of kilometres away. This means that the camera pair used for triangulation has to have quite a big baseline, atleast hundreds of meters for any type of accuracy in the triangulation. I am a bit confused however how to perform this task especially the calibration part.
For calibration of the camera pair I thought I could use block matching and the result to estimate the fundamental matrix (OpenCV findFundamental). Since I know the camera intrinsics I could from this determine the essential matrix and since I also know the translation vector I could calculate the rotation matrix. Finally since this would yield the relation between the cameras, but not the world coordinates final step would be using a couple of known points (about 5-7 in world coordinates) with solvePnP to find one of the cameras orientation relative the world frame. With this I could now form my projection matrices for my cameras used in the triangulation step.
My questions are:
- Is the general idea correct or is there something I am missing?
- I have also locked at using stereoCalibrate, but my understanding is that it requires the use of a calibration pattern, which in this case is a bit unrealistic given the scale. Or could I use this instead for calibration?
Finally a short question on triangulation. There are multiple algorithms out there, [Triangulation
Richard I. Hartley] my understanding is that L2-norm solutions such as the polynomial algorithm are optimal for projection problems, but for my task of 3d-point accuracy then Linear-LS perform better (see GRAPH 2 from paper)?
edit: Considering the distances involved and the complexity in finding good points for matching, would it be unreasonable to consider simply measuring the approximate pose of the cameras with something like a spirit-level + compass?
![C:\fakepath\Hartley.png](/upfiles/15941352889213601.png)
BestTue, 07 Jul 2020 10:22:33 -0500http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/Comment by MysteriousH for <p>Hi, so I am looking at tracking and triangulating the position of a flying target (large portions of the camera view is the sky!) that is a couple of kilometres away. This means that the camera pair used for triangulation has to have quite a big baseline, atleast hundreds of meters for any type of accuracy in the triangulation. I am a bit confused however how to perform this task especially the calibration part. </p>
<p>For calibration of the camera pair I thought I could use block matching and the result to estimate the fundamental matrix (OpenCV findFundamental). Since I know the camera intrinsics I could from this determine the essential matrix and since I also know the translation vector I could calculate the rotation matrix. Finally since this would yield the relation between the cameras, but not the world coordinates final step would be using a couple of known points (about 5-7 in world coordinates) with solvePnP to find one of the cameras orientation relative the world frame. With this I could now form my projection matrices for my cameras used in the triangulation step.</p>
<p>My questions are:</p>
<ul>
<li><p>Is the general idea correct or is there something I am missing?</p></li>
<li><p>I have also locked at using stereoCalibrate, but my understanding is that it requires the use of a calibration pattern, which in this case is a bit unrealistic given the scale. Or could I use this instead for calibration?</p></li>
</ul>
<p>Finally a short question on triangulation. There are multiple algorithms out there, [Triangulation
Richard I. Hartley] my understanding is that L2-norm solutions such as the polynomial algorithm are optimal for projection problems, but for my task of 3d-point accuracy then Linear-LS perform better (see GRAPH 2 from paper)?</p>
<p>edit: Considering the distances involved and the complexity in finding good points for matching, would it be unreasonable to consider simply measuring the approximate pose of the cameras with something like a spirit-level + compass?</p>
<p><img alt="C:\fakepath\Hartley.png" src="/upfiles/15941352889213601.png"></p>
<p>Best</p>
http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232219#post-id-232219Thank you LBerger for the paper recommendation, looks quite interesting! I'll read it in more detail tomorrow, but it does seem like quite a simple and elegant solution to my problem. Although using stars as reference won't work since in my case it has to work in a part of the world where the sun never sets during certain parts of the yea :)Tue, 07 Jul 2020 15:36:04 -0500http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232219#post-id-232219Comment by LBerger for <p>Hi, so I am looking at tracking and triangulating the position of a flying target (large portions of the camera view is the sky!) that is a couple of kilometres away. This means that the camera pair used for triangulation has to have quite a big baseline, atleast hundreds of meters for any type of accuracy in the triangulation. I am a bit confused however how to perform this task especially the calibration part. </p>
<p>For calibration of the camera pair I thought I could use block matching and the result to estimate the fundamental matrix (OpenCV findFundamental). Since I know the camera intrinsics I could from this determine the essential matrix and since I also know the translation vector I could calculate the rotation matrix. Finally since this would yield the relation between the cameras, but not the world coordinates final step would be using a couple of known points (about 5-7 in world coordinates) with solvePnP to find one of the cameras orientation relative the world frame. With this I could now form my projection matrices for my cameras used in the triangulation step.</p>
<p>My questions are:</p>
<ul>
<li><p>Is the general idea correct or is there something I am missing?</p></li>
<li><p>I have also locked at using stereoCalibrate, but my understanding is that it requires the use of a calibration pattern, which in this case is a bit unrealistic given the scale. Or could I use this instead for calibration?</p></li>
</ul>
<p>Finally a short question on triangulation. There are multiple algorithms out there, [Triangulation
Richard I. Hartley] my understanding is that L2-norm solutions such as the polynomial algorithm are optimal for projection problems, but for my task of 3d-point accuracy then Linear-LS perform better (see GRAPH 2 from paper)?</p>
<p>edit: Considering the distances involved and the complexity in finding good points for matching, would it be unreasonable to consider simply measuring the approximate pose of the cameras with something like a spirit-level + compass?</p>
<p><img alt="C:\fakepath\Hartley.png" src="/upfiles/15941352889213601.png"></p>
<p>Best</p>
http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232218#post-id-232218https://www.sciencedirect.com/science/article/pii/S0263224114000517Tue, 07 Jul 2020 15:12:02 -0500http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232218#post-id-232218Comment by MysteriousH for <p>Hi, so I am looking at tracking and triangulating the position of a flying target (large portions of the camera view is the sky!) that is a couple of kilometres away. This means that the camera pair used for triangulation has to have quite a big baseline, atleast hundreds of meters for any type of accuracy in the triangulation. I am a bit confused however how to perform this task especially the calibration part. </p>
<p>For calibration of the camera pair I thought I could use block matching and the result to estimate the fundamental matrix (OpenCV findFundamental). Since I know the camera intrinsics I could from this determine the essential matrix and since I also know the translation vector I could calculate the rotation matrix. Finally since this would yield the relation between the cameras, but not the world coordinates final step would be using a couple of known points (about 5-7 in world coordinates) with solvePnP to find one of the cameras orientation relative the world frame. With this I could now form my projection matrices for my cameras used in the triangulation step.</p>
<p>My questions are:</p>
<ul>
<li><p>Is the general idea correct or is there something I am missing?</p></li>
<li><p>I have also locked at using stereoCalibrate, but my understanding is that it requires the use of a calibration pattern, which in this case is a bit unrealistic given the scale. Or could I use this instead for calibration?</p></li>
</ul>
<p>Finally a short question on triangulation. There are multiple algorithms out there, [Triangulation
Richard I. Hartley] my understanding is that L2-norm solutions such as the polynomial algorithm are optimal for projection problems, but for my task of 3d-point accuracy then Linear-LS perform better (see GRAPH 2 from paper)?</p>
<p>edit: Considering the distances involved and the complexity in finding good points for matching, would it be unreasonable to consider simply measuring the approximate pose of the cameras with something like a spirit-level + compass?</p>
<p><img alt="C:\fakepath\Hartley.png" src="/upfiles/15941352889213601.png"></p>
<p>Best</p>
http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232217#post-id-232217The paper can be found here https://perception.inrialpes.fr/Publications/1997/HS97/HartleySturm-cviu97.pdfTue, 07 Jul 2020 14:46:08 -0500http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232217#post-id-232217Comment by Eduardo for <p>Hi, so I am looking at tracking and triangulating the position of a flying target (large portions of the camera view is the sky!) that is a couple of kilometres away. This means that the camera pair used for triangulation has to have quite a big baseline, atleast hundreds of meters for any type of accuracy in the triangulation. I am a bit confused however how to perform this task especially the calibration part. </p>
<p>For calibration of the camera pair I thought I could use block matching and the result to estimate the fundamental matrix (OpenCV findFundamental). Since I know the camera intrinsics I could from this determine the essential matrix and since I also know the translation vector I could calculate the rotation matrix. Finally since this would yield the relation between the cameras, but not the world coordinates final step would be using a couple of known points (about 5-7 in world coordinates) with solvePnP to find one of the cameras orientation relative the world frame. With this I could now form my projection matrices for my cameras used in the triangulation step.</p>
<p>My questions are:</p>
<ul>
<li><p>Is the general idea correct or is there something I am missing?</p></li>
<li><p>I have also locked at using stereoCalibrate, but my understanding is that it requires the use of a calibration pattern, which in this case is a bit unrealistic given the scale. Or could I use this instead for calibration?</p></li>
</ul>
<p>Finally a short question on triangulation. There are multiple algorithms out there, [Triangulation
Richard I. Hartley] my understanding is that L2-norm solutions such as the polynomial algorithm are optimal for projection problems, but for my task of 3d-point accuracy then Linear-LS perform better (see GRAPH 2 from paper)?</p>
<p>edit: Considering the distances involved and the complexity in finding good points for matching, would it be unreasonable to consider simply measuring the approximate pose of the cameras with something like a spirit-level + compass?</p>
<p><img alt="C:\fakepath\Hartley.png" src="/upfiles/15941352889213601.png"></p>
<p>Best</p>
http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232215#post-id-232215For my curiosity, can you add the title or a direct link to the paper where the figure comes from?Tue, 07 Jul 2020 14:24:23 -0500http://answers.opencv.org/question/232210/advice-on-calibration-and-triangulation-for-large-scale/?comment=232215#post-id-232215