このプロジェクトでは、機械学習をモノのインターネットに適用する方法を探ります。具体的には、IoT プラットフォームとしてAndroid Thingsを使用し、機械学習エンジンとしてGoogle TensorFlow を使用します。 現在、Android Things は Android Things 1.0 という安定バージョンになっており、実稼働システムで使用できます。すでにご存知かもしれませんが、Raspberry Pi は開発とプロトタイピングのために Android Things 1.0 をサポートできるプラットフォームです。このチュートリアルでは Android Things 1.0 と Raspberry Pi を使用しますが、コードを変更せずにサポートされている他のプラットフォームに切り替えることもできます。このチュートリアルでは、Android Things Raspberry Pi を使用して、モノのインターネット (IoT) に機械学習を適用する方法について説明します。 IoT における機械学習は最もホットなトピックの 1 つです。機械学習の最も簡単な定義は、おそらく Wikipedia にあるものです。
言い換えれば、一度トレーニングすれば、システムは特にプログラムされていなくても結果を予測できるようになります。一方、モノのインターネットと接続デバイスの概念は誰もが知っています。最も有望な分野の一つは、機械学習をモノのインターネットに適用し、エキスパートシステムを構築して、「学習」できるシステムを開発する方法です。さらに、この知識は物理的なオブジェクトの制御と管理にも使用できます。 Android Things の詳細に入る前に、まずデバイスにインストールする必要があります。 Android Things を初めて使用する場合は、デバイスに Android Things をインストールする方法に関するこのチュートリアルをお読みください。 機械学習と IoT を適用することで大きな価値を生み出すことができる領域はいくつかあります。以下に、興味深い領域をいくつか挙げます。
このチュートリアルでは、Android Things と TensorFlow を使用して、機械学習をモノのインターネットに適用する方法について説明します。このAdnroid Things IoTプロジェクトの基本的なアイデアは、前方の道路上の基本的な形状(矢印など)を認識し、道路の方向を制御できる自動運転車の構築方法を探ることです。 Android Things を使用して自動運転車を構築する方法についてはすでに説明しましたので、このプロジェクトを開始する前にそのチュートリアルを読むことをお勧めします。 この機械学習と IoT プロジェクトでは、次のトピックを取り上げます。
このプロジェクトは、Android Things TensorFlow 画像分類器から生まれました。 さあ始めましょう! 画像認識にTensorflowを使用する方法始める前に、TensorFlow 環境をインストールして構成する必要があります。私は機械学習の専門家ではないので、TensorFlow 画像認識エンジンを構築できるように、何か迅速かつ便利なものを見つける必要がありました。これを行うには、Docker を使用して TensorFlow イメージを実行します。手順は次のとおりです。 1. TensorFlow リポジトリをクローンします。
2. このプロジェクトで使用するすべてのファイルを保存するディレクトリ ( 3. Dockerを実行します。
このコマンドを使用すると、インタラクティブな TensorFlow 環境を実行し、プロジェクトの作業中に使用するいくつかのディレクトリをマウントします。 TensorFlow をトレーニングして画像を認識する方法Android Things システムが画像を認識できるようにするには、まず TensorFlow エンジンをトレーニングしてモデルを構築できるようにする必要があります。これを行うには、いくつかの画像を収集する必要があります。前述したように、Android Things の無人運転車を制御するには矢印を使用する必要があるため、少なくとも 4 種類の矢印を収集する必要があります。
システムをトレーニングするために、これら 4 つの異なるカテゴリの画像を使用して「知識ベース」が作成されます。
さて、写真を探しに行きましょう。私はGoogle画像検索を使用しましたが、他の方法も使用できます。画像のダウンロードプロセスを簡素化するために、Chrome ダウンロード拡張機能をインストールして、選択した画像をワンクリックでダウンロードできるようにすることができます。トレーニング効果を高めるために、より多くの画像をダウンロードすることを忘れないでください。もちろん、モデルの作成時間はそれに応じて長くなります。 さらに読む
ブラウザを開いて、次の 4 種類の矢印の画像を探し始めます。 TensorFlow 画像分類器 カテゴリーごとに80枚の画像をダウンロードしました。画像ファイルの拡張子については心配する必要はありません。 すべてのカテゴリのイメージに対して次の操作を実行します (Docker インターフェース内)。
このプロセスには長い時間がかかるため、忍耐強く待つ必要があります。完了すると、
最初のファイルには TensorFlow トレーニング プロセスによって生成された結果モデルが含まれ、2 番目のファイルには 4 つの画像クラスに関連付けられたラベルが含まれます。 Tensorflow モデルのテスト方法このモデルをテストして期待どおりに動作するかどうかを確認する場合は、次のコマンドを使用できます。
モデルの最適化Android Things プロジェクトで TensorFlow モデルを使用する前に、最適化する必要があります。
それが私たちのモデルのすべてです。このモデルを使用して、TensorFlow を Android Things と統合し、機械学習を IoT などのタスクに適用します。目標は、Android Things アプリケーションを使用して矢印画像をインテリジェントに認識し、その後の自動運転車の方向制御に反応することです。 TensorFlow とモデルの生成方法について詳しく知りたい場合は、公式ドキュメントとこのチュートリアルをご覧ください。 Android Things と TensorFlow を使用して IoT に機械学習を適用する方法TensorFlow データ モデルの準備ができたので、次のステップである、Android Things を TensorFlow と統合する方法に進みます。この目的のために、このタスクを 2 つのステップに分割します。
Android Things の図周辺機器コンポーネントの接続方法を説明する前に、この Android Things プロジェクトで使用されるコンポーネントのリストを示します。
Android Things を使用してモーターを制御する方法については、以前の記事ですでに説明されているため、ここでは繰り返しません。 ここに図があります: Android Things と IoT の統合 上の写真にはカメラは写っていません。最終結果は次のとおりです。
Android Things と TensorFlow の統合 TensorFlow を使用した Android Things アプリケーションの実装最後のステップは、Android Things アプリケーションを実装することです。これを行うには、Github にある TensorFlow Image Classifier Example というサンプル コードを再利用できます。始める前に、ソース コードを変更できるように Github リポジトリをクローンします。 この Android Things アプリは、次の点で元のアプリと異なります。
LED を点滅させるには、次のコードを使用します。
LED の点滅が止まると、アプリケーションは写真をキャプチャします。 ここで、検出された画像に基づいてモーターを制御する方法について考える必要があります。このメソッドを変更します:
この方法では、TensorFlow がキャプチャされた画像に一致する可能性のあるラベルを返した後、アプリケーションはこの結果を可能性のある方向と比較し、それに応じてモーターを制御します。 ***では、先ほど作成したモデルを使用します。既存のファイルを置き換えるには、
アプリを実行し、カメラにさまざまな矢印を表示して、どのように反応するかを確認します。無人運転車は表示される矢印に従って移動します。 要約するこれでチュートリアルは終了です。Android Things と TensorFlow を使用して IoT に機械学習を適用する方法について説明しました。自動運転車の動きを制御するために画像を使用します。 |
<<: ブロックチェーン技術は人工知能の欠点をどのように解決できるのでしょうか?
>>: 世界はとても広い。AIがあなたと一緒に世界を旅します
近年、人工知能の発展、技術の飛躍的進歩、その応用分野の漸進的な拡大に伴い、人々の生活と福祉の重要な一...
物事の誕生は突然かつ急速です。変化せずに動くものはなく、移行せずに動くものもありません。技術革新のス...
[[317602]]自動化技術はさまざまな職場で広く使用されており、多くの企業がこの急速に発展する技...
今日の物語の主人公は、サンジーヴ・アローラとアニルド・ゴヤルという二人の科学者です。アローラ氏はプリ...
顔認証と指紋認証は、携帯電話のロックを解除する主な 2 つの方法です。私たちは、日常の仕事でも公共の...
最近、Reddit のホットな投稿が機械学習コミュニティで大きな議論を巻き起こしました。 NeurI...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
2019年10月26日、Testinが主催する第2回NCTS中国クラウドテスト業界サミットが北京で開...
概要ファイルアップロードの脆弱性は、アップロード機能を持つアプリケーションで発生します。アプリケーシ...
論文: ディープラーニングの最近の進歩: 概要論文アドレス: https://arxiv.org/p...