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)は広域ネットワーク...

...

ソフトウェア開発を簡素化する 5 つの機械学習ツール

[51CTO.com クイック翻訳] 機械学習を使用する開発者の間での議論のほとんどは、AI ベース...

世界ロボット会議は、未来がここにあることを伝えます。

「リラックスして、直立不動で、右を向いてください!」司会者の指示に従い、一列に並んだロボットが一斉...

HUST チーム: 不純物のない LK-99 結晶が鍵です!中国科学院物理研究所がLK-99を「偽造」し、最も検索された

連日続いている「室温超伝導」事件に、新たな続報が続いている。サンプルの半懸濁に成功した華科チームは本...

...

...

企業におけるAIの応用は成熟段階に入ったのでしょうか?

マッキンゼーは、AI が多くの業務活動を自動化するという見通しに楽観的である一方で、あらゆる規模の自...

テスラですら理解できない、車両と道路の連携が自動運転の究極のソリューションなのか?

[[434381]]最初は1兆円、次に1.2兆円と、テスラの時価総額は新たな高値を更新し続けました...

研究者たちは、スマートデバイスがAIを使って声の発信元を判断できるようにする準備を進めている。

このアイデアはプライバシー擁護者を怖がらせているが、スマートスピーカーの開発者は、ユーザーのウェイク...

...

AIが中国の山水画を生成!プリンストン大学の女子学生が卒業制作で描いた線と筆致は、人間の観察者の半数を騙した。

GAN を使用して作品を制作することは新しいことではないようです。 2019年、NVIDIAはGT...

AIエージェントに完全な人生を与えましょう! HKU NYU Xie Sainingらによる最新の知的研究:仮想は現実である

より強力な AI エージェントを構築するにはどうすればよいでしょうか?答えは、彼らに完全で現実的な世...

今日の企業で人気の AI ユースケース 12 選

世界中の企業が、プロセスの合理化、コストの最適化、人的エラーの防止、顧客の支援、IT システムの管理...