Bahasa Inggris | 简体中文
Dokumen • Coba Sekarang • Tutorial • Contoh • Blog • Komunitas
Kornia adalah perpustakaan visi komputer terdiferensiasi yang menyediakan serangkaian pemrosesan gambar terdiferensiasi dan algoritma visi geometris. Dibangun di atas PyTorch, Kornia berintegrasi secara mulus ke dalam alur kerja AI yang ada, memungkinkan Anda memanfaatkan transformasi batch yang kuat, diferensiasi otomatis, dan akselerasi GPU. Baik Anda sedang mengerjakan transformasi gambar, augmentasi, atau pemrosesan gambar berbasis AI, Kornia membekali Anda dengan alat yang Anda perlukan untuk mewujudkan ide Anda.
Kategori | Metode/Model |
---|---|
Pemrosesan Gambar | - Konversi warna (RGB, Grayscale, HSV, dll.) - Transformasi geometris (Affine, Homografi, Pengubahan Ukuran, dll.) - Pemfilteran (Gaussian blur, Median blur, dll.) - Deteksi tepi (Sobel, Canny, dll.) - Operasi morfologi (Erosi, Dilatasi, dll.) |
Augmentasi | - Pemangkasan acak, Menghapus - Transformasi geometri acak (Affine, flipping, Fish Eye, Perspective, Thin plate spline, Elastic) - Suara acak (Gaussian, Median, Gerak, Kotak, Hujan, Salju, Garam dan Lada) - Jittering warna acak (Kontras, Kecerahan, CLAHE, Equalize, Gamma, Hue, Invert, JPEG, Plasma, Posterize, Saturation, Sharpness, Solarize) - Campuran Acak, CutMix, Mosaik, Transplantasi, dll. |
Deteksi Fitur | - Detektor (Harris, GFTT, Hessian, DoG, KeyNet, DISK dan DeDoDe) - Deskriptor (SIFT, HardNet, TFeat, HyNet, SOSNet, dan LAFDescriptor) - Pencocokan (tetangga terdekat, tetangga terdekat bersama, pencocokan sadar geometris, AdaLAM LightGlue, dan LoFTR) |
Geometri | - Model kamera dan kalibrasi - Penglihatan stereo (geometri epipolar, disparitas, dll.) - Estimasi homografi - Estimasi kedalaman dari disparitas - Transformasi 3D |
Lapisan Pembelajaran Mendalam | - Lapisan konvolusi khusus - Lapisan berulang untuk tugas penglihatan - Fungsi kerugian (misalnya SSIM, PSNR, dll.) - Pengoptimal khusus visi |
Fungsi Fotometrik | - Fungsi kehilangan fotometrik - Augmentasi fotometrik |
Penyaringan | - Penyaringan bilateral - DexiNed - Melarutkan - Buram Terpandu - Laplacia - Gaussian - Sarana non-lokal - Sobel - Masking tidak tajam |
Warna | - Konversi ruang warna - Penyesuaian kecerahan/kontras - Koreksi gamma |
Visi Stereo | - Estimasi disparitas - Estimasi kedalaman - Perbaikan |
Registrasi Gambar | - Pendaftaran berbasis Affine dan homografi - Penyelarasan gambar menggunakan pencocokan fitur |
Estimasi Pose | - Estimasi matriks Esensial dan Fundamental - Pemecah masalah PnP - Penyempurnaan pose |
Aliran Optik | - Aliran optik Farneback - Aliran optik padat - Aliran optik yang jarang |
Visi 3D | - Estimasi kedalaman - Arahkan operasi cloud - Nerf |
Penyangkalan Gambar | - Penghapusan kebisingan Gaussian - Penghapusan kebisingan Poisson |
Deteksi Tepi | - Operator Sobel - Deteksi tepi yang cerdik |
Transformasi | - Rotasi - Terjemahan - Penskalaan - Mencukur |
Fungsi Kerugian | - SSIM (Ukuran Indeks Kesamaan Struktural) - PSNR (Rasio Sinyal terhadap Kebisingan Puncak) - Cauchy - Charbonnier - Kedalaman Halus - Dadu - Hausdorff - Tversky - Welch |
Operasi Morfologi | - Pelebaran - Erosi - Pembukaan - Penutupan |
Kornia adalah proyek sumber terbuka yang dikembangkan dan dikelola oleh para sukarelawan. Baik Anda menggunakannya untuk tujuan penelitian atau komersial, pertimbangkan untuk mensponsori atau berkolaborasi dengan kami. Dukungan Anda akan membantu memastikan pertumbuhan dan inovasi berkelanjutan Kornia. Hubungi kami hari ini dan jadilah bagian dalam membentuk masa depan inisiatif menarik ini!
pip install kornia
pip install -e .
pip install git+https://github.com/kornia/kornia
Kornia bukan sekadar perpustakaan visi komputer — ini adalah pintu gerbang Anda menuju Computer Vision dan AI yang mudah.
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" )
Anda sekarang dapat menggunakan Kornia dengan TensorFlow, JAX, dan NumPy. Lihat Dukungan Multi-Framework untuk lebih jelasnya.
import kornia
tf_kornia = kornia . to_tensorflow ()
Didukung oleh
Apakah Anda tertarik dengan visi komputer, AI, dan pengembangan sumber terbuka? Bergabunglah dengan kami dalam membentuk masa depan Kornia! Kami secara aktif mencari kontributor untuk membantu memperluas dan menyempurnakan perpustakaan kami, menjadikannya lebih kuat, mudah diakses, dan serbaguna. Baik Anda seorang pengembang berpengalaman atau baru memulai, selalu ada tempat bagi Anda di komunitas kami.
Kami sangat gembira mengumumkan kemajuan terbaru kami: sebuah inisiatif baru yang dirancang untuk mengintegrasikan model AI ringan ke dalam Kornia dengan lancar. Kami bertujuan untuk menjalankan model apa pun semulus model besar seperti StableDiffusion, untuk mendukungnya dengan baik dalam banyak perspektif. Kami telah menyertakan pilihan model AI ringan seperti YuNet (Deteksi Wajah), Loftr (Pencocokan Fitur), dan SAM (Segmentasi). Sekarang, kami sedang mencari kontributor untuk membantu kami:
Fondasi Kornia terletak pada koleksi ekstensif operator visi komputer klasik, yang menyediakan alat canggih untuk pemrosesan gambar, ekstraksi fitur, dan transformasi geometris. Kami terus mencari kontributor untuk membantu kami meningkatkan dokumentasi kami dan menyajikan tutorial yang bagus untuk pengguna kami.
Jika Anda menggunakan kornia dalam dokumen terkait penelitian Anda, disarankan agar Anda mengutip makalah tersebut. Lihat selengkapnya di CITATION.
@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 }
}
Kami menghargai semua kontribusi. Jika Anda berencana untuk berkontribusi kembali pada perbaikan bug, silakan lakukan tanpa diskusi lebih lanjut. Jika Anda berencana untuk menyumbangkan fitur, fungsi utilitas, atau ekstensi baru, harap buka masalah terlebih dahulu dan diskusikan fitur tersebut dengan kami. Mohon pertimbangkan untuk membaca catatan KONTRIBUSI. Partisipasi dalam proyek sumber terbuka ini tunduk pada Kode Etik.
Dibuat dengan kontrib.rocks.
Kornia dirilis di bawah lisensi Apache 2.0. Lihat file LISENSI untuk informasi lebih lanjut.