OpenCV 5 が登場:コンピュータービジョン分野における数年に一度の大きな飛躍

2026/06/06 15:02

OpenCV 5 が登場:コンピュータービジョン分野における数年に一度の大きな飛躍

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

OpenCV 5 は、コンピュータビジョン分野において画期的な歴史的リリースであり、高度な人工知能をワークフローに直接統合するとともに、大規模な基盤の刷新を実行しています。このアップデートの核となるのは、動的形状、量子化モデル(QDQ)、およびアテンションや MatMul といったフューズされた演算をサポートする全く新しいグラフベースの深層学習ネットワーク(DNN)エンジンです。この新エンジンは、OpenCV 4.x では約 22% に留まっていた ONNX オペレータの対応度を、OpenCV 5 では 80% 超へと飛躍的に向上させ、標準的な AI モデルを最小限の変換で即座に実行可能にします。Intel ハードウェア上のベンチマーク結果は、大幅なレイテンシ低減を示しており、YOLOv8n(11.5% の高速化)、OWLv2(36.6% の高速化)、XFeat(1.25 倍の高速化)といった特定モデルでも性能向上が確認されました。

このライブラリは現在、内蔵のトークナイザーと KV キャッシュを用いて、大規模言語モデル(LLMs)およびビジョン・ランゲージモデル(VLMs)を DNN モジュール内でネイティブに実行することを可能にし、外部ツールの必要性を排除しました。多種多様なハードウェアにおける速度確保のために再設計されたハードウェア抽象化レイヤー(HAL)は、強力なグラフィックスプロセッサを自動的に活用し、Intel、Arm、Qualcomm、RISC-V 向けの実装向けの特定のバックエンドに加え、Universal Intrinsics 2.0 を通じて FP16 および BF16 といった新しいデータタイプをサポートします。さらに、OpenCV 5 は 0D/1D テンソルのネイティブサポート、NumPy 2.x との完全互換性、名前付き引数などのモダンな Python スタンダードへの対応を導入し、従来の C API を非推奨としています。

calib3d
モジュールは「3d」、「calib」、「stereo」の 3 つに細分化され、マルチカメラキャリブレーションや ALIKED、DISK などのモダンなアルゴリズムを搭載しています。

開発は非営利団体の OpenCV.org が統括し、主要パートナーからのサポートを受けています。pip 版は 6 月 8 日にリリースが予定されています。今回のアップデートには、Sphinx と Doxygen を用いた文書の大規模な再構築も含まれており、永続的なナビゲーションペイン、豊富なチュートリアル、C++ に並ぶ Python シグネチャ等特色を備え、研究者および開発者のデプロイメントパイプラインの簡素化を実現します。

本文

OpenCV 5 リリース概要

OpenCV 5 は、OpenCV の歴史において最も重要なリリースの一つです。20 年以上にわたる間、このライブラリはコンピュータビジョン研究、ロボティクス、組み込みシステム、AI 応用、産業検査、AR/VR、医療画像処理など多様な分野の基盤となってきました。現在 GitHub で 86,000 以上のスターを獲得し、1 日あたり約 100 万回のインストールが行われており、世界最大級のコンピュータビジョンアルゴリズムコレクションの一つです。

OpenCV 5 は単なる進歩ではなく、大きな基盤の現代化を築いています。新しい DNN エンジン、強化された ONNX サポート、ハードウェアアクセラレーション機能の向上、優れた Python 統合、新たなデータ型、拡張された 3D ビジョン能力、改善されたドキュメントなどが導入されます。

目次

  1. なぜ OpenCV 5 か
  2. 現在の OpenCV の立ち位置
  3. OpenCV 5 が解決しようとした課題
  4. 主役:新しい DNN エンジン
  5. 速度比較:OpenCV 5 vs ONNX Runtime
  6. すぐに実行できるモデルたち
  7. OpenCV 内部で動作する LLM と VLM
  8. LaMa を使った画像修復と拡散モデル
  9. 深層学習方式の現代型特徴量一致技術
  10. 高速で軽量な、より現代的なコア機能
  11. 無料で使えるハードウェアアクセラレーション
  12. より高性能な 3D ビジョン
  13. 使いやすいドキュメント
  14. OpenCV 5.0 に含まれる機能一覧
  15. 次なるステップ:GPU 対応と非 CPU HAL
  16. 試して参加しましょう

