2017-12-28 17 views
0

iPhoneカメラを使用して特定の画像を認識する必要があります。私の目標は、カメラの前に印刷物や他のディスプレイが存在するときに、その画像を認識するように、20枚の画像を設定することです。画像内のオブジェクトではなく、特定の画像を認識します

クラシファイア(CoreML)を使用することを考えましたが、意図した結果が得られないと思います。たとえば、果物を認識するモデルがあり、それにバナナの2つの異なる写真を示したら、両方ともバナナと認識しますが、これは私が望むものではありません。そのコンテンツに関係なく、アプリに特定の画像を認識させたい。

私が望む振る舞いは、ARToolKitが行うもの(https://www.artoolkit.org/documentation/doku.php?id=3_Marker_Training:marker_nft_training)ですが、私はこのライブラリを使用したくありません。

私の質問は次のとおりです。他のライブラリやその他の方法で、iOS上のカメラからの特定の画像(スウィフトが好ましい)を認識できるかどうかです。

答えて

0

私自身の質問に答える。

OpenCVを使用して特定の画像を認識するこのawesome tutorialに続いて、このコードにSwiftがアクセスできるようにラッパーを作成する方法を教えています。

0

ユースケース固有のイメージを使用しているため、使用できる既存のモデルは存在しません。モデルを作成して訓練し、CoreMLにインポートする必要があります。私はあなたのイメージについて何も知らないので、特定のアドバイスを提供するのは難しいです。

ライブラリーに関する限りcheckout this listおよびSwift-AIです。

Swift-AIにはneural networkがあります。十分な画像があればトレーニングすることができます。

ほとんどの場合、Pythonなどの別の言語でモデルを作成し、Xcodeプロジェクトにインポートする必要があります。

this questionをご覧ください。

This blog postは、CoreMLの独自のモデルを学習する方法について詳しく説明しています。

あなたのモデルを構築するには、おそらくケーラが最適です。 this tutorialをご覧ください。

他にも20枚しかないような問題があります。確かに、正確なモデルを訓練するには十分ではありません。また、ユーザは、これらの画像の修正版を提示することができる。あなたはそれぞれの可能なイメージの現実的なサンプルを生成し、その全体のセットを使用してモデルをトレーニングする必要があります。私はあなたが各画像(最低400枚)の画像を最低20枚必要とすると思います。

イメージを事前処理して、イメージの既知の機能と比較できる機能を抽出したい場合があります。これが顔認識の仕組みです。 Hereは、フィーチャの抽出に役立つ顔認識のガイドです。

画像に基づいたモデルを使用せずに単純に配置すると、あまり効果が上がりません。

+0

私はあなたのことを理解していますが、モデルの作成は私が望むものを達成するとは思いません。私が必要とするのは、特定の画像を認識することであり、その中のオブジェクト/顔ではありません。 –

+0

そして、それらの画像を認識するために、あなたはアルゴリズムを訓練する必要があります。画像は常に正確に同じですか? – DoesData

+0

はい、画像は変更されません。それらは認識される必要がある20のイメージの特定のセットです。画像の内容は問題ではありません。 –

関連する問題