よくある質問#

一般的な質問#

CMUcam1 の何がユニークですか?#

従来、カメラ画像をキャプチャして処理するには高速なコンピュータが必要でした。また、この処理を実行するソフトウェアを書く必要もあります。このため、単純なシステムでセンサーとしてビジョンを使用することは困難です。

CMUcam1 ビジョンシステムは、高速で低コストのマイクロコントローラを使用してカメラデータの高速処理をすべて処理し、単純なビジョンタスクを実行するソフトウェアを内蔵しています。ユーザーは、赤い物体が位置 X-Y にあるといった、ビジョンシステムからの低帯域幅の高レベル情報のみを出力するよう選択できるため、PIC マイクロコントローラのような単純なプロセッサでもこのデータを読み取り、色付きのボールを追いかけるといったタスクで小型ロボットを制御できます。CMUcam1 ビジョンシステムは、カメラインターフェースの複雑さを無視し、ロボットシステムでよく使われる他のセンサー(ソナーなど)と同じようにビジョンを使用することを可能にします。

CMUcam1 のフレームレートは?#

最速のフレームレートは 16.7 フレーム/秒です。つまり、CMUcam1 は物体の位置を1秒間に約17回教えてくれます。シリアルソフトウェアプロトコルを使えば、必要に応じてこれを遅くすることができます。

CMUcam1 はどのボーレートをサポートしていますか?#

ファームウェアの最新バージョン(v1.12)時点で、CMUcam1は9600、19200、38400、または115200のボーレートで通信できます。ボーレートはボード上のジャンパ設定で選択します。

CMUcam1のファームウェアをアップグレードするにはどうすればよいですか?#

現在ファームウェアv1.11を使用している場合、より低いボーレートのサポートが必要でない限り、アップグレードする理由はありません。バージョン1.11は38400と115200ボーをサポートします。バージョン1.12はこれらのボーレートをサポートし、さらに9600と19200ボーのサポートを追加します。ファームウェアをアップグレードするには、プロセッサチップのフラッシュメモリを再プログラムする必要があります。プログラマをお持ちの場合は、ダウンロード ページから現在のバージョンをダウンロードし、ご自身でプロセッサを再フラッシュできます。

CMUcam1は屋外で動作しますか?#

CMUcam1 は屋外でも動作しますが、直射日光下では動作しません。私たちが使用している CMOS カメラは高品質な IR フィルターを備えていないため、直射日光下では日光が赤ピクセルを飽和させ、画像は本質的にモノクロになります。屋外での動作を改善するために外部フィルターを追加することは可能です。照明条件が CMUcam1 にどのように影響するかを示す短い解説があり、こちらからダウンロードできます。

CMUcam1用のカスタムコードを書けますか?#

もちろんです。これを行うには、ファームウェアのソースコードを私たちに依頼し、Ubicom チップ用のCプログラミング環境をご自身で注文して、取り組んでみてください。ファームウェアのソースコードをお送りする際には、コードがどのように構成されているかの概要と、私たちが使用しているプログラミング環境に関する情報も併せてお送りします。

CMUcam1の消費電力はどれくらいですか?#

システム全体で約 200 ミリアンペアを消費します。

CMUcam1 の視野は?#

これは CMOS カメラに取り付けるレンズによって異なります。CMOS カメラを標準販売されているまま注文すると、視野角は約 25 度と比較的狭くなります。ただし、CMOS カメラを注文する際に、より広角のレンズをカスタム注文することができます。

CMUcam1 はどのプロセッサを使用していますか?#

私たちの画像処理コードは、75 MHzで動作する Ubicom のマイクロコントローラチップ、SX28AC 上に置かれています。このチップは、パラレルインターフェースを介してCMOSカメラからすべてのピクセルを読み取り、すべての処理をリアルタイムで行います。その後、シリアルポートインターフェースを介して結果をマイクロコントローラまたはコンピュータに通信します。

CMUcam1 はどの CMOS カメラを使用していますか?#

私たちは、OmniVisionOV6620 CMOS カメラ・オン・チップを利用した CMOS カメラを使用しています。センサー、コネクタ、レンズが搭載された型番 C3088 の CMOS カメラボードを使用しています。

CMUcam1は他のCMOSカメラで動作しますか?#

いいえ。現在、ハードウェアとソフトウェアのシステムは、OmniVisionOV6620 CMOSカメラで特に動作するように設計されています。別のカメラで動作させるには、システムを完全に再設計する必要があります。

他に持っている質問の答えを見つけられる場所はありますか?#

はい。このページに、より技術的な質問に関する情報がいくつかあります。

