английский | 简体中文
Документы • Попробуйте прямо сейчас • Учебники • Примеры • Блог • Сообщество
Kornia — это дифференцируемая библиотека компьютерного зрения, которая предоставляет богатый набор дифференцируемых алгоритмов обработки изображений и геометрического зрения. Построенная на базе PyTorch, Kornia легко интегрируется в существующие рабочие процессы искусственного интеллекта, позволяя использовать мощные пакетные преобразования, автоматическую дифференциацию и ускорение графического процессора. Независимо от того, работаете ли вы над преобразованием, увеличением или обработкой изображений с помощью искусственного интеллекта, Kornia предоставит вам инструменты, необходимые для воплощения ваших идей в жизнь.
Категория | Методы/модели |
---|---|
Обработка изображений | - Преобразование цветов (RGB, оттенки серого, HSV и т. д.) - Геометрические преобразования (аффинные, гомографические, изменение размера и т. д.) - Фильтрация (размытие по Гауссу, медианное размытие и т. д.) - Обнаружение края (Собел, Кэнни и т. д.) - Морфологические операции (Эрозия, Дилатация и т.д.) |
Увеличение | - Случайное обрезка, стирание - Случайные геометрические преобразования (Аффинное, переворачивание, Рыбий глаз, Перспектива, Тонкий пластинчатый сплайн, Эластичный) - Случайные шумы (Гаусс, Медиана, Движение, Коробка, Дождь, Снег, Соль и Перец) - Случайное дрожание цвета (контраст, яркость, CLAHE, выравнивание, гамма, оттенок, инвертирование, JPEG, плазма, постеризация, насыщенность, резкость, соляризация) - Случайное MixUp, CutMix, Мозаика, Трансплантация и т. д. |
Обнаружение функций | - Детектор (Harris, GFTT, Hessian, DoG, KeyNet, DISK и DeDoDe) - Дескриптор (SIFT, HardNet, TFeat, HyNet, SOSNet и LAFDescriptor) - Сопоставление (ближайший сосед, общий ближайший сосед, геометрическое сопоставление, AdaLAM LightGlue и LoFTR) |
Геометрия | - Модели камер и калибровка - Стереозрение (эпиполярная геометрия, несоответствие и т. д.) - Оценка гомографии - Оценка глубины по несоответствию - 3D трансформации |
Слои глубокого обучения | - Пользовательские слои свертки - Повторяющиеся слои для задач машинного зрения - Функции потерь (например, SSIM, PSNR и т. д.) - Специализированные оптимизаторы |
Фотометрические функции | - Функции фотометрических потерь - Фотометрические дополнения |
Фильтрация | - Двусторонняя фильтрация - ДексиНед - Растворение - Управляемое размытие - лапласиан - Гауссовский - Нелокальные средства - Собель - Нерезкая маскировка |
Цвет | - Преобразования цветового пространства - Регулировка яркости/контрастности - Гамма-коррекция |
Стерео Видение | - Оценка несоответствия - Оценка глубины - Исправление |
Регистрация изображения | - Аффинная и гомографическая регистрация. - Выравнивание изображений с использованием сопоставления объектов |
Оценка позы | - Существенная и фундаментальная матричная оценка - Решатели проблем PnP - Уточнение позы |
Оптический поток | - Фарнебэк оптический поток - Плотный оптический поток - Разреженный оптический поток |
3D видение | - Оценка глубины - Операции с облаками точек - Нерф |
Шумоподавление изображения | - Удаление гауссовского шума - Удаление шума Пуассона |
Обнаружение края | - Оператор Собель - Обнаружение края Canny |
Преобразования | - Вращение - Перевод - Масштабирование - Стрижка |
Функции потерь | - SSIM (показатель индекса структурного сходства) - PSNR (пиковое отношение сигнал/шум) - Коши - Шарбонье - Глубина гладкая - Кости - Хаусдорф - Тверский - Валлийский |
Морфологические операции | - Расширение - Эрозия - Открытие - Закрытие |
Kornia — это проект с открытым исходным кодом, который разрабатывается и поддерживается волонтерами. Независимо от того, используете ли вы его в исследовательских или коммерческих целях, рассмотрите возможность спонсирования или сотрудничества с нами. Ваша поддержка поможет обеспечить рост Kornia и постоянные инновации. Свяжитесь с нами сегодня и станьте частью формирования будущего этой захватывающей инициативы!
pip install kornia
pip install -e .
pip install git+https://github.com/kornia/kornia
Kornia — это не просто еще одна библиотека компьютерного зрения, это ваш путь к простому компьютерному зрению и искусственному интеллекту.
import numpy as np
import kornia_rs as kr
from kornia . augmentation import AugmentationSequential , RandomAffine , RandomBrightness
from kornia . filters import StableDiffusionDissolving
# Load and prepare your image
img : np . ndarray = kr . read_image_any ( "img.jpeg" )
img = kr . resize ( img , ( 256 , 256 ), interpolation = "bilinear" )
# alternatively, load image with PIL
# img = Image.open("img.jpeg").resize((256, 256))
# img = np.array(img)
img = np . stack ([ img ] * 2 ) # batch images
# Define an augmentation pipeline
augmentation_pipeline = AugmentationSequential (
RandomAffine (( - 45. , 45. ), p = 1. ),
RandomBrightness (( 0. , 1. ), p = 1. )
)
# Leveraging StableDiffusion models
dslv_op = StableDiffusionDissolving ()
img = augmentation_pipeline ( img )
dslv_op ( img , step_number = 500 )
dslv_op . save ( "Kornia-enhanced.jpg" )
import numpy as np
from kornia . onnx import ONNXSequential
# Chain ONNX models from HuggingFace repo and your own local model together
onnx_seq = ONNXSequential (
"hf://operators/kornia.geometry.transform.flips.Hflip" ,
"hf://models/kornia.models.detection.rtdetr_r18vd_640x640" , # Or you may use "YOUR_OWN_MODEL.onnx"
)
# Prepare some input data
input_data = np . random . randn ( 1 , 3 , 384 , 512 ). astype ( np . float32 )
# Perform inference
outputs = onnx_seq ( input_data )
# Print the model outputs
print ( outputs )
# Export a new ONNX model that chains up all three models together!
onnx_seq . export ( "chained_model.onnx" )
Теперь вы можете использовать Kornia с TensorFlow, JAX и NumPy. Дополнительные сведения см. в разделе «Поддержка нескольких фреймворков».
import kornia
tf_kornia = kornia . to_tensorflow ()
Питаться от
Вы увлечены компьютерным зрением, искусственным интеллектом и разработкой с открытым исходным кодом? Присоединяйтесь к нам в формировании будущего Корнии! Мы активно ищем участников, которые помогут расширить и улучшить нашу библиотеку, сделав ее еще более мощной, доступной и универсальной. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, в нашем сообществе для вас найдется место.
Мы рады объявить о нашем последнем достижении: новой инициативе, предназначенной для плавной интеграции легких моделей искусственного интеллекта в Kornia. Мы стремимся запускать любые модели так же гладко, как и большие модели, такие как StableDiffusion, чтобы обеспечить их хорошую поддержку во многих аспектах. Мы уже включили ряд облегченных моделей искусственного интеллекта, таких как YuNet (распознавание лиц), Loftr (сопоставление функций) и SAM (сегментация). Сейчас мы ищем участников, которые помогут нам:
В основе Kornia лежит обширная коллекция классических операторов компьютерного зрения, предоставляющая надежные инструменты для обработки изображений, извлечения признаков и геометрических преобразований. Мы постоянно ищем участников, которые помогут нам улучшить нашу документацию и предоставить нашим пользователям полезные обучающие материалы.
Если вы используете корнию в своих исследовательских документах, рекомендуется цитировать статью. Подробнее смотрите в ЦИТАЦИИ.
@inproceedings { eriba2019kornia ,
author = { E. Riba, D. Mishkin, D. Ponsa, E. Rublee and G. Bradski } ,
title = { Kornia: an Open Source Differentiable Computer Vision Library for PyTorch } ,
booktitle = { Winter Conference on Applications of Computer Vision } ,
year = { 2020 } ,
url = { https://arxiv.org/pdf/1910.02190.pdf }
}
Мы ценим каждый вклад. Если вы планируете внести свой вклад в исправление ошибок, сделайте это без дальнейшего обсуждения. Если вы планируете добавлять новые функции, служебные функции или расширения, сначала откройте проблему и обсудите эту функцию с нами. Пожалуйста, рассмотрите возможность прочтения ВНОСИТЕЛЬНЫХ заметок. Участие в этом проекте с открытым исходным кодом регулируется Кодексом поведения.
Сделано с помощью contrib.rocks.
Kornia выпускается под лицензией Apache 2.0. Дополнительную информацию смотрите в файле LICENSE.