社員ブログ

ShuttleさんのGPU搭載可能ベアボーン「SZ170R8V2」を試してみた

|

日本ShuttleさんよりフルサイズGPUも搭載できるベアボーン「SZ170R8V2」を検証用にお貸出し頂きましたので軽くレビューを書きます。

詳しくは下記記事をご覧ください。

ShuttleさんのGPU搭載可能ベアボーン「SZ170R8V2」を試してみた

NVIDIA GeForce GTX 950 搭載BRIXを試してみました

|

NVIDIA GeForce GTX 950 を搭載したベアボーンキット "GB-BNi7G4-950 (rev. 1.0) " をお借りすることができましたので検証を行いました。

詳しくは下記記事をご覧ください。

NVIDIA GeForce GTX 950 搭載BRIXを試してみました

NVIDIA GPU搭載ノートPCでKINECT V2のパフォーマンスが極端に悪くなったときの対処法

|

NVIDIA GPU を搭載したノートPCでKINECT V2のパフォーマンスが極端に落ちる現象がありました。

僕の場合はBIOS設定で改善させることができました。

詳しくは下記記事をご覧ください。

NVIDIA GPU搭載ノートPCでKINECT V2のパフォーマンスが極端に悪くなったときの対処法

RealTime Motion Recognizing - リアルタイム動作認識

|

滑らか感のあるリアルタイム画像処理、画像認識処理は画像の全ピクセルに対する処理を1秒間に数十回行う必要があります。
少し画像関係のプログラミングをなさったことのある方であれば画像ピクセルをすべて処理する処理を普通に行うと大変処理時間がかかることをご存知かもしれません。

そのため画像処理を高速に行うにはCPUで処理をするのでなくGPUで超並列計算を行う必要があります。

CPUとGPUの処理の違いですが、CPUはピクセルを一つ一つ順次処理をしてゆきます。
対するGPUはたくさんの小さな計算機が一斉に串刺しにするように並列処理を行います。
これがグラフィックス処理に役立ちますし、最近では機械学習などの大量データを処理する処理にも利用されています。

このGPUのプログラミングを行う言語・ツールは様々ありますが、今回はDirectXのCompute Shaderを利用しています。
このCompute ShaderによりKINECTやその他のカメラの映像をUnityでリアルタイム処理し、映像の中の動きがあった部分をいくつでも認識できるものを開発しました。
動きの認識は背景差分という方式で、あらかじめ環境に存在したもの以外の物体が現れるとそこを領域として認識します。
基本的にこの処理は60FPS、1秒間に60回以上の処理を行えるようチューニングを行っています。

この処理はどのようなところで利用されるのでしょうか?
例えばエンターテイメント分野。
最近よくあるテクノロジー系のアトラクションでは人が通路を歩くと人の位置に映像エフェクトがついてきたりしますが、その基礎処理はこの背景差分映像処理となります。
その他医療やリハビリ分野でも動きを捉えるというのは重要な処理となります。

この処理を基礎に様々なコンテンツ、システムを開発することができます。

GIGABYTEのUltra Compact PC Kitを試してみました

|

先日発売されたGIGABYTEのUltra Compact PC Kit GB-BSi7HT-6500-BW をメーカーさんにお借りできたので検証してみました。
Corei7を搭載した小型PCはUSBケーブルをそんなには伸ばせないKINECTの近くに目立たず置けるインタラクティブコンテンツ向けや組み込み的な用途に使えるのではないかと期待!

これぼくもうっかりしてたのですがKitなんですね。
なのでストレージやメモリは入っていません。
別途下記の用意が必要です。

  • SSDまたは2.5インチHDD
  • メモリー(SO-DIMM DDR4 2133MHz)
  • OS

というわけでそのままパワーオンしても、待てど暮らせど何も起きないので気を付けましょうw
ネジを緩めてふたを開けHDDとメモリをセット。OSをクリーンインストールする。起動するまでなかなか大変です。
今回は2.5インチHDDと16GBメモリ、Windows10をセットアップしました。

GPUはCPUにインテグレーションされている Intel HD Graphics 520。一応ハイフォーマンスモードに。

Unityをセットアップし、「きゃらみらー」のパフォーマンスをチェック。

CPU/GPUともになんとか総じて30FPSか。。
GTUNEとかでプレイするときのぬるぬる感はないかな。
あっちはCPU60FPS GPU200FPSくらいで動くモンスターなので、これだけ小さなPCでまあまあ普通にコンテンツ展示用途に使えるのは良いかもという感じはしますね。

KINECTの映像にComputeShaderとOpenCVを組み合わせて画像処理するものをチェック。
こちらも総じて30FPS。まあまあ、、たまに引っかかる感じがするときもあります。

こちらのプログラムは今夜耐久テストにかけてみます。発熱とかチェック。

次にRealSenseを検証。
R200のDepthを解析するプログラムを動かしてみました。こちらはVC++フルネイティブのプログラムです。

こちらは20FPS付近で動作します。30FPSに届かずか~。
とはいえこのプログラムはバックグラウンドで毎フレームごとのファイル出力や独自のボーン認識ロジックが動いているので処理量は大きいものです。

ちょっと触ってみましたが絶対的にはすごいパフォーマンスというわけではないですが、サイズが小さいというところに価値が見いだせるような気がしています。

というわけでシャッキリしませんが試用レポでした!

 

RSS - GPU を購読