コンピュータビジョン全般についてもっと知るにはどこを見ればよいですか?#

CMUcam1 は、設計された単純なコンピュータビジョンタスクを、小型で安価なパッケージで実行します。しかし、任意の条件下で任意の物体を認識しようとする一般的なコンピュータビジョンの問題は、依然として非常に活発な研究テーマであり、解決にはほど遠い状態です。

コンピュータビジョンについてもっと学びたい場合は、これらのリンクを試してみるとよいでしょう:

技術的な質問#

デモモードが電源投入時に実行する正確な手順のシーケンスは何ですか?#

これは、デモモードが電源投入時に実行する正確なシーケンスです:

  1. カメラをリセットします。

  2. カメラパラメータの自動調整が安定するまで5秒待ちます。

  3. カメラレジスタ文字列 CR 18 32 19 32 を送信します。これはYCrCbモードを選択し、オートゲインをオフにします。

  4. TW コマンドを実行します。

その後、カメラは TW コマンドで検出された色の中心質量に向けてサーボを駆動し始めます。

「TW」コマンドが実行する正確な手順のシーケンスは何ですか?#

これは、TW コマンドが実行する正確なシーケンスです:

  1. ウィンドウを、現在のウィンドウ中心を中心とする、現在のウィンドウの(各次元で)1/4 のサイズの新しいウィンドウに縮小します。

  2. get meanを呼び出します。

  3. ウィンドウをフル画像サイズに戻します。

  4. 各カラーチャンネルの最大値と最小値を、そのチャンネルの平均値 +/- 30 に設定します。

その後、カメラはType C、M、またはNパケットのストリーミングを開始します。

オートモードが有効なとき、どのような条件でトラッキング LED が点灯しますか?#

返された pixel_count >= 2 のときに LED が点灯します。返される pixel_count = (actual_pixel_count + 4) / 8 です。

CMOSカメラが352 x 288ピクセルの解像度を持つのに、なぜCMUcam1の解像度は80 x 143だけなのですか?#

ここで問題となるのは、カラーデジタルカメラの仕組みです。すべてのカラーデジタルカメラ(非常に高価なものでも、非常に先進的な技術 に基づく一部のものを除く)では、ピクセル位置ごとに1つのカラーチャンネルの測定しか得られません。これはモザイクフィルタリングと呼ばれます。これを説明するのに役立つ良い図があります:

Mosaic

(図は Foveon, Inc. のご厚意による)

つまり、ピクセルは4つずつのグループに配置されていると考えることができ、各グループには G の測定が2つ、R と B の測定が各1つあります。G の測定の一方を破棄すると(実際に破棄しています)、352x288 のカメラの実解像度は 176x144 に近いことがわかります。カメラを半解像度モードで動作させており、水平方向に1つおきの 2x2 ブロックをスキップするため、88x144 になります。プロセッサのメモリ制限のため、テストパターンを含む水平方向の8列と垂直方向の1行を破棄し、最終解像度は 80x143 になります。

ご参考までに、標準的なデジタルカメラは複雑な補間技術を使用して、各ピクセルで欠落している色値を埋めようとし、センサのフル解像度に少し近いものを提供します。

CMUcam1のピントを正確に合わせるにはどうすればよいですか?#

もちろん、ピント合わせを進める最良の方法は、GUIを使用してフレームダンプを取得することです。コンピュータが手元にないかもしれませんし、BotBall CMUcam1を使用しているかもしれません。これは、固定配線された9600ボーレートでは、これがうまく機能するのに十分な解像度がありません。

その場合、2つの選択肢があります。まず、ねじ山を数えてみることができます。レンズはピークのピント位置で完全にはねじ込まれていません。むしろ、ねじ山が約1ミリメートル見える隙間があります。ねじ山の数で言えば、レンズとレンズマウントの間の隙間に約2山見えることになります。

2番目の代替手段は、画像がシャープなとき、暗部が最も暗く、明部が最も明るくなる、つまりコントラストが最大になるという考えに基づいています。画像がぼやけると、極値は消えていき、より均一な強度分布になります。そこで、ストリーミングモードを起動し、GM(Get Mean)を呼び出すと、リアルタイムでピントを合わせることができます。赤の偏差を見てください。希望する距離で高コントラストの物体(たくさん文字が書かれた紙など)に鋭くピントを合わせると、最も鋭くピントが合ったときに赤の偏差に顕著なピークが現れます。このピント合わせの方法では、レンズを回す間、カメラとターゲットをかなりしっかりと固定しておく必要があることに注意してください。