なぜ OpenCV 5 か?

OpenCV 4 から今日に至るまで、分野は劇的に変化しました。最新のアプリケーションでは古典的な技術と、深層学習トランスフォーマー大規模ビジョンモデルが組み合わさり、エッジデバイスや異種ハードウェアでの展開が求められています。開発者は、ノートパソコンから ARM チップ、専用アクセラレーターまで幅広い環境でコードを効率的に動かしたいと考えています。

OpenCV 5 はこの現実に対応するために設計されました。目指したのは明確です

  • コア機能を高速化・小型化
  • 言語サポートの改善
  • 陳腐な API の整理
  • DNN エンジンの現代化
  • 新しいハードウェアアクセラレーションパスのサポート
  • ドキュメントを使いやすくする

OpenCV を長く使っている方々は、ライブラリは強いものの、深層学習分野でモデル対応に追いついていないと感じた経験があるでしょう。ONNX エクスポートが失敗したり、未知の演算子エラーが出たりすることもありました。

OpenCV 5 の pip パッケージは 6 月 8 日にリリースされます。


現在の OpenCV の立ち位置

OpenCV はニッチなツールではなく、コンピュータビジョン世界の巨大な「水道管(インフラ)」のような存在です。GitHub、PyPI、組み込みビジョンコミュニティなどでの利用が広く、生産システムに深く組み込まれています。そのため、変更は慎重に行う必要があります。

開発主体は非営利組織 OpenCV.org です。サポートには以下の組織が関わっています:

  • Big Vision: ライブラリと OpenCV University の支援
  • OpenCV China: RISC-V と組み込み分野の主要な力
  • OpenCV.ai: 技術的支援

OpenCV 5 が解決しようとした課題

チームは明確な不満点リストを作成しました。主な改善点は以下の通りです:

  • 言語サポートの改善: モダンな Python、刷新されたバインディング、命名引数の採用。
  • 高速で小型のコア: コード緊密化、レガシー C API の廃止、軽量ビルド。
  • クリーンなハードウェアアクセラレーション: ベンダー固有の最適化カーネルをプラグイン可能にし、複雑なコンディショナルコードから解放。
  • 清潔な API: 正しく実装されたスカラー/テンソル、ネイティブ FP16/BF16サポート、ログ機能の改善。
  • 次世代 DNN エンジン: グラフベース、融合処理、広範な ONNX サポート、トランスフォーマー/VLM/LLM 対応。
  • より優れた 3D ビジョン: ChArUco、マルチカメラ較正、可視化機能の向上。
  • より良いドキュメント: ナビゲーションしやすく、現代的な表示。

主役:新しい DNN エンジン

今回のリリース最大の指標は「ONNX オペレータ対応率(カバー率)」です。OpenCV 4.x では約 **22%**でしたが、OpenCV 5 では 80% を超えるようになりました。

古いエンジンでは動的形状やグラフ構造に制限がありましたが、新しいエンジンはモデルを「グラフ」として理解し、型付けされた操作を分析します。これにより以下の機能が可能になりました:

  • if/while ループ子グラフ: 制御フローを持つモデルの実行。
  • シンボリックおよび動的な形状: 事前に固定した形状の制約からの解放。
  • 量子化 (QDQ) グラフ: 量子化モデルの実行。
  • Attention および MatMul フージョン: FlashAttention スタイルによる高速化。

比較:古典的エンジン (4.x) vs. 新しいエンジン (5.x)

機能古典的エンジン (4.x)新しいエンジン (5.x)
モデルの表現各層に 1 つの構造体、順序処理エンジンが分析できる型付けされたグラフ
形状 (Shapes)静的のみ対応シンボリック、動的に対応
子グラフサポートなしif と while がサポートされる
フージョン (Fusion)限定的QDQ, BatchNorm, Attention など多数対応
メモリ管理各層ごとの再利用統一バッファプール採用

