OpenCVとは
OpenCV とは、画像処理を想定したオープン・ソース・コンピュータ・ビジョン・ライブラリです。
BSD(Berkeley Software Distribution)ライセンスの下で、教育目的および商用目的の両方に対して無償で提供されています。
近年、カメラが人の眼となって安全で快適な暮らしをサポートする応用製品をよく見かけるようになりました。みなさんも以下のような画像処理技術を応用した製品をニュースでご覧になったことはありませんか?

このような応用製品などの機器では、高度な画像処理の技術が必要とされ、日々進化しています。
また、カメラから出力された画像データ情報から「物体を検知」するためには複雑な数学的なアルゴリズムの知識を要しますが、OpenCVで数行のプログラムを記述すれば、簡単に物体検知を実現することができます。
OpenCVを使って出来ること
画像処理
- イメージ・フィルタリング
- 画像変換
- ColorMaps
- 構造解析
- 特徴検出
映像解析
- モーション解析
- 対象追跡
- 高密度オプティカル・フロー
- カルマン・フィルタ
障害物検知
- カスケード分類器
- 関心領域検出
更にOpenCVについて詳しく知りたい方はこちらをご覧ください。
OpenCV: Introduction
OpenCV のパフォーマンス
以下2つのグラフは、TI社のWEBにて公開されているものです。
特定のデバイスに搭載されたArm コアおよび DSP コアについて、Arm コアから DSP コアにコードを移動した場合に、OpenCVルーチンがどのくらい高速化されたのかグラフから読み取ることができます。
尚、Cortex-A15 コアのパフォーマンスは 1 を標準としており、C66x コアのパフォーマンスは、Cortex-A15 に対する相対値で示されています。また、この比較では、コア数とプロセッサの速度を考慮に入れています。
ベンチマーク対象のコアが Arm A15(1.5GHz)が2個、C66x DSP(750MHz)2個の場合

ベンチマーク対象のコアが Arm A15(1.2GHz)が4個、C66x DSP(1.2GHz)8個の場合

※ユーザーから見た場合、DSP コアを利用した高速化は透過的に行われます。測定されたパフォーマンスは、ある時点でのコンパイラによる結果であり、DSP 用に最適化したものではありません。
TI社では、デバイスの Arm コアから DSP コアにオフロードを行うことで得られる相対的なパフォーマンスの改善を示した表もございますので、詳しくはこちらをご覧ください。
OpenCV ライブラリ(TI社オフィシャルサイト)
OpenCVに対応した TI社のプロセッサ
TI社の製品では、すべての Arm® Cortex®-A ベース・プロセッサで OpenCV 3.1 を全面的にサポートしています。
これには、AM335x、AM437x、および AM57xx Sitara プロセッサ・ファミリに加え、66AK2x マルチコア DSP + Arm プロセッサ・ファミリのプロセッサも含みます。また、複数の Arm Cortex-A15 コアを備えたプロセッサに対し、すべての OpenCV 機能でマルチコア Arm がサポートされています。
代表的な対応製品の特長
特 長 | 高性能マルチコア プロセッサ |
Video入力サポート プロセッサ |
最も汎用性の高い プロセッサ |
シリーズ名 | AM57x | AM437x | AM335x |
Processing | Cortex®-A15@1.5GHzx2 (Max10500DMIPS) DSP(C66x@750MHz)x2 |
Cortex®-A9@1GHz (Max2500DMIPS) |
Cortex®-A8@1GHz (Max2000DMIPS) |
Graphics | 2xSGX5443D, GC3202D, IVAHDVideoAccelerator |
SGX530 | SGX530 |
メモリ | DDR3(L) | LPDDR2/DDR3(L) | LPDDR1/DDR2/DDR3(L) |
ペリフェラル |
|
|
|
工業通信 | 2つのプロトコルを同時処理 | 2つのプロトコルを同時処理 | EtherCAT, EthernetIP, Profinetなど |
※サポートされているOpenCVモジュールを知りたい方はこちらをご覧ください。
OpenCV - Texas Instruments Wiki
無償のプロセッサ SDK の一部としてOpenCVが付属
OpenCV は、TI社が無償提供しているプロセッサSDKの一部として付属しており、以下のデバイス向けにご用意しています。プロセッサSDKはそれぞれの製品名に掲載したリンクからダウンロードできます。
最後に
いかがでしたでしょうか。今回ご紹介したTI社のSitara プロセッサ・ファミリを使って、実際に歩行者の検知も行ってみました。環境準備から動作の結果まで紹介していますので、是非こちらの記事も合わせてご覧ください。
OpenCV対応のArm(R)プロセッサで人物検知をしよう
おすすめ記事/資料はこちら
商品の購入はこちら
メーカーサイト/その他関連リンクはこちら
スケーラブルな TI のプロセッサ向け Linux、TI-RTOS、Androidソリューション
C66x opencv - Texas Instruments Wiki
OpenCV AM57 Test Instructions - Texas Instruments Wiki