サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
catalina1344.hatenablog.jp
古典的な方法で画像中からMTGのカードを取り出す実験をしてみます。かたりぃなです。 BRISK特徴点のマッチング実験 わかっててダメもとでやってみました。 ダメでした。はい。 説明省略。 BRISKの使い方間違えていた 前回のエントリでBRISK使ったつもりでしたが、間違えていました。 正しくはこうです auto brisk = cv::BRISK::create(); std::vector<cv::KeyPoint> brisk_kp; cv::Mat descriptors; brisk->detect(img, brisk_kp); brisk->compute(img, brisk_kp, descriptors); cv::Mat brisk_img; cv::drawKeypoints(img, brisk_kp, brisk_img, 255, cv::DrawMatche
どうしてイラストから分類? まず、わざわざDeepLearningフレームワークを使ってイラスト分類する理由です。 最初は安直に「カードに名称書いてあるやん。これ文字認識(OCR)にかければいいでしょ」と思って文字認識API叩いてみました。 結果は惨憺たるもので、とても実用に耐えられるものではありませんでした。 工夫すればなんとかなる気はしますが、仮に英語だけに対応して精度をあげても、同じような苦労を日本語でもやることを考えるとコストかかりすぎです。 というわけで、DeepLearningでモデルを作って機械に分類する方法を作ってもらうことにしました。 MTGの学習用データをつくる 前回のエントリ http://catalina1344.hatenablog.jp/entry/2017/03/30/221959 で、MTGのカードイラストを手に入れることはできました。 これを水増しします。
考えを整理するための個人的なメモ的なものです。かたりぃなです。 画像・動画・音声などから特定の「もの」を認識したいことって多々ありますよね。 少なくとも私の中ではしょっちゅうあります。 さて、今回の記事は物体認識の問題色々調べた結果を自分の中で整理するためのメモです。 基本概念の整理が目的です。 物体認識とは まず物体認識とは何ぞや?という問いについて。物体認識を問題領域の観点から大別して2系統あるようです。 特定物体認識 一般物体認識 まず1について。これが私の欲しい物体認識です。 既知の物体Aについて、画像中のどこに物体Aが存在するか(もしくは存在しない)を調べる 2ですが、画像が何を示しているものなのかを言い当てる(車の画像!とか)物体認識です。 画像処理以外の方面の知識も必要となってくるので、こちらは当面は保留とします。 特定物体認識の古典的手法 古くからあるアルゴリズムとして、次
ARの原理について色々と調べてみました。 結論からいうと、ライブラリを2個組み合わせるだけでそれらしいことはできそうです。 この原理試験を簡単ではありますが試してみたいと思います。 世間ではOpenGVとかvuforiaとかAR向けのフレームワークが出てきていますが、 今回は原理試験が目的なので、フレームワークは使わずにOpenCVとOpenGLを使ってみたいと思います。 ARを実現するための基礎技術として カメラ内部パラメータの推定 カメラ外部パラメータの推定(物体の姿勢推定) が大きな課題だと思います。 検出対象物の姿勢と位置さえわかれば、あとは3Dグラフィックエンジンを叩いてレンダリングするだけです。 今回はこの2つの基礎技術について実験をしてみました。 実験の目的 今回の実験の目的ですが、 カメラキャリブレーション(カメラ内部パラメータ推定)を行わずに手軽にARを実現できないか?
前回のエントリまでで、カードの輪郭抽出までできたので、今回はその輪郭をもとにカードの傾きを求めることにする。 カードの傾きを求めることができれば、そのカードの上にARでモデルを表示するとき、カードの姿勢に追従することができる。 カードの傾きとは「2つのカードのそれぞれの4隅の頂点座標同士を対応付けたとき、の頂点座標の変換行列」といえる。 3Dポリゴンでいうところの透視変換行列ってやつですね。 OpenCvにそれっぽい関数があったので使うことにする。 カードの輪郭をもとに透視変換行列を求めるまでの手順は次のとおり カードの輪郭を求める(findContours関数の引数でCV_RETR_EXTERNALを使えば一番外側の輪郭だけ取れる) カードの輪郭を直線に近似する(approxPolyD) カードの頂点同士の変換行列を求める(findHomography) この手順で得られた変換行列を、乗
このページを最初にブックマークしてみませんか?
『catalinaの備忘録』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く