これにより、より多くのモデルが読み込み可能になり、動作し、高速化されています。

比較:OpenCV 5 DNN vs ONNX Runtime (ベンチマーク結果)

ハードウェア:Intel Core i9-14900KS, Ubuntu 24.04 LTS。差は OpenCV 5 の方が ONNX Runtime より高い速度です。

モデルOpenCV 5 DNN (ms)ONNX Runtime (ms)高速化率
XFeat6.568.6123.9%
YOLOv8n10.9112.1511.5%
YOLOX-S23.4625.167.24%
DINOv2 small23.7829.5824.4%
OWLv21,0901,48936.6%
BiRefNet7,1789,50324.32%

3 つのエンジン、1 つの API

アップグレードでコードが壊れることを防ぎつつ新機能を導入するために、OpenCV 5 は同じ DNN API の背後に複数のエンジンを用意しています。

readNet*
関数で使用するエンジンタイプを指定できます。

意味
ENGINE_CLASSIC (1)
旧来の 4.x エンジン。非 CPU バックエンド(CUDA、OpenVINO など)用。
ENGINE_NEW (2)
新しいグラフエンジン。フージョン・動的形状対応。現時点では CPU 専用です。
ENGINE_AUTO (3)
デフォルト値。新規エンジンを試し、失敗したら古典的エンジンへフォールバック。
ENGINE_ORT (4)
ONNX Runtime ラッパー
WITH_ONNXRUNTIME=ON
のビルドで利用可能。

ENGINE_AUTO
がデフォルトのため、大部分のコードは変更不要です。特定のバックエンド(CUDA など)を使用したい場合は明示的に古典的エンジンを選択するか、サンプルコードのようにコマンドライン引数で指定します。

Python 実装例

import cv2 as cv

# デフォルト動作 (ENGINE_AUTO): 新しいエンジン優先、失敗時は旧エンジンへフォールバック
net = cv.dnn.readNetFromONNX("model.onnx")

# または、明示的に新しいグラフエンジンを指定することも可能(CPU 限定)
"""
net = cv.dnn.readNetFromONNX("model.onnx", engine=cv.dnn.ENGINE_NEW)
"""

net.setInput(blob)
out = net.forward()

C++ 実装例

#include <opencv2/dnn.hpp>
using namespace cv;

// デフォルト動作 (ENGINE_AUTO)
dnn::Net net = dnn::readNetFromONNX("model.onnx");

// 明示的に新しいグラフエンジン指定(CPU 限定)
/*
dnn::Net netNew = dnn::readNetFromONNX("model.onnx", dnn::ENGINE_NEW);
*/

net.setInput(blob);
Mat out = net.forward();

すぐに実行できるモデルたち

OpenCV 5 の ONNX 対応向上により、検出、セグメンテーション、バックボーン、生成モデルなど幅広いラインアップが動作します。これにより、プロジェクトの依存関係リストからフレームワークを削減できます。


OpenCV 内部で動作する LLM と VLM

OpenCV 5 は別途ランタイムを用意することなく、**大きな言語モデル(LLM)およびビジョン・言語モデル(VLM)**を直接 DNN モジュール内で実行できます。

これを実現するために以下の機能が追加されました:

  1. ネイティブトークナイザー: ライブラリにビルトインされたトークン化処理(Qwen 2.5, Gemma 3, GPT-4 等対応)。
  2. KV キャッシュ: オートレグレス推論のためのキャッシュ。

これにより、画像を入力しテキストを出力するビジョン・言語パイプライン(例:PaliGemma)が可能になります。実験結果では、OpenCV エンジンによる出力と ONNX Runtime がトークンごとに一致しました。

目的: 全体をフレームワークとして追加せず、キャプション生成や OCR 後処理など、特定のタスクに対して小規模な LLM/VLM をアクセス可能なビジョンパイプラインを提供することです。


LaMa を使った画像修復と拡散モデル

物体除去における LaMa の実装は新しい DNN エンジンによる強力なデモの一つです。外部ランタイム不要で、以下のフローを実現します:

  1. 入力画像: 編集対象の写真。
  2. マスク: 除去する領域。
  3. フォワードパス:
    Net::forward
    一通り。
  4. 出力: 穴が埋められ、エッジが合成された画像。

