HUSKYLENS(AI Vision Sensor)
HUSKYLENS(AI Vision Sensor)は、低価格で使いやすい「Kendryte K210を搭載したAIカメラ」です。本記事では、HUSKYLENSの特徴を紹介します。
HUSKYLENSのファームウェアをアップグレードする方法について「13-1.ファームウェアのアップグレード」で詳しく紹介しています。
1.HUSKYLENS(AI Vision Sensor)の紹介
HUSKYLENSとは
DFROBOTのHUSKYLENS(AI Vision Sensor)は、低価格で使いやすい「Kendryte K210を搭載したAIカメラ」です。横52mm×縦44.5mmの小さな基板上にパーツが収められ、前面には、2.0メガピクセル(または5.0メガピクセル)のイメージセンサー、背面には、2.0インチIPSディスプレイを搭載しています。
イメージセンサーで撮影した画像を、基板上のKendryte K210でリアルタイム解析して、ターゲット(顔・色・タグなど)の認識・トラッキングを行います。認識・トラッキングしたターゲットの情報(サイズ・座標など)は、UART/I2Cを介して外部へ出力されます。
6つの認識・トラッキングアルゴリズム
HUSKYLENSには、顔認識・オブジェクト認識・色認識・タグ認識・オブジェクトトラッキング・ライントラッキングの6つのアルゴリズムがあらかじめ組み込まれています。電源を接続するとすぐに動作し、ターゲットの認識やトラッキングのようすを背面のディスプレイで確認することができます。図1-3は、HUSKYLENSに登録した顔(ID1)を認識している状態です。
外部との接続
インターフェースとしてUART/I2Cポートを備えているので、micro:bit・Arduino・Raspberry Piなどの小型コンピューターと接続することができます。認識したターゲットのサイズや座標をリアルタイムに取得できるので、自律走行するロボットカーや、顔やジェスチャーに反応するインタラクティブなアプリケーションを開発できます。
HuskyLens can connect to Arduino, Raspberry Pi, LattePanda, or micro:bit
Gravity: HUSKYLENS - An Easy-to-use AI Vision Sensor [Pre-order] - DFRobot
HUSKYLENSの仕様
HUSKYLENSに搭載されているプロセッサーやイメージセンサー・ディスプレイなどは、次表のとおりです。
名称 | 仕様・定格など |
---|---|
プロセッサー | Kendryte K210 |
イメージセンサー | SEN0305 HuskyLens:OV2640(2.0メガピクセルカメラ) SEN0336 HuskyLens PRO:OV5640(5.0メガピクセルカメラ) |
ディスプレイ | 2.0インチIPSディスプレイ(320×240) |
動作電圧 | 3.3V~5.0V |
消費電流 | 320mA(3.3V)、230mA(5.0V) ※顔認識モード、バックライト輝度80%、フィルライトオフ |
インタフェース | UART/I2C |
サイズ | 横52mm×縦44.5mm |
組み込みアルゴリズム | 顔認識 オブジェクト認識 色認識 タグ認識 オブジェクトトラッキング ライントラッキング |
Kendryte K210とは
HUSKYLENSに搭載されているプロセッサーKendryte K210は、CANAAN CREATIVEが開発するAIおよびIoT市場に向けた高性能チップ(SoC)です。
Kendryte K210は、FPUを内蔵した64ビットRISC-Vを2コア、Neural Network Processor(KPU)やAudio Processor(APU)などのプロセッサー、高速フーリエ変換(FFT)などのアクセラレーターを搭載することで、低消費電力でありながら、高性能な画像処理を可能にしています。
2.各部の詳細
HUSKYLENSの各部について、詳しく紹介します。
イメージセンサー(カメラ)
ターゲットを撮影するイメージセンサー(カメラ)です。HUSKYLENSのモデルによってモジュールが異なり、HUSKYLENS(SEN0305)ではOV2640(2.0メガピクセルカメラ)、HUSKYLENS PRO(SEN0336)ではOV5640(5.0メガピクセルカメラ)となります。図2-1はOV5640です。購入時には、保護シールが貼ってあるので剥がして使用します。
機能ボタン(ファンクションボタン)
設定メニューの呼び出しや設定値の変更・決定などを行う機能ボタンです。機能ボタンを押すと、ディスプレイ上に設定メニューが表示されます。左右へダイアルすることで、項目の選択が行えます。
通信プロトコルやディスプレイの明るさなどの一般設定のほかに、各アルゴリズム(顔認識・オブジェクト認識・色認識・タグ認識・オブジェクトトラッキング・ライントラッキング)に関する設定を行います。
学習ボタン(ラーニングボタン)
ターゲットを学習するための学習ボタンです。例えば、ある人物の顔を学習して、その情報をHUSKYLENSへ登録するために使います。また、学習ボタンを押したまま、さまざまな角度から顔を撮影することで、その人物の顔を多面的に学習します。これで、同じ人の顔をいろいろな角度から認識することができます。
インタフェース(UART/I2C)
外部のコンピューターと接続するためのインタフェース(4ピン)です。micro:bit・Arduino・Raspberry Piなどの小型コンピューターと接続できます。通信プロトコルは、UART(9,600/115,200/1,000,000)またはI2Cです。初期の状態では、自動認識しますが、設定を変更して、いずれかのプロトコルに固定することもできます。
番号 | ラベル | 機能 | 説明 |
---|---|---|---|
1 | T | TX | TX pin of HuskyLens |
2 | R | RX | RX pin of HuskyLens |
3 | - | GND | negative pole of power supply(0V) |
4 | + | VCC | positive pole of power supply(3.3V~5.0V) |
番号 | ラベル | 機能 | 説明 |
---|---|---|---|
1 | T | SDA | serial data line |
2 | R | SCL | serial clock line |
3 | - | GND | negative pole of power supply(0V) |
4 | + | VCC | positive pole of power supply(3.3V~5.0V) |
USBコネクター
電源の供給や、HUSKYLENSのファームウェアを更新するためにパソコンと接続します。コネクターの形状は、マイクロBです。
RGB LED
ターゲットの認識中などに点灯します。
LED
ターゲットを明るく照らすためのLEDライト(2個)です。設定メニューから点灯・消灯・明るさの調整ができます。
ディスプレイ
イメージセンサーで撮影した映像を表示します。ターゲットを認識した場合は、その情報と共に表示されます。また、HUSKYLENSの設定メニューを表示します。
図2-9は、HUSKYLENSに登録した顔(ID1)を認識している状態です。
TFカードスロット
TF(マイクロSD)カードのスロットです。矢印の方向からカードを差し込みます。現在、TF(マイクロSD)カードを使った機能は実装されていないようです。
3.HUSKYLENSのドキュメント
HUSKYLENSの詳しい情報は「HUSKYLENS_V1.0_SKU_SEN0305_SEN0336-DFRobot」でご覧になれます。