Kornia オープンソースの微分可能コンピュータビジョンライブラリ、Pytorch ベース、GitHub 3000 スター

Kornia オープンソースの微分可能コンピュータビジョンライブラリ、Pytorch ベース、GitHub 3000 スター

OpenCV の創設者 Gary Bradski 氏らが最近、Kornia のレビューを公開しました。 Kornia は、微分可能な基本的なコンピューター ビジョン演算子と微分可能なデータ拡張を実装する、PyTorch に基づく微分可能なコンピューター ビジョン ライブラリです。このプロジェクトは Github で 3,000 個のスターを獲得しました。

ディープラーニングでも従来の視覚処理ソリューションでも、最も一般的に使用される画像処理ライブラリは OpenCV と PIL です。ただし、OpenCV と PIL は微分可能ではないため、これらのプロセスは画像の前処理としてのみ使用でき、勾配の変化を観察してこれらの演算子を最適化することはできません (勾配ベースの最適化)。こうしてコルニアが誕生したのです。

  • 論文リンク: https://arxiv.org/pdf/2009.10521.pdf
  • プロジェクトリンク: https://github.com/kornia/kornia
  • ドキュメントリンク: https://kornia.readthedocs.io/en/latest/index.html

Kornia は、PyTorch をベースにした微分可能なコンピューター ビジョンのオープン ソース ライブラリで、Github で 3000 個のスターを獲得しています。従来の視覚処理とディープラーニングのニーズをバランスさせるために、Kornia は次のことを達成しました。

  1. 微分可能な基本的なコンピューター ビジョン演算子。
  2. 微分可能なデータ拡張。

Kornia は PyTorch をベースとしているため、次の機能も備えています。

  1. 微分可能性。すべての演算子の勾配は、PyTorch の AutoGrad によって計算され、PyTorch のオプティマイザー (Adam など) を使用して最適化されます。
  2. GPU/TPU アクセラレーション。 Kornia は、CPU に加えて、GPU や TPU でも操作を実行できます。
  3. バッチデータ処理。大量のデータを同時に処理して運用効率を向上します。

1. Kornia 微分可能コンピュータビジョン

色変換、低レベルの画像処理、画像の幾何学的変換、特徴検出など、さまざまなコンピューター ビジョン分野の問題を解決するために、Kornia は次の図に示すモジュールを設計しました。

Kornia は OpenCV の機能を PyTorch で再実装するだけでなく、従来のビジョンにおける微分不可能な操作の一部を微分可能にしていることにも注目に値します。たとえば、切り抜き操作は、透視変換とアフィン変換によって実装されます。

微分可能性に基づいて、Kornia の従来の視覚的手法も勾配降下法によって最適化できます。たとえば、勾配降下法は画像の深度推定 (Depth Estimation) を実装するために使用されます。

詳細なコードについては、https://github.com/kornia/kornia-examples/blob/master/depth_estimation.ipynb を参照してください。

または、勾配降下法を使用して画像の登録を実現します。

詳細なコードについては、https://github.com/kornia/kornia-examples/blob/master/homography.ipynb を参照してください。

2. Kornia 微分可能データ拡張

ディープラーニングで最も一般的に使用される最適化手法は勾配ベースの最適化ですが、一般的に使用されるデータ拡張ライブラリ (TorchVision、Albumentations など) は微分可能ではありません。ディープラーニングとの統合を強化するために、Kornia は TorchVision API を参考にして、微分化可能なデータ拡張 (DDA) を実装しました。現在、開発チームは、下図に示すように、より差別化可能な 2D 画像と 3D ボリューム データの拡張も開発し続けています (RGB 3D ボリュームは珍しく、その実装はコミュニティによって推進されます)。

Kornia は PyTorch をベースに開発されているため、畳み込み層やプーリング層を使用するのと同じように、データ拡張のロジックが PyTorch ネットワークに自然に統合されます。同様に、Kornia 拡張モジュールを任意に定義、保存、ロードし、任意のデバイス (CPU/GPU/TPU) で計算できます。特にトレーニング中、CPU がすでに過負荷になっている場合、Kornia はトレーニング速度と GPU 使用率を大幅に向上させます。

同時に、Kornia のデータ拡張手法も勾配によって簡単に最適化できます。次の例は、ColorJitter を使用して画像と拡張パラメータを更新する方法を示しています。ここでは、nn.Parameter を通じて 3 つの微分可能なパラメータ (明度、彩度、コントラスト) を定義し、torch.tensor を通じて微分不可能なパラメータ (色相) を定義します。結果から、大きな学習率 (学習率 = 1e + 5) によって更新された画像と、3 つの微分可能なパラメータの変化を確認できます。

3. 追記

近年、微分可能データ拡張やコンピューター ビジョンがコミュニティでますます注目を集めています。 Faster AutoAugment などの最近の研究は、Kornia の微分可能性に基づいた自動データ拡張戦略の最適化手法です。開発チームは、自分たちの研究がより多くの潜在的なプロジェクトに応用されることを期待していると述べた。将来的には、データ拡張操作や勾配推定方法をさらに追加し、JIT のサポートを強化する予定です。

<<:  RFID技術によるスマート製造

>>:  6つの新しいことに焦点を当て、新境地を開拓し、プロジェクトは変革を促進するための王様です。2020年中国(太原)人工知能会議が開催されました

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

最高裁判所も顔認識の乱用に対して行動を起こした。

生体認証技術である顔認証は、非接触、非強制、同時性などの特徴から、ますます広く利用され、人々の生活の...

AIがデータセンターを管理するのに時間がかかる理由

ハイパースケーラーはすでに業務改善のために AI を活用していますが、他のほとんどのデータセンターで...

「AI論文のオープンソースコードの義務化に反対する理由」

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

RNN の効率は Transformer に匹敵し、Google は 2 つの新しいアーキテクチャをリリース: 同じ規模では Mamba よりも強力

今回、Google DeepMindは基本モデルに新たな動きを見せた。リカレント ニューラル ネット...

調査によると、人工知能ソフトウェア市場は2025年までに370億ドルに達すると予想されている。

Forrester は、2025 年までの市場規模をより現実的に把握するために、AI ソフトウェア...

任意のデータセットに基づいて LLM (大規模言語モデル) ロボットを作成する

今日、偶然Embedchainというウェアハウスを見つけ、とても便利だと思ったので、皆さんとシェアし...

ドローンは将来何ができるのか

ドローンは、専用のリモートコントロールユニットを介して自律飛行できる無人航空機 (UAV) です。コ...

...

偽造AIがまた進化しました!たった一枚の写真で、スピーチと歌のビデオが自動的に生成されます

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

技術者がAIを活用してキャリアを守る方法

「自動化」や「人工知能(AI)」などの「技術革新」がビジネスや仕事の本質を変えていることは間違いあり...

ソフトウェア開発は最終的に時代遅れになるのでしょうか?

[[283217]] [51CTO.com クイック翻訳] 著名なベンチャーキャピタリスト、マーク...

警戒するのは困難:真剣な AI 研究がいかにしてコンピューター生成ポルノに変わったのか?

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

...