コード例

import cv2 as cv

net = cv.dnn.readNetFromONNX("lama.onnx")
blob = cv.dnn.blobFromImages([img, mask], scalefactor=1/255.)
net.setInput(blob)
out = net.forward()   # 修復された画像

詳細は

samples/dnn/inpainting.py
で確認可能です。さらに拡散ベースの修復も対応 (
samples/dnn/ldm_inpainting.py
)。


深層学習方式の現代型特徴量一致技術

OpenCV の伝統的な任務である「特徴量の検出と一致」分野に、現代的な学習済みアプローチが導入されました。

新しい Features モジュール (
Features2D
)

  • cv::ALIKED
    : CNN ベースの検出・記述子(SIFT/ORB への置き換え)。
  • cv::DISK
    : 強化学習で訓練された特徴量(広視野・低テクスチャ対応)。
  • cv::LightGlueMatcher
    : アテンションベースの Matcher(ステッチング向け)。

従来の SIFT, ORB などは

opencv_contrib
に移行されつつ、引き続き利用可能です。ステッチングモジュール自体もアップグレードされ、追加コードなしに学習済みマッチングを活用できます。


高速で軽量な、より現代的なコア機能

Deep Learning 以外のコア機能も大幅チューンアップされています。

  • 新しいデータ型: FP16 (
    CV_16F
    ), BF16 (
    CV_16BF
    ), bool, int64 などを追加。変換オーバーヘッド削減。
  • N-Dimensional およびスカラーサポート:
    cv::Mat
    が 0D (スカラー) や 1D アレイを表現可能に。ブロードキャスト機能導入でreshape コードが簡略化。
  • パフォーマンス向上: 数学的ワークロードにおいて最大 2 倍の高速化
  • ランゲージクリーンアップ:
    • C++: レガシー C API の非推奨化、C++17 が最小標準(後続は C++20)。
    • Python: NumPy 2.x 対応、命名引数の採用(
      threshold=0.5
      など)。

無料で使えるハードウェアアクセラレーション

再設計された**HAL (Hardware Abstraction Layer)**により、すべてのコア関数が単一のクリーンなコントラクト経由で実行されます。ベンダーは独自に最適化したカーネルをプラグイン可能になり、コードを変更せずとも最適なパスが選択されます。

対応する加速パス

  • Intel IPPICV: x86/x64 SSE/AVX-512 対応(ICV サブセット含む)。
  • Arm KleidiCV: AArch64 NEON/SVE/SME 対応(AWS Graviton, Cortex-A 検証済み)。
  • Qualcomm FastCV: Snapdragon Hexagon DSP/NPU 対応。
  • RISC-V Vector (RVV): スケーラブルなベクトルサポート。

これらすべての基盤にはUniversal Intrinsics 2.0があり、1 つの実装で多数のアーキテクチャをカバーします。特に ARM 操作において 3-4 倍の高速化が報告されています。


より高性能な 3D ビジョン

旧来の巨大

calib3d
モジュールは、以下の 3 つに焦点を絞ったモジュールへと再構築されました:

  1. 3d: 基本幾何学、SLAM、ICP アルゴリズムなど。
  2. calib: カメラ較正(シングル・マルチカメラ)。
  3. stereo: ステレオ深度計測。

ハイライト機能

  • マルチカメラ較正:
    calibrateMultiview
    やロボティクス用の較正ツール。
  • 点雲およびメッシュ I/O:
    load/savePointCloud
    ,
    load/saveMesh
    (OBJ, PLY)。
  • 高密度 RGB-D 融合: TSDF, HashTSDF ボリューム、視覚測位。
  • 頑健な推定: USAC フレームワーク(MAGSAC 含む)、RANSAC フィッティング。

使いやすいドキュメント

ドキュメントは Sphinx + Doxygen パイプラインへ移行し、よりモダンになりました。

  • 左ハンドナビゲーションペインの解消
  • API リファレンスにチュートリアルが隣接
  • Python シグネチャと C++ が並列表示
  • pre-commit によるリンクチェッカー統合

