1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-pytorch_geometry

Клонировать/Скачать
README.md 22 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 29.06.2025 04:42 8b00a89
**Kornia** — это дифференцируемая библиотека компьютерного зрения, которая предоставляет широкий набор дифференцируемых алгоритмов обработки изображений и геометрического зрения. Построенная на основе [PyTorch](https://pytorch.org), Kornia интегрируется плавно в существующие рабочие процессы ИИ, позволяя использовать мощные [пакетные преобразования](https://pytorch.org), [автоматическое дифференцирование](https://pytorch.org) и [ускорение GPU](https://pytorch.org). Независимо от того, работаете ли вы с преобразованиями изображений, улучшениями или обработкой изображений, управляемой ИИ, Kornia предоставляет вам необходимые инструменты для реализации ваших идей.

Основные компоненты

  1. Раздифференцируемая обработка изображений
    Kornia предоставляет полный набор операторов обработки изображений, все они дифференцируемые и готовы к интеграции в глубокие обучающие пайплайны.
    • Фильтры: Гауссовый, Собеля, Медианный, Размытие по ящику, и т. д.
    • Трансформации: Аффинные, Гомографические, Перспективные, и т. д.
    • Улучшения: Равномерное распределение гистограммы, CLAHE, Коррекция гаммы, и т. д.
    • Обнаружение краев: Канни, Лаплас, Собеля, и т. д.
    • . . . проверьте нашу документацию для получения дополнительной информации.
  2. Продвинутые аугментации
    Выполняйте мощную аугментацию данных с помощью встроенных функций Kornia, идеально подходящих для обучения моделей ИИ с использованием сложных пайплайнов аугментации.
    • Пайплайн аугментации: AugmentationSequential, PatchSequential, VideoSequential и т. д.
    • Автоматическая аугментация: AutoAugment, RandAugment, TrivialAugment.
  3. Модели ИИ
    Используйте предобученные модели ИИ, оптимизированные для различных задач компьютерного зрения, все они включены в экосистему Kornia.
    • Обнаружение лиц: YuNet
    • Сопоставление признаков: LoFTR, LightGlue
    • Описание признаков: DISK, DeDoDe, SOLD2
    • Сегментация: SAM
    • Классификация: MobileViT, VisionTransformer.
См. здесь некоторые из методов, которые мы поддерживаем! (>500 операций в общей сложности! )| **Категория** | **Методы/Модели** | |----------------------------|---------------------------------------------------------------------------------------------------------------------| | **Обработка изображений** | - Цветовые преобразования (RGB, Grayscale, HSV и т. д.)
- Геометрические преобразования (Аффинное, Гомография, Изменение размера, и т. д.)
- Фильтрация (Размытие Гаусса, Медианное размытие, и т. д.)
- Обнаружение краев (Собель, Канни, и т. д.)
- Морфологические операции (Эрозия, Дилатация, и т. д.) | | **Усиление данных** | - Случайное вырезание, удаление
- Случайные геометрические преобразования (аффинное, отражение, Fish-Eye, перспектива, тонкая пластина, эластичное)
- Случайные шумы (гауссовский, медианный, движущийся, квадратный, дождь, снег, соль и перец)
- Случайное изменение цвета (контраст, яркость, CLAHE, равномерное, гамма, оттенок, инверсия, JPEG, плазма, постеризация, насыщенность, острота, соляризация)
- Случайное MixUp, CutMix, мозаика, трансплантация, и т. д. | | **Обнаружение признаков** | - Детектор (Харрис, GFTT, Гессиан, DoG, KeyNet, DISK и DeDoDe)
- Дескриптор (SIFT, HardNet, TFeat, HyNet, SOSNet, и LAFDescriptor)
- Соответствие (ближайший сосед, взаимный ближайший сосед, геометрически осведомленное соответствие, AdaLAM LightGlue, и LoFTR) | | **Геометрия** | - Модели камеры и калибровка
- Стереовидение (эпиполярная геометрия, диспаритет, и т. д. )
- Оценка гомографии
- Оценка глубины из диспаритета
- 3D преобразования | | **Слои глубокого обучения** | - Пользовательские сверточные слои
- Рекуррентные слои для задач визуализации
- Функции потерь (например, SSIM, PSNR, и т. д. )
- Оптимизаторы, специфичные для визуализации | | **Фотометрические функции** | - Фотометрические функции потерь
- Фотометрическое усиление данных | | **Фильтрация** | - Билинейная фильтрация
- DexiNed
- Распадение
- Управляемое размытие
- Лаплас
- Гауссовский
- Нелокальные средние
- Собель
- Нерезкое маскирование || **Цвет** | - Преобразования цветовых пространств
- Коррекция яркости/контрастности
- Коррекция гаммы | | **Стереовидение** | - Оценка диспаритета
- Оценка глубины
- Упрощение | | **Регистрация изображений** | - Регистрация на основе аффинных и гомографических преобразований
- Выравнивание изображений с помощью соответствия ключевых точек | | **Оценка позы** | - Оценка матриц essential и fundamental
- Решатели задачи PnP
- Уточнение позы | | **Оптический поток** | - Оптический поток Farneback
- Плотный оптический поток
- Разреженный оптический поток | | **3D-видео** | - Оценка глубины
- Операции с облаками точек
- Nerf | | **Удаление шума изображений**| - Удаление гауссовского шума
- Удаление шума Пуассона | | **Обнаружение границ** | - Оператор Sobel
- Метод обнаружения границ Canny | | **Трансформации** | - Поворот
- Перемещение
- Масштабирование
- Сдвиг | | **Функции потерь** | - SSIM (Индекс структурного сходства)
- PSNR (Пиксельное соотношение сигнал/шум)
- Cauchy
- Charbonnier
- Угловой гладкий
- Dice
- Hausdorff
- Tversky
- Welsch
|## Спонсорство

Kornia — это проект с открытым исходным кодом, разработанный и поддерживаемый волонтерами. Независимо от того, используете ли вы его для исследований или коммерческих целей, рассмотрите возможность спонсирования или сотрудничества с нами. Ваша поддержка поможет обеспечить рост и постоянное инновационное развитие Kornia. Свяжитесь с нами сегодня и станьте частью формирования будущего этого захватывающего проекта!

Установка

PyPI python pytorch

Из pip

pip install kornia
Другие варианты установки

Из исходного кода в режиме редактирования

pip install -e .

Из URL GitHub (последняя версия)

pip install git+https://github.com/kornia/kornia

Быстрый старт

Kornia — это не просто еще одна библиотека компьютерного зрения — это ваш ключ к легкому и эффективному компьютерному зрению и ИИ.

Начните работу с Kornia с трансформацией и аугментацией изображений!
import numpy as np
import kornia_rs as kr

from kornia.augmentation import AugmentationSequential, RandomAffine, RandomBrightness
from kornia.filters import StableDiffusionDissolving

# Загрузите и подготовьте ваше изображение
img: np.ndarray = kr.read_image_any("img.jpeg")
img = kr.resize(img, (256, 256), interpolation="bilinear")
```# Альтернативно, загрузите изображение с помощью PIL
# img = Image.open("img.jpeg").resize((256, 256))
# img = np.array(img)

img = np.stack([img] * 2)  # Пакет изображений

# Определите конвейер аугментации
augmentation_pipeline = AugmentationSequential(
    RandomAffine((-45., 45.), p=1.),
    RandomBrightness((0., 1.), p=1.)
)

# Используя модели StableDiffusion
dslv_op = StableDiffusionDissolving()

img = augmentation_pipeline(img)
dslv_op(img, step_number=500)

dslv_op.save("Kornia-enhanced.jpg")
Узнайте о Kornia ONNX моделях с помощью ONNXSequential!```python import numpy as np from kornia.onnx import ONNXSequential # Связать ONNX модели из репозитория HuggingFace и вашей собственной локальной модели onnx_seq = ONNXSequential( "hf://operators/kornia.geometry.transform.flips.Hflip", "hf://models/kornia.models.detection.rtdetr_r18vd_640x640" # Или вы можете использовать "YOUR_OWN_MODEL.onnx" ) # Подготовить некоторые входные данные input_data = np.random.randn(1, 3, 384, 512).astype(np.float32) # Выполнить инференс outputs = onnx_seq(input_data) # Вывести выходные данные модели print(outputs) ```# Экспорт нового модели ONNX, которая объединяет все три модели в одну цепочку! onnx_seq.export("chained_model.onnx") ```

Поддержка нескольких фреймворков

Теперь вы можете использовать Kornia с TensorFlow, JAX и NumPy. Подробнее о поддержке нескольких фреймворков см. в документации.

import kornia
tf_kornia = kornia.to_tensorflow()

Поддерживается

## Приглашение к участию

Вы увлечены компьютерным зрением, ИИ и открытым исходным кодом? Присоединяйтесь к нам в создании будущего Kornia! Мы активно ищем участников, которые помогут расширить и улучшить нашу библиотеку, делая её ещё более мощной, доступной и универсальной. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете свой путь, у вас есть место в нашем сообществе.

Доступные модели ИИ

Мы рады объявить о нашем последнем достижении: новой инициативе, которая позволяет легко интегрировать легковесные модели ИИ в Kornia. Мы стремимся запускать любые модели так же плавно, как большие модели, такие как StableDiffusion, обеспечивая их хорошую поддержку во многих аспектах. Мы уже включили несколько легковесных моделей ИИ, таких как YuNet (детекция лиц), Loftr (соответствие черт), и SAM (сегментация). Теперь мы ищем участников, которые помогут нам:

  • Расширить выбор моделей: импортировать достойные модели в нашу библиотеку. Если вы исследователь, Kornia — отличное место для продвижения вашей модели!
  • Оптимизация моделей: работать над оптимизацией моделей для уменьшения их вычислительного следа, сохраняя при этом точность и производительность. Вы можете начать с предоставления поддержки ONNX!
  • Документация моделей: создавать подробные руководства и примеры, чтобы помочь пользователям получить максимум от этих моделей в своих проектах.

Улучшение документации и туториалов

Основа Kornia — это обширный набор классических операторов компьютерного зрения, предоставляющих надежные инструменты для обработки изображений, извлечения черт и геометрических трансформаций. Мы постоянно ищем участников, которые помогут нам улучшить нашу документацию и представить интересные туториалы нашим пользователям.

Цитирование

Если вы используете Kornia в документах, связанных с вашими исследованиями, рекомендуется цитировать статью. Подробнее в CITATION.

@inproceedings{eriba2019kornia,
  author    = {E. Riba and D. Mishkin and D. Ponsa and E. Rublee and G. Bradski},
  title     = {Kornia: открытая дифференцируемая библиотека компьютерного зрения для PyTorch},
  booktitle = {Winter Conference on Applications of Computer Vision},
  year      = {2020},
  url       = {https://arxiv.org/pdf/1910.02190.pdf}
}

Вклад

Мы ценим все вклады. Если вы планируете вносить исправления ошибок, пожалуйста, делайте это без дополнительных обсуждений. Если вы планируете вносить новые функции, утилиты или расширения, пожалуйста, сначала откроете issue и обсудите функцию с нами. Пожалуйста, прочитайте инструкции по вкладу. Участие в этом открытом проекте подчиняется Кодексу поведения.

Сообщество

  • Discord: Присоединяйтесь к нашему рабочему пространству, чтобы поддерживать связь с нашими основными вкладчиками, получать последние обновления в отрасли и быть частью нашего сообщества. ПРИСОЕДИНИТЬСЯ
  • GitHub Issues: отчеты об ошибках, запросы на новые функции, проблемы с установкой, RFC, мысли и т.д. СОЗДАТЬ ISSUE
  • Форумы: обсуждайте реализации, исследования и т.д. GitHub Forums

Создано с помощью contrib.rocks.

Лицензия

Kornia распространяется под лицензией Apache 2.0. Подробнее в LICENSE файле.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-pytorch_geometry.git
git@api.gitlife.ru:oschina-mirror/mirrors-pytorch_geometry.git
oschina-mirror
mirrors-pytorch_geometry
mirrors-pytorch_geometry
main