VisioForge

Last updated: 2026年1月

Accord.NET代替:VisioForge .Net SDKへの移行ガイド

アーカイブされたAccord.NETをモダンな.NET 6-10代替に置き換え

Accord.NET(Accord.Video、Accord.Vision、Accord.MachineLearning)からモダンな.NET 6-10代替へ移行するC#開発者向け

なぜAccord.NETを置き換えるのか?

Accord.NETは2015年にAForge.NETのソースコードを統合し、機械学習、統計、追加のコンピュータビジョンアルゴリズムで拡張しました。このプロジェクトは現在GitHubでアーカイブされ、アクティブなメンテナンスは行われていません。.NET 6-10向けのAccord.NETの代替や置き換えを探している場合、このガイドはすべての移行パスをカバーしています。

リスク影響
プロジェクトがアーカイブ済みバグ修正、セキュリティパッチ、アップデートなし
レガシー.NET.NET Frameworkのみ — .NET 6、8、9、10のサポートなし
古いMLML.NET、TensorFlow.NET、ONNX Runtimeより前のもの
AForgeビデオコードビデオキャプチャに同じ放棄されたAForge.Videoの内部コード
WindowsのみDirectShowベースのビデオ、クロスプラットフォームサポートなし
セキュリティ画像/ビデオ処理における未修正の脆弱性

移行戦略

Accord.NETは3つの領域をカバーしていました。それぞれ異なるモダンなスタックに移行します:

Accord.NETの領域モダンな代替
ビデオキャプチャ(Accord.Video)VisioForge Video Capture SDK .Net
コンピュータビジョン(Accord.Vision、Accord.Imaging)VisioForge .Net SDK(組み込みOpenCV 4.11 / DLib検出器)またはスタンドアロンOpenCvSharp
機械学習(Accord.MachineLearning、Accord.Neuro)ML.NETまたはONNX Runtime

ビデオキャプチャの移行:Accord.Video → VisioForge

Accord.Videoは基本的にAForge.Videoにわずかな追加を加えたものです。Accord.NETの`VideoCaptureDevice`、`MJPEGStream`、`ScreenCaptureStream`を使用している場合、.NET 6-10でのモダンなC#ウェブカメラキャプチャ、RTSPストリーミング、画面録画のためにVisioForge Video Capture SDKに置き換えてください。

クラスマッピング

Accord.VideoクラスVisioForge代替
`VideoCaptureDevice``VideoCaptureCoreX` + `VideoCaptureDeviceSourceSettings`
`MJPEGStream``VideoCaptureCoreX` + `RTSPSourceSettings`
`ScreenCaptureStream``VideoCaptureCoreX` + `ScreenCaptureSourceSettings`
`FileVideoSource``MediaPlayerCoreX`または`VideoEditCoreX`
`NewFrameEventArgs``OnVideoFrameBuffer`イベント

C#ビデオキャプチャの例

Accord.NET — ウェブカメラキャプチャ(移行前)

C#
var videoDevices = new FilterInfoCollection(FilterCategory.VideoInputDevice);
var videoSource = new VideoCaptureDevice(videoDevices[0].MonikerString);
videoSource.NewFrame += (s, e) =>
{
    pictureBox.Image = (Bitmap)e.Frame.Clone();
};
videoSource.Start();

VisioForge — ウェブカメラキャプチャ(移行後)

C#
var capture = new VideoCaptureCoreX(videoView);
var devices = await DeviceEnumerator.Shared.VideoSourcesAsync();
capture.Video_Source = new VideoCaptureDeviceSourceSettings(devices[0]);
capture.Outputs_Add(new MP4Output("recording.mp4"), true);
await capture.StartAsync();

コンピュータビジョンの移行:Accord.Vision → VisioForge / OpenCvSharp

VisioForge .Net SDKには、OpenCV 4.11とDLibを活用した組み込みコンピュータビジョンブロックが含まれています。これらはVisioForgeメディアパイプラインに直接統合されます — 手動のフレーム変換や外部ライブラリは不要です。ビデオパイプライン外でのスタンドアロン画像処理には、OpenCvSharpを直接使用できます。

クラスマッピング

