人を検出する最も安い/最も簡単な方法は何ですか?


15

標準の既製の安価なセンサーを使用して、温かい体の哺乳類(つまり人間)の検出に成功した人がいるかどうかを知りたいのですが。

理想的には、安価なセンサーまたはセンサーの組み合わせを使用して、部屋の中の人を検出し、その人の位置を特定したいと思います。ロボットを部屋に入れて、人がいるかどうかを検出し、検出された人に移動してほしい。コストはより大きな要因であるため、精度は100%である必要はありません。このようなセンサーの計算要件は、Arduinoで実行できるようにしたいのですが、それが不可能な場合は、Raspberry PiやBeagleBone Blackなど、より強力な機能を使用したいと思います。私はいくつかの考えがあります。ただし、それらのいずれも理想的ではありません。

  1. PIRセンサー -大きな視野(通常は120度以上)内の動きを検出できます。私が知っている「人間」の検出器に最も近いものかもしれません。ただし、このような大きな視野では、人がどこにいるのかを移動およびローカライズ/三角測量することは非常に困難です(不可能ですか?)。
  2. 超音波 -オブジェクトを高い精度で検出できます。視野がずっと狭くなっています。ただし、静的な非生物と人間を区別することはできません。
  3. IR検出器 -(シャープレンジセンサーなど)再び非常に狭い視野で非常に正確にオブジェクトを検出できます。ただし、再びオブジェクトを区別することはできません。
  4. Webcam + OpenCV-おそらく顔検出を使用して部屋内の人間を検出します。これが最良のオプションかもしれません。ただし、OpenCVは計算コストが高く、実行するにはarduinoよりもはるかに多くが必要です。Raspberry Piでも、遅くなる場合があります。
  5. Kinect - Kinectの機能検出機能を使用すると、エリア内の人間を比較的簡単に識別できます。ただし、Kinectは高価すぎるため、「安い」ソリューションとは見なしません。

おそらく誰かが体温に合わせて調整された安価な「熱検出器」を知っているか、上記の(#1-4)のいくつかの組み合わせで成功していて、結果を共有したいのでしょうか?


それは人間に限定されているのでしょうか、それともエドさんも認識すべきですか?
ott--

温かい哺乳類。屋内で使用されるため、エド氏はそこにいるべきではありません。しかし、彼がいた場合、彼は検出されます。=)
ヤマ

Kinectが実際にそれほど高価ではないことを(私が似たようなものを探していたとき)私は理解させられました。ただし、適切に動作するには最小距離が必要です。それでもあなたの要件のためにそれは動作するかもしれません、そして私はそれのためにそこにたくさんのコードがあると確信しています。
ガラハッドII

どのソリューションを使用しましたか?もっと長い距離のものを見つけましたか?
-Crashalot

実際に質問があります。AudrinoのアナログピンのIRセンサーを使用して、人間の脈拍数を検出できますか?もしそうなら、どのように?助けてください
サパナ

回答:


7

パッシブ赤外線検出器(PIR)とソナーレンジファインダー(SRF)の組み合わせでうまくいくはずです。

私にとって以前はうまく機能していました(人間は見つかりませんでしたが、非常に似ています)左右に2つのPIRを向けて、中央で少し重なるようにしました。
次に、人間が左、右、または正面にいるかどうかを判断できます(両方がオンの場合)。基本的には、これをSRFの上にスタックして、範囲などを通知します。少し汚いため、いくつかの前提を立てる必要がありますが、簡単にするためにうまく機能します。

2つのPIRの擬似コードは、次のような非常に単純なものです。

amount = 60; //degrees
while (notCloseEnough)
{
  if (bothActive)
    forward;
  else 
  {
    if (leftActive)  
      turnLeftByAmount(amount);
    else
      turnRightByAmount(amount);
    amount = amount - 5;

    //recalibrate
    if (amount <= 0)
      amount = 60;
  }

  checkIfCloseEnough();
}

アイデアは、そのエリアで何かを見たら、あなたは片側(60度)に多くを回すということです。ターン後に彼らがあなたの前にいない場合、あなたが彼らを見ている側に少し少なく回します。彼らがあなたの前に来るまで、ターンの量を繰り返して狭め続けてください。彼らが「スコープの外」に速く移動しないので、彼らが正面に来たら、あなたはそれほど回らない(角度をリセットする)ことを覚えておいてください。

このアルゴリズムが実際にどれほど優れているかに本当に驚かされました(自動チェイスおもちゃに使用し、人間が制御するロボットを簡単に倒す/捕まえるため、スロー/ダウンする必要がありました)。

両方のセンサーはPololuから入手できます(所属なし):

パッシブ赤外線検出器
ソナーレンジファインダー


