次学期に行っている講義をいくつか記録したいと思います。私はビデオカメラを持っていて、なんらかのサーボを使って方向を変えることができます。しかし、私は自分がどこにいるかを検出する方法がわかりません。放送機器を携帯していても大丈夫でしょう。ほとんどの場合、感度は部屋の左側にいるか右側にいるかを判別できるはずですが、それ以上は必要ありません。
次学期に行っている講義をいくつか記録したいと思います。私はビデオカメラを持っていて、なんらかのサーボを使って方向を変えることができます。しかし、私は自分がどこにいるかを検出する方法がわかりません。放送機器を携帯していても大丈夫でしょう。ほとんどの場合、感度は部屋の左側にいるか右側にいるかを判別できるはずですが、それ以上は必要ありません。
回答:
いくつかの単純なIR LEDを装着し、複数のIRレシーバーを配置することもできます。単純なIRフォトダイオードが狭い視野角で機能します。
これらをカメラのベースの周りに配置し、マイクロコントローラーに最大信号を示すマイクロコントローラーを読み取らせると、カメラをIR光源に向けることができます。
複雑に聞こえますが、それは非常にシンプルで、コンピューターを必要としません。ハードウェアは簡単に実行できますが、ノイズの多い環境(明るい光)では、IRを変調して、受信するブロードバンドノイズを回避したいと思うかもしれません。
あなたが探しているものは「ブロブ追跡」に関連しているかもしれません。これは、ロボット工学と視覚処理で一般的に使用されている手法です。
プログラミングチョップに応じて、C ++とPythonの両方で利用可能なOpenCV(オープンソースコンピュータービジョンライブラリ)を使用できます。他の言語には、ブロブ追跡をサポートするライブラリーがある場合があります。LabVIEWとMatlabにもこれをサポートするライブラリがあると思います。
一般に、セットアップはコンピューターがビデオを処理し、特定の色のブロブ(あなた)を見つけることです。次に、カメラフレーム内のブロブの位置の情報を使用して、カメラを向ける場所を決定できます。たとえば、Arduino(またはその他のマイクロコントローラー)を使用してカメラのサーボを駆動している場合は、シリアルポート経由でコマンドを送信して、カメラの目的の位置を更新できます。blobがフレームの中央にある必要な「ボックス」を残すとき。
必要に応じて、比例制御、積分制御、微分制御(インターネット上で検索している場合はPID)のいくつかの組み合わせを実装することで、さらに巧妙な追跡を行い、フレームの中央に自分自身を配置しようとすることができますが、これはさらに多くの場合がありますあなたのアプリケーションに必要なものより。
編集:少し検索すると、次の結果が得られました:Creative Applications。これは多かれ少なかれ私が説明したソリューションです。
1つ以上のIR LEDを装着すると、Wiコントローラーのようなカメラがあなたを追跡する可能性があります
Kinectと一部の処理ソフトウェアにとって理想的な仕事のように聞こえます。3D情報で被写体を分離でき、パンチルトモーターとビデオ出力を備えています。
私はこの質問をした人であり、私はOpenCVの回答とIR主導の回答の両方が本当に好きで、両方で遊んでいきます。この時点で、どちらにも私にとっていくつかの問題があります。IR主導の注文が遅れており、私のウェブカメラは不本意です。
そのため、少し前に遊んだLV-Maxsonar EZに目が行きました。私は本当にそれに到達したことはありませんが、今ではそれはここでまともな解決策を生み出すかもしれないようです。部屋の前を移動するのは私だけなので、干渉もコンピュータも必要ありません。
このデバイスは、特定の方向の距離を測定します。この距離が変化した場合、誰かがその前を移動し、カメラはそのセンサーが指している方向に移動する必要があります。
PrimeSense開発キット(Kinectのメーカー)を確認してください。
製造元は、Kinect(およびDevKit)のWindowsおよびUnixドライバをここでリリースしました:http : //www.openni.org/
見ての動き、具体的には、モーショントラッキング機能を。