サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
daily-tech.hatenablog.com
ということで,下記の魚眼カメラのキャリブレーションエントリからの「スピンオフ?」としてホモグラフィー行列の計算エントリを書き残します. daily-tech.hatenablog.com 0.ホモグラフィー行列とは何か? 平面を撮影した2つの画像は射影変換と呼ばれる関係で結ばれます.って,これだけ書くと意味わかんないんで図を書いてみます. 射影変換とホモグラフィー行列 3年前に画像処理を勉強し始めて本を読んだ時には,「で,それがなんなの?」と思ってたんですが,これって結構役に立ちます.大事なことは上述の「ホモグラフィー行列Hがわかっていれば,カメラAに写っているキャリブボードと同一平面上にある点のカメラBでの座標を計算できる」というところで,自動車に搭載されているアラウンドビューモニタなんかもこれを使ってます.(ちなみに,”同一平面に”というのがポイントで,同一平面上にない点は変なところに
前回のエントリでC++のファイルをビルド・デバッグする方法を扱いました.自分で一からファイルを作って,作ったファイルをすべて g++ の引数に渡してビルドして....ということもあるかもですが,大体は規模が大きくなってくると CMake を使うと思います.このエントリでは,VSCODE と CMake を連携させて使う方法です. 1.インストール方法 まず,CMake と連携させて VSCODE を使うには,Extensionをインストールする必要があります. インストールするのは,下記の2つです. 2.サンプルプロジェクトの作成 次に,サンプルプロジェクトのためのワークスペースを作ります. 次に,サンプルのプロジェクトを作成します.Ctrl + Shift + P でコマンドパレットを開き,CMakeと入力すると CMake 関連のコマンドがいっぱい出てきます. 次に,サンプルプロジェク
ということで,つくばチャレンジも一段落した今,ちょっと基礎的なエントリです. 仕事では Visual Studio を使って Windows メインで開発をしてるんですが,エディアとか IDE とかってなれるまでに時間がかかリますよね...なのでちょっと億劫だったんですが,流石に gedit でやるのも効率があんまり良くないかな..と思い,Linux でも何かエディタをつかうことにしました.C/C++ のエディタって,みんな eclipse CDT を使っているのかな?と思ってたんですが,最近はあまり eclipse ってつかわれてないんですかね?いろいろ記事を詠んでみると Visual Studio Code を扱っている記事が多かったので,ちょっと Eclipse CDT と Visual Studio Code を勉強&比較してみることにしました. 1.インストール方法 1.1 VS
読者の皆様,いかがお過ごしでしょうか?昨年はブログ毎月更新を目標にしながらも,まさかの1年ぶり投稿させていただきます(笑)相変わらずのやるやる詐欺だな~...と苦笑いしながらも,今年こそはもう少し更新します.目標は4半期に1度更新!( ゚Д゚) で,管理が煩わしいことと1人で細々と仕事を受けるスタンスなので,会社のホームページを作ってなかったのですが,せっかくなのでブログを簡易的な会社紹介の場所にもしてしまおうと思いまして,はてなブログの法人プランに申し込んでそちらでブログを書いていくことにしました.まだ記事は書けてませんが... codeeye-robotics.hatenablog.com この機会に,今までの記事をリライトしてから新しいほうに移そうと思ったのですが,おそらくやるやる詐欺になると思うので(笑),そのまま新しいほうに移してこちらを閉じようと思っています.ただ,タイトルも同
いよいよつくばチャレンジに向けての具体的な”ロボット工作”的投稿です.突然ですが,最近の車についてるアラウンドビューモニタってご存じですか?駐車しようとしたときに,ナビに表示される車全体を上から見たような絵のことです. アラウンドビューモニター | 日産|技術開発の取り組み 自分は画像処理の経験が浅いからかもしれませんが,これって本当にすごいと思います.実際にはカメラは車両のバンパやサイドミラーに”斜め下向き”についているので,カメラから得られる画像そのものはもちろんトップビューではないんですが,カメラと車の正確な位置情報をつかってえられた画像を変換してやることで,まるで地面を上から見ているような映像に変えることができるわけです. で,これがつくばチャレンジのロボットとなんの関係があるの?という話なんですが,ロボットの自己位置推定にトップビュー変換した画像を使えないかと考えているわけです.
前回のエントリ「カメラの位置・姿勢推定0 透視投影モデルと座標系の定義」で若干フライングしてしまいましたが,このエントリで斉次座標(Homogeneous Coordinate)を導入します.前回のエントリから,カメラ座標系から見た三次元の点(X, Y, Z)を正規化画像座標系に投影すると下記のように表されることがわかりました. 上式を見ればわかるように,3Dから2Dに変換する計算をするときに簡単な行列の連鎖式で表現できません.任意の世界座標(Xw, Yw, Zw)の投影点をもとめる式も計算しましたが,計算式が複雑になってくるとこれは面倒極まりないので,投影点を3Dの座標とみなします.3Dの座標とみなした場合,正規化画像座標系ではスクリーンは Z = 1 の場所にあるので,投影点は (x, y, 1) と表現されます.これを表現すると となります. 斉次座標系の導入 本当は2Dの投影点を(
引き続きカメラの位置・姿勢推定問題です.PNP問題の解き方をまとめます. 問題分類のエントリで書いたように,下記を前提とします. 前提条件1:カメラの内部パラメータがわかっている. 前提条件2:基準となる座標系(ワールド座標系)が定義されており,撮影する物体(の各点)のワールド座標系での位置が事前に分かっている. 問題設定 解こうとしている問題のイメージ 上記の前提を図示してみると,下記のようなイメージかと思います.ここで,Xiは各点のワールド座標系での位置,xiはその各点をカメラで撮影した時の画像座標系での投影点です. 家の頂点五点が赤く塗られていますが,この頂点のワールド座標系での位置が分かっているとします.この時にカメラで撮った家の写真をみて,「この写真をとったカメラの位置は?」を求めるのがこの問題です.ちなみに,上記の絵に記載されている「R, t」がカメラの位置になります. アルゴ
仕事で回転行列でドはまりし,数日悩みました.... 結局いろいろと教えてもらって解決したのですが,「沖縄三次元復元プロジェクト」にも大いに関係するのでちょうどいい機会と思い,座標変換をきちんと勉強して整理することにしました. 1.回転の表現方法 回転の表現方法には,固定角,オイラー角,クオータニオン等,いろいろとありますが,ここではひとまず固定角とオイラー角について考えます. 固定角 座標Aを回転変換させて,座標Bに変換することを考えた場合に,座標Aの各軸(固定)について回転することを前提に角度表現する方法です. つまり,固定角表現で「X軸周りに30度,Y軸周りに45度,Z軸周りに90度」といった場合は,座標Aの各軸周りに回転させることになります. オイラー角 座標Aを回転変換させて,座標Bに変換することを考えた場合に,都度都度回転させた座標系の軸に関しての回転で角度表現する方法です. つ
つくばチャレンジに使うネタとして LSD-SLAM の論文を読んだので,そのまとめとメモ. 0. アブストラクト 特徴点を用いず,画素値を直接的に用いて単眼 SLAM を実現するアルゴリズムを提唱する.このアルゴリズムは近年提唱されている画素値を直接的に使用する方法とは異なり,大きなスケールで一貫したマップを作成するができる.画素値直接利用法を用いてイメージ間のアラインメントを実施することによって高精度なポーズを推定することが出来,3 次元環境を実時間で再構築することが出来る.ここで,3 次元環境はキーフレームのポーズグラフで表現されており,またそれぞれのキーフレームには準深度マップがひも付けられている.これら(キーフレーム,準深度マップ,ポーズグラフ)は,短基線長ステレオ比較をピクセルレベルで繰り返し行うことによってフィルタリングされ,リファインされていく.明示的にスケールドリフトを取り
このページを最初にブックマークしてみませんか?
『Daily Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く