を楽しいプロジェクトとして認識しています。実装するのが楽しいだけでなく、私がそれを展示したすべての人のための荷物のための荷物を作ることを終えたのですが、ほとんどハッカースペースやそのような集会での人々のために楽しい荷物を作ることになった。はい、Pornographic – Cheeky Hackersに囲まれています。
追加されたメイナが指摘されていることは、インストールされたら、インターネットアクセスは必要ありません。これは最先端のスタンドアロンのオブジェクト認識です。
しかし、それは広範囲にわたる役に立つAIになりますか?ニューラルネットワークがその周りのすべてのオブジェクトを認識できる場合は、人間のようなスキルになりますか?読む。
オブジェクト認識の実行方法
Inception Object Recomentizerの内部
実装は次のとおりです。
ラズベリーPI 3モデルB.
アンプとスピーカー
ピカメラ
瞬間SWTICH.
Piのための携帯電話の充電器のバッテリー
必要なソフトウェアの中心部は、TensorFlowフレームワークを使用して実装されているGoogleのInception Neuralネットワークです。画像認識のためにTensorflowチュートリアルに従ってダウンロードできます。 PythonやTensorflowがわからない場合は、チュートリアルはどんなプログラミングも含まれません。つまり、私がしたようにサンプルコードを変更することがない限り。
Classify_Image.py印刷はパンダを見ました
サンプルコードは、Pandaの写真を含む固定ファイルファイルを取り、オブジェクト認識を行います。それはパンダを見たと印刷することによって結果を与えます。しかし、それは十分な楽しみではありませんでした。
私はいくつかのテキストへの音声ソフトウェアと祭りを見つけたのを捜した。それがパンダを見たいと思うとき、私はLinuxシェルで祭りを運営するためにサンプルコードを修正し、実際に「私はパンダを見た」と話すように話すように言う。
Audio PlayerHTTPS://hackaday.com/wp-content/uploads/2017/06/classify_speak_panda_audio.wav.
00:00
00:00
00:00
しかし、それでも十分に楽しんではありませんでした。私はPicameraをラズベリーPIに接続し、それは写真を撮って、オブジェクト認識を行うためにテンスフローコードにそれを与えました。野外では、それは私の写真に推論を推測しました。
そして最後に、それをすべて本当に簡単にするために私はPIのGPIOピンの1つにモンサムスイッチを接続し、瞬間的なスイッチが押されたときに写真を撮った。
これ以前のPythonプログラムのmain()関数があります…
1
2.
3.
4.
5.
DEFメイン(_):
mays_download_and_extract()
image =(flags.image_fileの場合、flags.image_file他の場合
os.path.join(flags.model_dir、 ‘cropped_panda.jpg’)))
RUN_INENCER_ON_IMAGE(イメージ)
… 以降。
1
2.
3.
4.
5.
6.
7
8.
9.
10.
11.
12
13.
14.
15
16.
17.
18.
19
20.
二つの
22
23.
24
25.
26.
27 27
DEFメイン(_):
OS.System(" echo%s |祭り–tts"%"私の脳を準備しながら待って…
mays_download_and_extract()
#保存したgraphdefからグラフを作成します。
create_graph()
#スイッチの準備
GPIO.SetMode(gpio.bcm)
GPIO.Setup(17、GPIO.IN)
カメラ= Picamera()
OS.System("エコー%S |祭り–tts"%"私は物事を見る準備ができています。")
真実ですが:
#スイッチのループ
while(gpio.input(17)== gpio.low):
time.SLEEP(0.01)
#ファイルにスナップショットを作成して書きます
image = os.path.join(flags.model_dir、 ‘seeing_eye_image.jpg’)
Camera.Capture(イメージ)
OS.System("エコー%S | Festival –tts"%"私はあなたが私を見せたものについて考えています…")
HUMAN_STRING = RUN_INENCE_ON_IMAGE(イメージ)
OS.System(" echo私は%sを見た。
os.system()への呼び出しは、スピーカーに何かを言うように祭りのテキストへのプログラムを実行する場所です。
moley_download_and_extract()は、GoogleのInception Neuralネットワークがまだ存在していない場合は、インターネットからダウンロードされる場合があります。デフォルトでは、RAMディスク上にある/ tmp / imageNetにダウンロードします。これを初めて、SDカードの/ TMP / ImageNetから/ TMP / ImageNetにコピーし、Inceptionネットワークを見つける場所を含むコマンドラインを使用してプログラムを実行しました。
Inceptionオブジェクト認識機器を実行しています
create_graph()の呼び出しは、run_inference_on_image()関数内から移動されました。 create_graph()ニューラルネットワークを設定します。これは一度だけ行われます。以前はプログラムはワンショットの取引でしたが、今度はループを介してRUN_INENCE_ON_IMAGE()を呼び出すループ中に無制限です。明らかに、ニューラルネットワークを設定することはあなたが一度だけ行うものです(グラフについてはるかに多くの場合、テンソルフローの紹介を参照)。それはループの上に移動する必要がありました。
RUN_INENCE_ON_IMAGE()関数は、オブジェクト認識を行うために画像がニューラルネットワークに与えられる場所です。それはそれがイメージの中にあったものは何でも印刷するために使いましたが、代わりにオブジェクトが考えることを含むテキスト文字列を返しました。だから最後の行はそれが言う場所です「私はコーヒーのマグカップ」をアンプとスピーカーに見ました。
ボクシングすべてのものは私に持ち運び、誰でも試してみることができる小さなスタンドアロンのパッケージを与えました。これがアクションのビデオです。
改善は、ユーザーがビデオカメラが見るものを見ることができるように小さな画面を追加することですが、ピカメラは広範囲の角度を持ち、スクリーンが必要ではないことがわかります。
そのオブジェクト認識はどれほど良いことです
TABACCONISTを見ている開始
それを示すことは携帯電話にそれが携帯電話を見たことがあることがよくありますが、場合によってはiPodです。しかし、これまでのところ、水のボトルとコーヒーマグカップが毎回適切になりました。
しかし、それは人々とうまくいきません。私のオフィスで私にそれを指しているのは、それがそれが「タバコ店、タバココニスト店、Tobacconist」を見たことがあると言っています。おそらく機器や私の直後の部品の棚のためにしかし、空白の壁に立っているのは、それがティーシャツを見たこと、それを取り除き、それを取り除き、それは私の裸の上部胴体と頭だけを見ているにもかかわらず、それは「入浴幹、水泳トランク」と言った。 (私はあなたに写真を惜しませます。)
Imagenetサンプル携帯電話のイメージ
Imagenetサンプルコーヒーマグ画像
ニューラルネットワークは、2012年の大きな視覚認識チャレンジからのバージョンであるImageNetと呼ばれるデータセットで訓練されています。データセットは1000クラスに分かれている画像の膨大なコレクションで構成されています。各クラスは特定のオブジェクトのイメージを含む。あなたが携帯電話クラスからこの小さなサンプルから見ることができるように、いくつかの電話画像は少し日付です。ただし、コーヒーマグカップなどの物は時間とともに変わりません。
しかし、それは楽しんで遊んだ人が遊んだりし、視界を見つけたり、それを想像できるものを見ることができるものを見て振ったりするように、それを見て視界を歩き回って歩き回りませんでした。
それはあなたができる最善のことですか?
まず、最初に、それぞれの認識はRaspberry Pi 3で約10秒で約10秒かかりますので、スピードアップまたはより速いプロセッサ、好ましくはCUDA対応のNVIDIA GPUが使用されているのは、現在サポートされているGPU Tensorflowの唯一のタイプです。
開始ニューラルネットは、訓練されたデータと同じくらい良いものです。携帯電話や人々の認識に関する上で指摘した欠陥は、Imagenetデータセットに関する問題です。たった3.46%の時間はその最善の推測のうち5つすべてが間違っているのに対し、同じテストをしているのに対し、5%の最善の推測は間違っています。悪くない。
私たちの短い記事の中で私たちの短い記事で指摘したように、今日の短期メモリ(LSTM)ニューラルネットワークは、ビデオの前に何が起こったのかを考慮しながら、彼らがビデオの単一のフレームで見ることを調べることができます。たとえば、プリペジングシーンがビーチパーティーの場合は、バスケットボールの代わりにビーチボールを見たのは、はるかに自信を持っています。その開始時に開始されたニューラルネットワークとは異なり、その開始はあなたがそれを続けるためにそれを示す画像だけを持っています。
これはどこで私たちになりますか?
人間のようなスキルを備えた広い有用なAIでのオブジェクト認識を改善しますか?眼の進化は、約541百万年前にカンブリア紀爆発として知られる生活形態の爆発の主な原因として述べられていますが、その原因については多くの議論があります。
しかし、それらの目が進化したとき、それらを使用するための脳のいくつかの形態がありました。その脳はすでにタッチ、振動、香りの感覚を扱いました。そのため、オブジェクト認識の向上だけでは革命を引き起こさないでしょう。人間のようなスキルのために私たちのAIははるかに知能を必要とするでしょう。私たちは現在、私たちが必要とするもののビットとアイデアのみを持っています。
私たちのAIが計画できるように予測をする必要があることです。それは、世界の内部モデル、または理解を深めることができ、それらの予測の基礎として使用することができます。ワイヤーにはんだ付け提案を適用する人間のスキルについては、提案が連絡を取り、次にそれに基づいて計画したときに何が起こるのかを予測するでしょう。提案がワイヤに接触すると、物事が予測されない場合はAIが反応します。
一般的な敵対的ネットワーク(GANS)を持つFacebookからの最近の作品は、そのようなモデルと予測機能を含む現在の出発点でヒントすることができます(あなたがGansに慣れていない場合、私たちは再び私たちの短い記事を私たちの短い記事のニューラルネットワークについての私たちの短い記事を参照します。今日を行います。名前の「生成」部分は、それらが画像を生成することを意味します。しかし、はるかに具体的には、これらは深く回復しているGansです。例えば、彼らは窓、ドア、テレビ、そして彼らが部屋に入る場所について知っています。
ADGLビデオ予測
予測をする方法はどうですか? Facebookからのはるかに多くの作業を含みます。敵対的な勾配差損失予測子(AGDL)を使用して、ビデオの次の2フレームが何であるべきかを予測しています。ビリヤードゲームの写真にあなたは花婿を見ることができますD真実、すなわち本当に起こったこと、そしてAGDLネットワークが予測されたもの。 それは将来的にはそれほど遠くないが、それは始まりです。
これらは、ナイーブオブジェクト認識装置から人間のようなスキルを持つ1つまでの経路上の少なくとも小さいステップである。
最後に
開始ニューラルネットワークが以前にオブジェクトを認識しているのを見たことがありますか? 私たちは彼のガレージ/ワークショップのオブジェクトを認識するためにRC車の上でそれを使って覆った。
これは、皆がそのように使うのを楽しく、他の用途を考えてもらえますか? あなたはどのような役立つアプリケーションを考えることができますか? 何を追加することができますか? 以下のコメントでお知らせください。