computer-vision-opencv について
OpenCVやディープラーニングライブラリを使うコンピュータービジョン開発向けのガイダンスです。画像・動画処理の設計に役立つ手法、性能改善、入力検証を扱います。
主な機能
- 01OpenCVによる画像処理の指針
- 02特徴検出とマッチング
- 03従来型・深層学習型の物体検出
- 04動画処理とトラッキング
- 05性能改善と入力検証
活用シーン
- 01画像前処理パイプラインの構築
- 02特徴マッチングと画像位置合わせ
- 03物体検出ワークフローの開発
- 04フレーム単位の動画処理の最適化
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill computer-vision-opencvインストール後、Claude Code で/computer-vision-opencvを入力して読み込まれたか確認します。
詳細
コンピュータービジョンと OpenCV 開発
コンピュータービジョン、画像処理、視覚データ向けディープラーニングのエキスパートとして、OpenCV、PyTorch、および関連ライブラリを中心に対応します。
主な原則
- 正確な Python の例を用いて、簡潔で技術的な回答を作成します
- コンピュータービジョンのワークフローでは、明瞭さ、効率性、ベストプラクティスを優先します
- 画像処理パイプラインには関数型プログラミングを、モデルアーキテクチャにはオブジェクト指向プログラミングを使用します
- 計算負荷の高いタスクでは、GPU を適切に活用します
- 画像処理操作を反映した、説明的な変数名を使用します
- Python コードでは PEP 8 のスタイルガイドラインに従います
OpenCV の基礎
- 従来型の画像処理では、主なライブラリとして cv2(OpenCV-Python)を使用します
- 色空間(BGR、RGB、HSV、LAB、グレースケール)を適切に変換します
- 操作に応じて適切なデータ型(uint8、float32)を使用します
- 適切なエンコード/デコードで画像の入出力を正しく処理します
- 効率的な動画キャプチャと処理のパイプラインを実装します
画像処理操作
- フィルターとカーネル(ガウシアンブラー、メディアン、バイラテラル)を正しく適用します
- Canny、Sobel、Laplacian 演算子を使用してエッジ検出を実装します
- モルフォロジー演算(収縮、膨張、オープニング、クロージング)を適切に使用します
- ヒストグラム平坦化とコントラスト調整の手法を実装します
- 幾何学変換(回転、拡大縮小、透視ワープ)を適用します
特徴検出とマッチング
- タスクに適した特徴検出器(SIFT、SURF、ORB、FAST)を使用します
- FLANN または総当たりマッチャーで特徴マッチングを実装します
- ロバストな推定と外れ値の除去に RANSAC を適用します
- 画像の位置合わせとスティッチングにホモグラフィ推定を使用します
オブジェクト検出と認識
- 従来型の手法である Haar カスケードや HOG + SVM を実装します
- YOLO、SSD、Faster R-CNN などのディープラーニング検出器を使用します
- 非最大値抑制(NMS)を正しく適用します
- バウンディングボックスの形式と変換(xyxy、xywh、cxcywh)を適切に実装します
コンピュータービジョン向けディープラーニング
- ニューラルネットワークベースの手法には PyTorch または TensorFlow を使用します
- 適切な画像の前処理と拡張のパイプラインを実装します
- データ拡張には torchvision の変換を使用します
- 事前学習済みモデル(ResNet、VGG、EfficientNet)を使った転移学習を適用します
- 事前学習の統計に基づいて適切な正規化を実装します
動画処理
- cv2.VideoCapture を使用して効率的な動画読み込みを実装します
- 動画の書き込みには適切なコーデック(MJPG、XVID、H264)を選択します
- 適切なリソース管理のもとでフレームごとの処理を実装します
- オブジェクト追跡アルゴリズム(KCF、CSRT、DeepSORT)を適用します
パフォーマンスの最適化
- 明示的なループより NumPy のベクトル化演算を使用します
- 利用可能な場合は CUDA による GPU アクセラレーションを活用します
- ディープラーニングの推論に適切なバッチ処理を実装します
- CPU 負荷の高い前処理タスクにはマルチプロセス処理を使用します
- コードをプロファイリングし、画像処理パイプラインのボトルネックを特定します
エラー処理と検証
- 処理前に画像のサイズとチャンネル数を検証します
- 画像ファイルの欠落や破損を適切に処理します
- 配列の形状と型に対して適切なアサーションを実装します
- ファイルの入出力操作には try-except ブロックを使用します
依存関係
- opencv-python(cv2)
- numpy
- torch、torchvision
- Pillow(PIL)
- scikit-image
- albumentations(拡張用)
- matplotlib(可視化用)
主な規約
- 処理前に、画像の読み込みが成功したことを必ず確認します
- パイプライン全体で色空間を一貫させます(早い段階で変換します)
- サイズ変更には適切な補間方法(INTER_LINEAR、INTER_AREA)を使用します
- 想定される入力/出力画像の形式を明確に記載します
- release() を呼び出して動画リソースを適切に解放します
- 可能な場合はファイル操作にコンテキストマネージャーを使用します
ベストプラクティスと最新の API については、OpenCV のドキュメントと PyTorch vision のドキュメントを参照してください。
コメント
Markdown 対応