PIRセンサーとソナーを使用して人を検出し、ローカライズする方法の詳細な擬似コードや詳細を投稿できますか?
ヤマ

このソリューションの範囲はどうなりますか?300フィート先までの人々を追跡するように適応できますか?そして、可動部品のない180度の視野に対応するように作られていますか?この提案をありがとう!
-Crashalot

PIRデータシートには範囲(pololu.com/file/0J250/SE-10.pdf)はリストされていませんが、センサーサイズに基づいて、範囲が制限されているようで、人間を検出できるものではないようです100-300フィート離れたところに移動しますか?
クラッシュロット

これは、2〜3メートル(6〜9フィート)の短い距離でうまく機能しました。また、このアルゴリズムは、大きな「エラー」や揺らぎさえもロボットや被写体が離れ過ぎる前に修正できるという事実にかかっているため、より大きな距離にうまくスケールしないと思います。
profMamba

1

使用できるより最近のセンサータイプは、Omron(D6T範囲)またはExcelitas(DigiPile)によるMEMSベースの温度アレイです。これらは、PIRエレメントとは対照的に、絶対温度を測定するため、背景温度と前景温度を区別し、温度源の動きと静的な存在を検出できます。


これらのセンサーが最大300フィート離れた人を追跡できるかどうか知っていますか?
-Crashalot

私はそれがうまくいくとは思わない。最大5〜10mと言います。解像度は非常に低いため、この距離にいる人は1ピクセル内の小さな点にすぎません。
kjyv

返信いただきありがとうございます!高解像度のコンピュータービジョン以外に、300フィートで機能するものはありますか?CVは非常に計算コストが高いため、CVをPIR(またはサーマル)などの他のセンサーと組み合わせて100〜300フィート離れた人を追跡することで、計算コストを削減できますか?
クラッシュロット

0

静電容量センサーは動作しますが、本当に安価で、アルミ箔といくつかの抵抗器だけで肉を検出できますが、肉以外は検出されないかどうかはわかりません。3を使用して三角測量できます


え?これの範囲はどうなりますか?ミリ?
ロボカレン

0

これが最も簡単かどうかはわかりませんが、オイラービデオ拡大ライブラリを使用して人の脈拍を検出できると考えられます。

その場合、予想される人間の脈拍の範囲に一致するビデオの変動を探します。また、目に見える脈を示した身体部分の鮮明な画像も必要です。

また、ハードウェアベースの顔検出を調査するいくつかの作業(例1例2)があります。数年前のデジタルカメラにはこの機能があり、これは本質的に「この正方形に顔が含まれるかどうか」と言うように設計された高度に最適化されたニューラルネットワークでした。


ああ、あなたは私が私のものを書いている間に私がしたことと同じことを提案しました!映画「スクリーマーズ」(1995)も見ましたか?= P
jzx

私は予告編を見ましたが、映画を見たことはありません...私は何かに行くかもしれないことを知って良いです。しかし、ヤマは何をしているのでしょうか?:)
イアン

0

PIRを使用してみましたが、処理と遅延に問題があります。人間の検出が正直であることは効率的な選択ではありません。静電容量センシングテクニックは、人体を検出する最も安価で簡単な方法(賢い選択)であり、あまり複雑ではないため、使用できます。非常に低コストでセンサーを自分で作成でき、小規模なプロジェクトに適しています。私は「人体検知ロボット」プロジェクトで使用しました。:あなたはで私のビデオを見ることができる静電容量ベースの人物検出


0

おそらく今後数年間でますます普及するであろう非ベアメタルソリューションは、重いデータ処理タスク(画像内の人間の認識など)をクラウドサービスにオフロードすることです。デバイスがインターネットに接続されていることを前提としています。:ここではラズベリーPiとGoogleクラウドビジョンAPIとの一例であるhttps://www.dexterindustries.com/howto/use-google-cloud-vision-on-the-raspberry-pi/。試用期間を過ぎるとgoogleクラウドへのサブスクリプションが必要になりますが、サーバーに1か月あたりN件未満のリクエストを送信すると、他のクラウドビジョンAPI(Amazon、Microsoft Azure、...?) 。

小さなプラットフォームでの重いデータ処理のためのさらに別のソリューションは、すでに訓練された機械学習モデルを実行するための専用プロセッサユニットを備えたロボットのサムドライブのようなデバイスに作業をオフロードすることです(Raspberry PIを搭載したMovidius Neural Compute Stick:https ://medium.com/deep-learning-turkey/a-brief-guide-to-intel-movidius-neural-compute-stick-with-raspberry-pi-3-f60bf7683d40)。これもオフラインで機能します。彼らはまだ趣味のプロジェクトには少し高いですが、私は彼らのコストがすべてのように下がることを期待しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.