🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Q&A

解決済

1回答

827閲覧

カメラキャリブレーションについて

sugar1234

総合スコア7

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

0グッド

0クリップ

投稿2019/12/03 10:02

前提・実現したいこと

高速度カメラに7×10のチェスボードを用いてカメラキャリブレーションを行いました。
イメージ説明
画像が暗くなってしまうので下からライトを当てながら撮りました。
このような23枚の画像を読み込み、その結果が以下のようになりました。

Re-projection Error{再投影誤差(単位:pixel)}
1.298984

cameraMatrix(内部パラメータ)
fx=2157.226484 fy=2160.432303 cx=581.986170 cy=470.316681

distCoefs(歪み係数)
k1=-0.476773 k2=1.241928 p1=0.003721 p2=0.001493 k3=-4.658126

rotation vector(回転ベクトル)
calib0 00-2.1820 00-2.1852 00-0.0419
calib1 00-2.2293 00-2.1746 0000.1353
calib2 00-2.1398 00-2.1824 0000.0633
calib3 00-2.1508 00-2.1203 0000.0316
calib4 00-2.1501 00-2.1530 00-0.0059
calib5 00-2.2124 00-2.1660 0000.0227
calib6 00-2.1981 00-2.1783 0000.0217
calib7 00-2.2095 00-2.2482 0000.0849
calib8 00-1.8099 00-1.6424 0000.6569
calib9 00-2.1265 00-2.2063 00-0.0410
calib10 00-2.1663 00-2.1662 00-0.0375
calib11 00-2.1568 00-2.1801 00-0.0336
calib12 0002.1640 0002.2480 0000.0668
calib13 0001.9753 0001.9201 0000.5427
calib14 0002.2724 0002.2709 0000.1871
calib15 0002.2686 0002.2982 0000.2684
calib16 00-2.1959 00-2.0559 00-0.0964
calib17 00-2.1485 00-2.1268 00-0.1304
calib18 00-2.1177 00-2.0838 00-0.0953
calib19 0002.0571 0001.9747 0000.4672
calib20 00-1.6696 00-1.6508 0000.6555
calib21 0002.0111 0001.9258 0000.4846
calib22 00-1.7076 00-1.6553 0000.5471

translation vector(並進ベクトル)
calib0 -174.6360 0014.3845 0757.9859
calib1 -150.5165 0015.4698 0765.2065
calib2 0-83.7889 0013.6918 0745.4777
calib3 0-68.3467 0015.3951 0734.5786
calib4 0-29.5227 0015.5938 0736.0257
calib5 -170.9549 0-21.6337 0758.2902
calib6 -147.9151 0-22.4743 0758.1192
calib7 -111.7796 0-24.8466 0735.8382
calib8 0-63.9034 0-28.0314 0648.1615
calib9 0-16.9749 0-22.5742 0773.8457
calib10 -131.8730 0-80.7123 0668.1344
calib11 0-95.8478 0-80.7125 0666.1797
calib12 0-72.6412 0-81.7120 0636.2734
calib13 -118.1041 0-25.9713 0598.7871
calib14 0-47.7533 -112.1342 0680.9713
calib15 0-29.3507 -109.7199 0668.8997
calib16 -137.5584 -108.6199 0683.0423
calib17 -119.7802 -111.2627 0680.7841
calib18 -140.5364 -109.7441 0693.9605
calib19 -123.5509 -111.1064 0608.6008
calib20 0-21.3599 0-89.4371 0642.0774
calib21 -123.8839 0-61.6887 0588.5006
calib22 0-40.7627 0-65.8743 0667.3411

###質問したいこと
再投影誤差を小さくする良い方法を教えていただきたいです。
ライトの当て方やチェスボードのマス目の数は精度に影響してくるのでしょうか。
初歩的な質問で申し訳ありません、ご回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

撮影時に気を付けることなどは前の質問の回答に書かれていますが,その他の観点としては…

  • 単純に撮影枚数が少ないということはないでしょうか?
  • パターン撮影画像毎に,パターン認識結果を描画なりして確認するようにしてください.
    特徴点の検出座標がずれてしまっているような絵があると精度に響きます.
  • 同様に,校正後の各特徴点の再投影座標もパターン撮影画像毎に描画なりして確認し,「何故かこの絵だけ(他よりも)妙にずれている」みたいな絵が見つかった場合には,その絵のデータを取り除いて再度校正計算を行うと良いこともあります.
  • 歪の係数をもうちょっと増やしてみるという方向もあります(k4とかk5とかまで使う)

逆に,p1やp2は無くてもよいかもしれません.

投稿2019/12/04 02:00

fana

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fana

2019/12/04 02:03

後は,(効果無い可能性が高いですが)校正計算で得られたパラメータ群を初期値として用いた校正計算をさせてみるとか. (最適化処理の過程次第では別の解に行くかもしれない,という観点)
sugar1234

2019/12/04 04:44

回答ありがとうございます。特徴点の検出が正しく出来ているか確認しながらもう一度撮影を行おうと思います。ありがとうございます。
fana

2019/12/04 04:53

単なる個人的な考えですが, この手の質問の場合,結果がわかるまで解決とするのを保留しておいてよいと思いますよ. 例えばこの回答の箇条書きのどの話も実際の原因を捉えていないかもしれず,その場合は「解決していない」わけですので.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問