OpenCVで活用した事例とは?効果的なライブラリの活用方法

OpenCVにより制作されたソフトウェアの事例に興味がある」

「ライブラリで実現できる画像認識・解析をどのように活用できるのか知りたい」

自動運転や無人化など画像処理のニーズが高まっている今では、OpenCVを活用する事例が増えています。豊富な機能が備わったライブラリにより、スムーズにソフトを開発できるのが特徴。

OpenCVで活用した事例とは?

OpenCVで活用した事例とは?

この記事ではOpenCVの活用事例について分かりやすく紹介します。

OpenCVとは?

OpenCVとは、正式名称で「Open Source Computer Vision Library(オープン・ソース・コンピュータ・ヴィジョン・ライブラリ)」と言います。

OpenCVは2006年に最初のバージョンが公開された後、バージョンアップによって機能が改善されました。現在のバージョンやソースコードなどはOpenCVのReleasesで確認できます。

その名が表すとおり画像処理・画像解析および機械学習等の機能を持つオープンソースのライブラリのことです。
オープンソースですので、基本的に無料で使用することができます。Pythonを始め、C/C++、Java、MATLAB用として公開されており、もともとは大手企業インテルが開発・公開しています。

OpenCVを活用した事例4選

多くのソフトウェア制作会社は開発時に利用した言語やライブラリを隠すため、ネットで検索しても法人向けの事例はあまり出てきません。しかし、エンジニアなどがOpenCVを活用した事例はいくつか掲載されています。

あなたが知っておくべきOpneCVの活用事例は次の4つ。

  1. 画像から人の手を認識
  2. 画像から顔のパーツを認識
  3. 上司を認識して画面を隠蔽
  4. OpenCVによる画像編集

それぞれの事例について詳しく見てみましょう。


ONETECH】流通向け商品画像認識ARアプリをOpenCVで制作中

画像から人の手を認識

入力された画像から人の手を解析して、機械学習によって手の範囲を識別する事例です。Webカメラの映像をOpenCVで使える画像形式に変換して、識別した手の範囲や筋に線を挿入します。

手の範囲を水色の線で囲い、指の筋を赤線で出力しているのがこの事例の特徴。カメラで手を認識できるようになれば、コンピュータの遠隔操作やカメラ撮影などに役立ちます。

画像から顔のパーツを認識

OpenCVを活用したプログラムが機械学習をして、顔のパーツを認識する事例です。開発者はプログラミング言語であるPythonを活用し、高精度の顔認識を支援するデータセットによりソフトを制作しました。

「Helen dataset」という学習データにより、コンピュータが顔全体を細かく認識できるのが特徴。顔のパーツに点をつけた画像を学習させることで、入力した画像から顔を識別できるのです。

顔を約200個の点で解析することで目や口、鼻といったパーツをコンピュータが認識します。

顔を約200個の点で解析することで目や口、鼻といったパーツをコンピュータが認識します。

上司を認識して画面を隠蔽

オフィスにいる上司が近づいてきたとき、自動で画面を隠してくれるソフトの事例もあります。業務に関係のない私用を隠せて、上司に怪しまれることを防ぐのが本事例の目的です。

自分のデスクにWebカメラを設置して、上司の顔を認識したときに画面を切り替えるのがソフトの仕組み。撮影した画像から顔部分以外の要素をカットして、機会に学習させることで上司の認識が可能になります。

 

ボスセンサの超簡単なシステム構成は以下の通りです。

ボスセンサの超簡単なシステム構成は以下の通りです。

光やブレによって認識できない場合がありますが、開発者はカメラによって上司を認識させることに成功させました。本事例のソースコードはBossSensorから確認できます。

OpenCVによる画像編集

機械学習を活用するには学習データが必要になる場合が多く、OpenCVにはデータ作成を支援する編集機能が備わっています。学習データを作るのに必要な工程と、それに対応したOpenCVの機能は次の通り。

  • 物体検出するための前処理:グレースケール化/閾値処理/スムージング
  • 画像から物体検出:輪郭検出/輪郭の近似/学習済みモデルによる物体認識
  • 検出した画像の加工:検出領域の切り出し/物体の位置揃え/正規化

OpenCVによる画像編集が気になる人は、「機械学習のためのOpenCV入門」を見てみましょう。

3DCG制作
商品のAI画像認識のための学習モデル用のCG制作
ある商品(消費財)のAI画像認識のための教師データ用のCGを制作しました。商品の現物を参考にしながら酷似したCGモデルを制作しました。CGモデルをUnityで様々な角度や陰影をつけた画像をAIの学習データとして抽出します。Unityのツールも開発しました。
7セグメントディスプレイのデジタル数字認識OCRモジュール開発(SSOCR)
7セグメントディスプレイのデジタル数字を認識するモジュールを開発しました。 デバイスのデジタル数字が表示されている枠内の数字を自動解析します。決定木の手法と SSOCR(seven segment optical character recognition)を利用しました。 このモジュールはホロレンズ(Microsoft HoloLens)、スマホなども応用可能です。
OpenCV+ AI Yoloで画像認識の研究開発。飲食店向けARクーポンアプリのデモ
OpenCV+ AI Yolo画像認識の研究開発 今回は2018年のセミナーのプレゼンテーションのために以下の3つのデモを研究開発した実績をご紹介します。

まとめ

手の範囲を解析したり人物の顔を認識したりするなど、OpenCVによってさまざまな画像処理を実現できます。画像認識・解析が必要なソフトウェアを開発したい人は、OpenCVの活用を検討してみましょう。

AI(人工知能)システム開発

ONETECHはベトナムの優秀なエンジニアによる、ディープラーニング(Deep Learning)やニューラルネットワークなどを利用した様々なAI(人工知能)開発を提供します。

将来のAI社会に向けて、受託開発だけでなく、自社サービス開発またR&DセンターでAI研究開発に積極的に取り組んでいます。

またベトナムのAI開発の第一人者とのパートナーシップにより、オープンAPIだけではなく、スクラッチ型のAI開発を実現しています。

ONETECHは、将来の各業界にイノベーションをもたらすAI活用をR&Dチームにおいて日々研究開発しています。

ONETECH AI(人工知能)システム開発

返信を残す

無料相談・お問い合わせ
ご相談やお見積もりは全て 無料 で対応いたします。

    「個人情報保護方針」をお読みいただき同意いただける場合は「送信」ボタンを押して下さい。
    入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。
    無料相談・お問い合わせ
    ご相談やお見積もりは全て 無料 で対応いたします。

      「個人情報保護方針」をお読みいただき同意いただける場合は「送信」ボタンを押して下さい。
      入力していただいたメールアドレス宛に自動返信メールを送信していますので、お手数ですがそちらをご確認ください。
      無料相談
      お問い合わせ