Accord.Vision機能VisioForge組み込みスタンドアロンOpenCvSharp
`HaarObjectDetector`(顔検出)`CVFaceDetectBlock` — 目/鼻/口検出付きHaarカスケード、顔ぼかし/ピクセル化`CascadeClassifier`
`HaarObjectDetector`(顔検出、DNN)`CVFaceDetectBlock` — Caffe SSDモデル、信頼度フィルタリング、GPU高速化DNNモジュール
`HaarObjectDetector`(顔検出、DLib)`CVFaceDetectBlock`(CVD) — DLib HOG+SVM正面顔検出器
`MotionDetector``CVMotionCellsBlock` — オブジェクトトラッキング付きMOG2背景差分`BackgroundSubtractorMOG2`
`BlobCounter``CVMotionCellsBlock` — ブロブトラッキング、輪郭検出、車両カウント`Cv2.FindContours()` + `Cv2.ConnectedComponents()`
`HistogramsOfOrientedGradients`(HOG)`CVFaceDetectBlock` — HOG+SVM人物検出`HOGDescriptor`
`CannyEdgeDetector``CameraCoveredDetector` — Cannyベースのレンズ遮蔽検出`Cv2.Canny()`
`SpeededUpRobustFeatures`(SURF)`SIFT.Create()`(SURFは特許取得済み、SIFTまたはORBを使用)
`HoughLineTransformation``Cv2.HoughLinesP()`
テンプレートマッチング`Cv2.MatchTemplate()`

組み込みプライバシー機能

VisioForge検出器には組み込みのプライバシー処理が含まれています — 追加コード不要:

  • 顔ぼかし — 検出された顔領域にガウシアンぼかしを適用
  • 顔ピクセル化 — 顔領域のブロックピクセル化
  • 領域キャッシュ — フレーム間での滑らかな結果(設定可能なキャッシュサイズ)

C#顔検出の例

Accord.NET — 顔検出(移行前)

C#
var detector = new HaarObjectDetector(
    new HaarCascade(HaarCascade.FaceHaarCascadePath));
detector.MinSize = new Size(30, 30);
Rectangle[] faces = detector.ProcessFrame(bitmap);

VisioForge — Haarカスケード顔検出(移行後)

C#
var settings = new CVFaceDetectSettings
{
    DetectFrontalFace = true,
    DetectEyes = true,
    DetectNose = true,
    DetectMouth = true,
    MinFaceSize = new Size(30, 30),
    ScaleFactor = 1.1,
    DrawEnabled = true
};
var detector = new CVFaceDetectBlock(settings);
// Add to a MediaBlocks pipeline or use standalone

VisioForge — DNN顔検出器(高精度、GPUサポート)

C#
var settings = new CVFaceDetectSettings
{
    Confidence = 0.25,
    DrawEnabled = true,
    BlurFaces = true  // built-in privacy blur
};
var detector = new CVFaceDetectBlock(settings);

VisioForge — DLib顔検出器

C#
var settings = new CVFaceDetectSettings
{
    DrawEnabled = true,
    MinFaceSize = new Size(30, 30)
};
var detector = new CVFaceDetectBlock(settings);

スタンドアロンOpenCvSharp(代替)

C#
using var cascade = new CascadeClassifier("haarcascade_frontalface_default.xml");
using var mat = Cv2.ImRead("image.jpg");
using var gray = new Mat();
Cv2.CvtColor(mat, gray, ColorConversionCodes.BGR2GRAY);
var faces = cascade.DetectMultiScale(gray, 1.1, 3, 0, new Size(30, 30));

C#歩行者検出の例

Accord.NET — HOG歩行者検出(移行前)

C#
var hog = new HistogramsOfOrientedGradients();
double[] features = hog.ProcessImage(bitmap);
// Manual SVM classification needed

VisioForge — 歩行者検出(移行後)

C#
var settings = new CVFaceDetectSettings
{
    DrawEnabled = true,
    VideoScale = 1.0,
    FramesToSkip = 2
};
var detector = new CVFaceDetectBlock(settings);

C#モーション検出の例

Accord.NET — モーション検出(移行前)

C#
var detector = new MotionDetector(
    new TwoFramesDifferenceDetector(),
    new BlobCountingObjectsProcessing());
double motionLevel = detector.ProcessFrame(bitmap);

VisioForge — オブジェクト/モーション検出(移行後)

C#
var settings = new CVMotionCellsSettings
{
    DrawEnabled = true
};
var detector = new CVMotionCellsBlock(settings);
// MOG2 background subtraction with automatic object tracking and ID assignment

機械学習の移行:Accord.MachineLearning → ML.NET

ビデオ処理中のディープラーニング推論のために、VisioForgeは組み込みDNN顔検出(`CVFaceDetectBlock`)、歩行者検出(`CVFaceDetectBlock`)、オブジェクトトラッキング(`CVMotionCellsBlock`)を提供します。カスタムモデルの場合は、フレームコールバックでONNX Runtimeを統合してください。

