HUSKYLENS(AI Vision Sensor)は、低価格で使いやすい「Kendryte K210を搭載したAIカメラ」です。本記事では、HUSKYLENSの特徴を紹介します。
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を介して外部へ出力されます。
図1-1.HUSKYLENS(前面)
図1-2.HUSKYLENS(背面)
6つの認識・トラッキングアルゴリズム
HUSKYLENSには、顔認識・オブジェクト認識・色認識・タグ認識・オブジェクトトラッキング・ライントラッキングの6つのアルゴリズムがあらかじめ組み込まれています。電源を接続するとすぐに動作し、ターゲットの認識やトラッキングのようすを背面のディスプレイで確認することができます。図1-3は、HUSKYLENSに登録した顔(ID1)を認識している状態です。 図1-3.顔認識のアルゴリズム
外部との接続インターフェースとしてUART/I2Cポートを備えているので、micro:bit・Arduino・Raspberry Piなどの小型コンピューターと接続することができます。認識したターゲットのサイズや座標をリアルタイムに取得できるので、自律走行するロボットカーや、顔やジェスチャーに反応するインタラクティブなアプリケーションを開発できます。
HUSKYLENSに搭載されているプロセッサーやイメージセンサー・ディスプレイなどは、次表のとおりです。
表1-1.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)です。
図1-4.Kendryte K210
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です。購入時には、保護シールが貼ってあるので剥がして使用します。
図2-1.イメージセンサー(カメラ)
機能ボタン(ファンクションボタン)
設定メニューの呼び出しや設定値の変更・決定などを行う機能ボタンです。機能ボタンを押すと、ディスプレイ上に設定メニューが表示されます。左右へダイアルすることで、項目の選択が行えます。
図2-2.機能ボタン(ファンクションボタン)
通信プロトコルやディスプレイの明るさなどの一般設定のほかに、各アルゴリズム(顔認識・オブジェクト認識・色認識・タグ認識・オブジェクトトラッキング・ライントラッキング)に関する設定を行います。
図2-3.General Settings(一般設定)
学習ボタン(ラーニングボタン)ターゲットを学習するための学習ボタンです。例えば、ある人物の顔を学習して、その情報をHUSKYLENSへ登録するために使います。また、学習ボタンを押したまま、さまざまな角度から顔を撮影することで、その人物の顔を多面的に学習します。これで、同じ人の顔をいろいろな角度から認識することができます。
図2-4.学習ボタン(ラーニングボタン)
インタフェース(UART/I2C)外部のコンピューターと接続するためのインタフェース(4ピン)です。micro:bit・Arduino・Raspberry Piなどの小型コンピューターと接続できます。通信プロトコルは、UART(9,600/115,200/1,000,000)またはI2Cです。初期の状態では、自動認識しますが、設定を変更して、いずれかのプロトコルに固定することもできます。
図2-5.インタフェース(UART/I2C)
表2-1.UARTモード
番号
|
ラベル
|
機能
|
説明
|
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)
|
表2-2.I2Cモード
番号
|
ラベル
|
機能
|
説明
|
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です。
図2-6.USBコネクター
RGB LEDターゲットの認識中などに点灯します。
図2-7.RGB LED
LEDターゲットを明るく照らすための
LEDライト(
2個)です。設定メニューから点灯・消灯・明るさの調整ができます。
図2-8.LED
ディスプレイイメージセンサーで撮影した映像を表示します。ターゲットを認識した場合は、その情報と共に表示されます。また、
HUSKYLENSの設定メニューを表示します。
図2-9.ディスプレイ
図2-9は、
HUSKYLENSに登録した顔(
ID1)を認識している状態です。
図2-10.顔認識
TFカードスロットTF(マイクロ
SD)カードのスロットです。矢印の方向からカードを差し込みます。今のところ使用目的は不明です。
図2-11.TFカードスロット
3.HUSKYLENSのドキュメント