OpenCV 5.0 に含まれる機能一覧

機能OpenCV 5.04.x と比較
ONNX カバー率**80%**以上~22% (大きなジャンプ)
DNN エンジングラフエンジン、フージョン、バッファプール静的形状のみ
オプションバックエンド
ENGINE_ORT
経由で ONNX Runtime 利用可能
ネイティブのみ
LLM / VLM サポートネイティブ対応 (トークナイザー+KV キャッシュ)不可
動的形状 ONNXネイティブ対応(形状推論エンジン)制限あり/バグ多発
0D / 1D テンソル
cv::Mat
がスカラー・1D 対応
少なくとも 2D 必須
データ型FP16, BF16, bool, int64 追加主に FP32/INT8/UINT8

リリース予定: 2026 年 6 月(CVPR 2026 と同期)。


次なるステップ:GPU 対応と非 CPU HAL

新 DNN エンジンへのネイティブ GPU サポート

現在はグラフエンジンが CPU に最適化されています。将来的には、ネイティブエンジン自体に GPU 加速が実装される予定です。型付けされたオペレータやグラフベース設計を活用し、CPU 依存から解放され、GPU でインテリジェントなスケジューリングを行います。

加速処理用の非 CPU HAL

モデルだけでなく、モデルの前後処理(リサイズ、正規化など)も同じアクセラレーター上で動作させます。これによりデータのコピーオーバーヘッドがなくなり、推論ボトルネックを解消できます。ロードマップを通じてこれらの機能が発展していく予定です。


試して参加しましょう

OpenCV はコミュニティプロジェクトです。以下のリンクから最新情報を入手してください:


結論

OpenCV 5 は、DNN エンジンの再構築による対応率向上と新機能に加え、高速化されたコア、クリーンな API、透明なハードウェアアクセラレーション、改善されたドキュメントを備えています。互換性を重視した段階的な移行により、既存ユーザーの置き去りにならずに現代化が実現されています。

最新の OpenCV が読み込めないモデルを持っていたら、このリリースは再検討すべきチャンスです。ぜひ 5.x ブランチを試して進歩を確認してください。

同じ日のほかのニュース

一覧に戻る →

2026/06/10 1:58

クロード・フェブル 5

## 日本語訳: 以下の改善されたバージョンでは、欠落していた安全性の詳細、具体的な価格設定構造、データ保持ポリシー、および可用性のタイムラインを補いながら、明瞭性を維持しています: ## まとめ: Anthropic は、一般使用に安全であり、ソフトウェア工学、可視化解析、長期コンテキスト処理、科学的研究、およびメモリータスクにおいて従来のすべてのバージョンを超えた「Mythos クラス」のモデルである **Claude Fable 5** を導入しました。同モデルは直ちに API とサブスクリプションプラン(Pro から Enterprise まで)で利用でき、6 月 22 日まで利用可能です(6 月 23 日からは使用クレジットに移行)。価格は入力トークンあたり **10 ドル**、出力トークンあたり **50 ドル** で設定されており、Claude Mythos Preview など以前のプレミアムモデルよりも大幅に安価です。 Fable 5 は転換的な性能向上を提供し、以前は何ヶ月もかかった工学タスクを数日へと圧縮するとともに、薬剤設計を約 10 倍加速させます。安全性と有用性のバランスを取りつつ、Fable 5 におけるセンシティブなトピックに関するクエリについては、**Claude Opus 4.8** にフォールバックを行う設定となっており、これは保守的なチューニングによりセッションの **約 5% よりも少ない割合** で発生します。さらに、特定の分類器は生物学/化学分野での危険な研究の向上や悪意のあるハッキング試行をブロックします。また、Anthropic は Mythos クラスモデルに対して新しい **30 日間のデータ保持ポリシー** を実施し、このトラフィックを新モデルの訓練や安全性以外の目的で使用することを禁止しています。 一般向けの Fable 5 バージョンは依然として非常に安全ですが、未検閲バージョンである **Claude Mythos 5** は、15 カ国以上で選択されたサイバーセキュリティおよびインフラストラクチャパートナー(将来的には約 150 の新しい組織へ拡大)を独占的に対象とする **Project Glasswing** を通じて利用可能です。この戦略的動きは、責任ある使用基準を損なうことなく科学的発見を加速し、重要インフラのセキュリティを強化することを目的としています。プログラムには、将来、特定の生命科学研究者のために生物学/化学の safeguards を解除する計画も含まれています。