MLクラスマッピング

Accord.ML機能ML.NET代替
`SupportVectorMachine``SdcaMaximumEntropy`または`LinearSvm`
`DecisionTree``FastTree`または`FastForest`
`KMeans``KMeansTrainer`
`NaiveBayes``NaiveBayes`(ML.NET)
`NeuralNetwork`(Accord.Neuro)ONNX RuntimeまたはTensorFlow.NET
`PrincipalComponentAnalysis``PrincipalComponentAnalysis`(ML.NET contrib)

移行チェックリスト

  • Accord.NETの使用状況を監査 — どの領域(ビデオ、ビジョン、ML)が使用されているか特定する
  • ビデオキャプチャ → VisioForge Video Capture SDK NuGetパッケージをインストール
  • コンピュータビジョン → VisioForge組み込み検出器(顔、歩行者、オブジェクト、車両カウント)を使用するか、スタンドアロン使用のためにOpenCvSharp4をインストール
  • 機械学習 → ML.NETまたはONNX Runtime NuGetパッケージをインストール
  • ビデオソースクラスを置き換え — 上記のマッピングテーブルを参照
  • ビジョンアルゴリズムを置き換え — VisioForge MediaBlocksを使用するかOpenCvSharp相当に移植
  • MLモデルを置き換え — ML.NETで再トレーニングまたはONNXにエクスポート
  • Accord NuGetパッケージを削除 — 依存関係をクリーンアップ
  • モダンな.NETをターゲット — .NET 6-10
  • クロスプラットフォームテスト — VisioForgeとOpenCvSharpはどちらもWindows、macOS、Linuxをサポート

移行後に得られるもの

項目Accord.NET移行後
ステータスアーカイブ済みアクティブな開発(すべての代替)
フレームワーク.NET Framework.NET 6-10
ビデオキャプチャ基本的なAForge内部コードエフェクト、ストリーミング、録画付きプロフェッショナルSDK
コンピュータビジョン古いアルゴリズムVisioForge組み込み検出器 + 完全なOpenCV 4.11(2500+アルゴリズム)
機械学習基本的なアルゴリズムML.NET + ONNX(本番レベル)
顔検出基本的なHaarのみHaar + DNN(Caffe SSD)+ DLib HOG、ぼかし/ピクセル化付き
オブジェクト検出基本的なブロブカウンターMOG2背景差分 + ID付きトラッキング
歩行者検出手動HOG+SVM組み込み1行歩行者検出器
ディープラーニングなしONNX Runtime、TensorFlow.NET
プラットフォームWindowsのみWindows、macOS、Linux、iOS、Android
オーディオエフェクトなし40+(EQ、リバーブ、コーラス、3D)
GPU高速化なしCUDA(OpenCvSharp)、GPUエフェクト(VisioForge)

Frequently Asked Questions

Accord.NETはまだメンテナンスされていますか?
いいえ。Accord.NETは2018年以降アクティブな開発が行われておらず、GitHubでアーカイブされています。セキュリティパッチ、バグ修正、.NET 6+サポートの予定はありません。モダンなAccord.NET代替としてVisioForge .Net SDKをご使用ください。
OpenCvSharpなしでVisioForgeを顔検出に使用できますか?
はい。VisioForge .Net SDKには3つの組み込み顔検出エンジンが含まれています — Haarカスケード(CVFaceDetectBlock)、DNNベース(CVFaceDetectBlock)、DLibベース(CVFaceDetectBlock)。追加のOpenCVインストールは不要です。
VisioForgeは.NET 6、.NET 8、.NET 9、.NET 10をサポートしていますか?
はい。すべてのVisioForge .Net SDKパッケージは.NET 6から.NET 10をサポートしており、Windows、macOS、Linuxでのクロスプラットフォームデプロイメントも含まれます。
C#でのビデオキャプチャに最適なAccord.NET代替は何ですか?
VisioForge Video Capture SDK .Netは、モダンな非同期API、ウェブカメラ、IPカメラ(RTSP/ONVIF)、画面キャプチャのサポート、MP4、WebMなどの形式への出力で、Accord.Video(および基盤のAForge.Video)を置き換えます。
Accord.NETから段階的に移行できますか?
はい。VisioForge SDKは移行中にAccord.NETパッケージと共存できます。一度に1つのコンポーネントを置き換え — ビデオキャプチャから始めて、次にビジョン、次にML — 各移行ステップの完了に合わせてAccord.NET NuGetパッケージを削除してください。

VisioForge .Net SDKを始めましょう

関連する移行ガイド