14章TensorFlowのオブジェクト検出APIを使った猫発見アプリ

 Aさんは近所の野良猫の侵入に悩んでいました。彼の家にはかなり大きな庭があり、Aさんが手間ひまをかけて整備しています。しかしこの庭に小さな野良猫が毎晩やって来て、草木を食い荒らしてしまいます。数ヶ月の苦労が、ひと晩で台無しです。明らかに望ましくないこのような事態を前にして、Aさんは何らかの対策を迫られています。

 彼の内なるペット探偵の声に耳を傾けると、一晩中寝ずに猫を追い払うべきとのことでした。しかし、これは明らかに長期的な解決策ではありません。レッドブルがいくら翼を授けてくれても、これは無理な話でした。夜更かしに挫折した後、彼は最終兵器を考案しました。庭のスプリンクラーとAIを組み合わせて、猫たちに放水しようというものです。

 広い庭の各所にカメラを設置し、猫の動きを追尾します。そして近くのスプリンクラーが作動し、猫を驚かせるというしくみです。どのスプリンクラーから放水するかを決めるためには、彼の古いスマートフォンの上で猫の位置をリアルタイムに特定する手段が必要です。

 図14-1のように排除のシャワーを浴びせることができたなら、猫たちはAさん宅の庭を荒らす動機を失うでしょう。

図14-1 Havahart Spray Away Motion Detectorによる放水の様子。本書ではこれと同様のものを、AIを使って作成する

図14-1 Havahart Spray Away Motion Detectorによる放水の様子。本書ではこれと同様のものを、AIを使って作成する

実際の猫は3次元空間内に存在するのに、この章でのシステムは2次元空間上で位置を特定しようとしているのではと気づかれたかもしれません。実世界での猫の位置を特定するという問題を単純化するために、カメラの位置が常に不変だという前提を設けています。猫までの距離を推定する際には、平均的なサイズの猫を一定間隔ずつ移動させながら写真を撮影しておき、見かけ上のサイズと比較することにします。例えば、平均的な猫をカメラから2フィート離して撮影するとバウンディングボックス(オブジェクトを囲む四角形)の高さが300ピクセルになり、3フィート離すと250ピクセルになるといった具合です。 ...

Get ディープラーニング実践ガイド ―クラウド、モバイル、ブラウザ、エッジデバイス向けAIアプリ開発入門 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.