技術ブログ

  1. HOME
  2. ブログ
  3. IT技術
  4. 「OpenCV4.5.2」新機能の紹介!Intelligent Scissorsとは!

「OpenCV4.5.2」新機能の紹介!Intelligent Scissorsとは!

こんにちは!PA Labメディアです。今回の記事ではOpenCVの新機能の紹介をしていきたいと思います。
画像処理の分野に携わっている方の多くはOpenCVを使用したことがあるかと思いますが、OpenCVのようなオープンソースソフトウェア(OSS)と呼ばれるライブラリは日々新しい機能の追加やバグの修正が行われていたりします。

今回紹介するOpenCVの機能の中ではG-API、CVATのようなOpenCVに関連した新しい機能も含まれているので、ぜひ最後まで読んでいただければ幸いです。今回は特に今年の2021年4月に追加されたアップデート、OpenCV4.5.2に関して面白い機能が追加されていたので紹介していきたいと思います。

目次

OpenCVとは?

OpenCV自体を知らない人もいるかと思うので、簡単に振り返りとして紹介をしていきます。

OpenCV(Open Source Computer Vision Library)は、沢山の基本的なコンピュータービジョンのアルゴリズムが実装されているオープンソースのライブラリになります。主にリアルタイムで画像や動画を処理するための機能が数百以上実装されていて、BSDライセンスのため勿論商用目的でも使用することが可能です。

機械学習やWebサービスとの相性が非常に良く、インタラクティブに操作が可能なPythonで使用されることが非常に多いです。画像処理の基本的なアルゴリズムは大体実装されているので、画像処理開発案件では必須のライブラリとなっています。

基本的なOpenCVの紹介はこちらの記事でも書いているので、ご覧ください。

OpenCV4.5.2での追加機能の紹介

今回紹介していくのは2021年4月にリリースされたOpenCV4.5.2にて実装された機能です。

  1. core:それぞれのバックエンドごとの並列処理サポート追加
  2. imgproc:IntelligentScissors機能の追加
  3. OpenCV:G-API機能の充実化

個人的にとても面白い機能となっているのが、IntelligenetScissors機能になります。
いずれ別の記事でも紹介をしますが、CVATと呼ばれる画像・動画のアノテーションツールにも追加されている新機能となります。アノテーションとは「注釈」という意味の英単語で、機械学習の分野では正解データを人手で付与する事を意味します。

例えば、物体検出と呼ばれるタスクのアノテーションであれば、検出したい対象(この例ではコーヒー)に対して、人が正解の領域を付与する行為になります。

多くの画像処理開発案件では自分たちでデータを作成する所から始めるため、アノテーションの処理から行う事が必須となります。そのため、CVATのようなアノテーションツールは非常に有用なのですが、まだまだデータ基盤の設計やアノテーションツールへの知識を持った方が少なく、日本では導入されているケースが少ないようです。

OpenCV4.5.2での追加機能(1) それぞれのバックエンドごとの並列処理サポート追加

OpenCVでは高速化するため、OpenMPやTBBといった並列処理のライブラリをバックエンドとして使用しています。今回のアップデートでは、どのバックエンドを使用していても高速化できるようなアップデートが入りました。

ユーザー視点では並列した高速化が出来るようになったので、以前よりも高速化した実装を行う事が出来るようになっています。特に複数のCPUコアを持っているようなマシンでは数倍以上に高速化する場面が出てきますので、嬉しい追加機能ですね。

OpenCV4.5.2での追加機能(2) IntelligentScissors機能の追加

最も今回で面白い追加機能になっているのが、このIntelligentScissors機能です。
OpenCVの中でセグメンテーションという画像処理の機能をリアルタイムで実行する事ができます。
画像におけるセグメンテーションとは、領域分割とも呼ばれており、画像内で似たような特徴を持つグループごとに分けて、複数領域に分割する事です。

今回のIntelligentScissors機能は人がセグメンテーション機能のアノテーションをする際に高速化したり、セグメンテーションした結果を前処理した結果として使用したりすることが出来ます。

JSによるサンプルもこちらにあるので、興味のある方は以下のデモを見てみるとより分かりやすいかと思います。

JavascriptによるIntelligentScissorsのデモ

OpenCV4.5.2での追加機能(3) G-API機能の充実化

また別の充実化している機能としてはG-APIという機能があります。
G-APIも最近OpenCVに追加された機能で、OpenCV4のメジャーアップデートのタイミングで追加された機能になります。

こちらも今後別の記事で詳しく紹介していきますが、画像処理のデータフローをグラフとして扱うようなフレームワークになります。TensorFlowのようなグラフと似ている箇所があり、最適化や並列化による高速化などのメリットがあります。

今回のアップデートではグラフで使用出来るデータタイプが追加されたり、ONNXバックエンドの追加などがされています。ONNX(Open Neural Network eXchange)は、深層学習のモデルを様々なフレームワークで使用することが出来るように提案されている共通化されたフォーマットになります。

まとめ

OpenCVは画像処理の基本のライブラリで、Pythonで使用される事例が多くなってきています。
この記事ではOpenCV4.5.2のアップデートで追加された新機能の主要部分、IntelligentScissors機能やG-API機能の追加箇所に関して、簡単に紹介をしていきました。
今後OpenCVに関しての新機能や実用例の紹介はどんどん増やしていくと思いますので、チェックいただければ幸いです。


PA Labでは「AIを用いた自動化×サービス開発」の専門家として活動をしています。高度なデータ分析からシステム開発まで一貫したサービス提供を行っており、特に機械学習やディープラーニングを中心としたビジネス促進を得意としております。

無料で分析設計/データ活用に関するご相談も実施中なので、ご相談があればお問い合わせまで。

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

関連記事