7

私は、主要な機能として画像マッチングを組み込んだ iOS アプリを構築しています。問題は、私が認識しなければならない画像が、小さなオリエンテーリング用の 10x10 のプラークで、単純な大きなテキストが表示されていることです。それらは非常に反射する可能性があり、屋外になります(したがって、光の状態は変化します). サンプル画像

ここに画像の説明を入力

プールにはこれらのタイプの画像が最大 15 個あり、実際に検出する必要があるのは、ユーザーがどこにいたかを記録するためにテキストだけです。

私が直面している問題は、私が試した画像マッチング ソフトウェアである aurasma とわずかに成功した arlabs を使用すると、主に詳細な画像を処理するように構築されているため、それらを区別できないことです。

どのプラークがスキャンされているかを正確に検出する必要があり、GPS を使用して選択を絞り込むことを検討しましたが、私が見つけた唯一の信頼できる方法は、ユーザーにテキストを手動で入力させることです。私たちが製品のベースにした重要な魅力の 1 つは、既に配置されているこれらの画像を検出できることであり、追加の素材を設定する必要はありません。

動作するソフトウェア (iOS フレンドリー) や、ユーザーにとって効果的でインタラクティブな検出方法を提案できる人はいますか?

サンプル環境: http ://www.orienteeringcoach.com/wp-content/uploads/2012/08/startfinishscp.jpeg

環境は大幅に変化する可能性があります。フェンス、壁、支柱は、樹木が茂ったエリアまたはオープン エリアのいずれかにありますが、圧倒的に屋外です。

4

2 に答える 2

2

私は iOS プログラマーではありませんが、アルゴリズムの観点から回答しようと思います。基本的に、検出の問題 (「プラークはどこですか?」) と分類の問題 (「それはどれですか?」) があります。プラークを事前定義された領域に保持するようにユーザーに依頼することは、確かに良い考えです。これにより、限られたリソースでは分類問題よりも解決が難しいことが多い検出問題が解決されます。

分類については、次の 2 つの選択肢があります。

  1. 古典的な「コンピューター ビジョン」ルートは、特徴の抽出と分類です。ローカル バイナリ パターンHOGは、モバイルで十分に高速であることが知られている (前者は後者よりも高速である) 特徴抽出器であり、実装するのにそれほど複雑ではありません。ただし、分類子は自明ではないため、おそらく適切な iOs ライブラリを検索する必要があります。

  2. または、画像を 2 値化することもできます。つまり、ピクセルを「プレート」/白または「テキスト」/黒に分類します。次に、2 値化された画像とプラークの 2 値化された参照画像を比較するために、エラー トレラントな類似性測定を使用できます。面取り距離メジャーは良い候補です。基本的には、2 つの 2 値化された画像の距離変換を比較することになります。これは、バイナリ イメージを直接比較するよりも、ミスアラインメントに対してより耐性があります。参照画像の距離変換は、事前に計算してデバイスに保存できます。

個人的には、2番目のアプローチを試してみます。2 番目のアプローチの (非モバイル) プロトタイプは、優れた画像処理ライブラリ (OpenCV、Matlab + Image Processing Toolbox、Python など) を使用して比較的簡単にコーディングおよび評価できます。

于 2013-02-06T17:54:49.637 に答える
1

私は非常にうまく機能している解決策を見つけることができました。まだ完全には最適化されていませんが、後で説明するように、フィルターを微調整しているだけだと思います。

最初にopencvをセットアップしようとしましたが、非常に時間がかかり、学習曲線が急でしたが、アイデアが得られました. 私の問題の鍵は、画像内の文字を実際に検出し、基本的に単なるノイズである背景を無視することです。OCR はまさにこの目的のために設計されました。

無料のライブラリ tesseract ( https://github.com/ldiqual/tesseract-ios-lib ) は使いやすく、カスタマイズ性が高いことがわかりました。最初の結果は非常にランダムでしたが、シャープニングとモノクロ フィルター、およびカラー インバートを適用すると、テキストがクリーンアップされました。次に、UI のターゲット領域をマークし、それを使用して処理する画像の四角形を切り出しました。大きな画像では処理速度が遅く、これにより大幅に削減されます。OCR フィルターにより、許容される文字を制限することができました。プラークは標準的な構成に従っているため、精度を絞り込むことができました。

これまでのところ、灰色の背景プレートで成功していますが、赤と白のエディションに適したフィルターは見つかりませんでした. 私の目標は、色検出を追加し、データ型をフィードする必要をなくすことです。

于 2013-02-16T15:14:02.093 に答える