2026/06/10 6:01

NPM バージョン 12 で導入される予定のbreaking changes

## Japanese Translation: npm v12 開始(推定リリースは 2026 年 7 月)、`npm install` に対してより厳格なセキュリティデフォルトが適用されます。最も重要な変更は、自動スクリプト実行の無効化です(`allowScripts` がデフォルトでオフ)。明示的に承認されないと、preinstall、install、postinstall スクリプト(`node-gyp` を介するネイティブビルドを含む)がブロックされます。準備のためには、これらの変更を警告付きで利用可能な npm v11.16.0+(またはそれ以降)を使用してください:`npm approve-scripts --allow-scripts-pending` を実行し、信頼できるパッケージについては `npm approve-scripts` で明示的に承認し、他は `npm deny-scripts` で拒否します。結果となる許可リストは `package.json` に書き込まれコミットすべきであり、v12 へのアップグレード後は承認されたスクリプトのみが実行されます。 さらに、デフォルトでは `--allow-git`(npm 11.10.0+ で利用可能)は none に解決され、Git ベースの依存関係に対して明示的なフラグが必要となり、`.npmrc` オーバーライドを介した潜在的なコード実行経路を閉じます。同様に、`--allow-remote`(npm 11.15.0+ で利用可能)はリモート URL から依存関係を解決する場合にデフォルトで none に設定されます。`--allow-file` および `--allow-directory` は現在のデフォルトを維持します。保守担当者および CI/CD パイプラインは依存関係を検証し、`package.json` 内の許可リストを更新し、アップグレード前に変更をコミットする必要があります。そうでない場合、手動の例外を設定しない限りビルド失敗となります。詳細は npm ドキュメントの `npm approve-scripts`、`npm deny-scripts`、および `allow-scripts config` をご参照ください。

2026/06/10 4:21

FPGA を用いたKolmogorov-Arnold Networkによる超高速機械学習

## Japanese Translation: 本テキストは、Kolmogorov-Arnold Network(KAN)を Field-Programmable Gate Array(FPGA)上で展開し、超高速機械学習に特化して設計された革命的な新ハードウェアアーキテクチャを導入します。従来の GPU はスケジューリング遅延およびメモリオーバーヘッドによりマイクロ秒以下の応答時間を達成できず苦労しますが、この FPGA ベースのアプローチでは、ニューラルネットワークをリプログラミング可能なデジタルロジックと直接統合するため、アルゴリズムと設計のコデザインを採用しています。固定された重みではなく、B スプライン基底関数によって定義される学習可能なエッジアクティベーションに置き換えることで、伝統的なルックアップテーブルモデルに見られるような指数関数的スケーリングの問題を回避します。この手法は、定点符号化によるデータエンコーディングの簡素化を実現し、トレーニングの安定性を確保します。主な革新点は、「B スプラインの局所性」の利用であり、グリッドセルごとにアクティブとなる基底関数の数が限られているため、ネットワークの次数を増やすことなくグリッドサイズを拡大することでモデルを水平方向にスケール可能になります。得られる枠組みは「KANELÉ」と命名され、従来の実装に対する驚異的な 2,700 倍もの速度向上を達成し、オンデバイスでの動的モデル更新が可能となる真のオンライン学習を実現します。この画期的な成果は、量子コンピューティング制御システムなどリアルタイム意思決定が必要な産業に対し、高効率性と継続的改善を支援する GPU の代替として堅牢な選択肢を提供します。大規模テストにおいて、同システムは関数近似やキュビット読み出しなどのタスクで伝統的な MLP よりも優れたハードウェアスケーリングと収束性を示し、50,000 パラメータまで扱いながらマイクロ秒以下のレイテンシを維持しました。