อังกฤษ | 简体中文
เอกสาร • ลองใช้เลย • บทช่วยสอน • ตัวอย่าง • บล็อก • ชุมชน
Kornia เป็นไลบรารีคอมพิวเตอร์วิทัศน์ที่สร้างความแตกต่างได้ซึ่งมีชุดการประมวลผลภาพที่แตกต่างและอัลกอริธึมการมองเห็นทางเรขาคณิตที่หลากหลาย Kornia สร้างขึ้นบน PyTorch ผสานรวมเข้ากับเวิร์กโฟลว์ AI ที่มีอยู่ได้อย่างราบรื่น ช่วยให้คุณสามารถใช้ประโยชน์จากการแปลงชุดอันทรงพลัง การแยกความแตกต่างอัตโนมัติ และการเร่งความเร็ว GPU ไม่ว่าคุณจะทำงานเกี่ยวกับการแปลงภาพ การเพิ่ม หรือการประมวลผลภาพที่ขับเคลื่อนด้วย AI Kornia ก็จัดเตรียมเครื่องมือที่คุณต้องการเพื่อทำให้ไอเดียของคุณเป็นจริง
หมวดหมู่ | วิธีการ/แบบจำลอง |
---|---|
การประมวลผลภาพ | - การแปลงสี (RGB, Grayscale, HSV ฯลฯ) - การแปลงทางเรขาคณิต (อัฟฟิน, โฮโมกราฟี, การปรับขนาด ฯลฯ) - การกรอง (การเบลอแบบเกาส์เซียน, ค่ามัธยฐานเบลอ ฯลฯ ) - การตรวจจับขอบ (Sobel, Canny ฯลฯ ) - การดำเนินการทางสัณฐานวิทยา (การกัดเซาะ การขยายตัว ฯลฯ) |
การเสริม | - การครอบตัดแบบสุ่ม, การลบ - การแปลงทางเรขาคณิตแบบสุ่ม (อัฟฟิน, การพลิก, ฟิชอาย, เปอร์สเปคทีฟ, เส้นโค้งของแผ่นบาง, ยางยืด) - เสียงสุ่ม (เกาส์เซียน ค่ามัธยฐาน การเคลื่อนไหว กล่อง ฝน หิมะ เกลือและพริกไทย) - การกระวนกระวายใจของสีแบบสุ่ม (คอนทราสต์, ความสว่าง, CLAHE, ปรับสมดุล, แกมมา, เว้, กลับด้าน, JPEG, พลาสมา, Posterize, ความอิ่มตัวของสี, ความคมชัด, Solarize) - MixUp แบบสุ่ม, CutMix, โมเสก, การปลูกถ่าย ฯลฯ |
การตรวจจับคุณสมบัติ | - เครื่องตรวจจับ (Harris, GFTT, Hessian, DoG, KeyNet, DISK และ DeDoDe) - ตัวอธิบาย (SIFT, HardNet, TFeat, HyNet, SOSNet และ LAFDescriptor) - การจับคู่ (เพื่อนบ้านที่ใกล้ที่สุด เพื่อนบ้านที่ใกล้ที่สุดร่วมกัน การจับคู่การรับรู้ทางเรขาคณิต AdaLAM LightGlue และ LoFTR) |
เรขาคณิต | - รุ่นกล้องและการสอบเทียบ - การมองเห็นแบบสเตอริโอ (เรขาคณิต epipolar, ความแตกต่าง ฯลฯ ) - การประมาณค่าโฮโมแกรม - การประมาณความลึกจากความแตกต่าง - การแปลง 3 มิติ |
เลเยอร์การเรียนรู้เชิงลึก | - เลเยอร์การบิดแบบกำหนดเอง - เลเยอร์ซ้ำสำหรับงานการมองเห็น - ฟังก์ชั่นการสูญเสีย (เช่น SSIM, PSNR ฯลฯ ) - เครื่องมือเพิ่มประสิทธิภาพเฉพาะการมองเห็น |
ฟังก์ชันโฟโตเมตริก | - ฟังก์ชั่นการสูญเสียโฟโตเมตริก - การเสริมโฟโตเมตริก |
การกรอง | - การกรองทวิภาคี - เดกซิเน็ด - ละลาย - ไกด์เบลอ - ลาปลาเซียน - เกาส์เซียน - วิธีนอกท้องถิ่น - โซเบล - การกำบังที่ไม่คมชัด |
สี | - การแปลงพื้นที่สี - การปรับความสว่าง/ความคมชัด - การแก้ไขแกมมา |
วิสัยทัศน์สเตอริโอ | - การประมาณค่าความแตกต่าง - การประมาณความลึก - การแก้ไข |
การลงทะเบียนรูปภาพ | - การลงทะเบียนตามความสัมพันธ์และการใช้คำพ้องเสียง - การจัดตำแหน่งภาพโดยใช้การจับคู่คุณสมบัติ |
การประมาณท่าทาง | - การประมาณค่าเมทริกซ์ที่จำเป็นและพื้นฐาน - นักแก้ปัญหา PnP - ปรับแต่งท่าทาง |
การไหลของแสง | - การไหลของแสง Farneback - การไหลของแสงหนาแน่น - การไหลของแสงเบาบาง |
มุมมอง 3 มิติ | - การประมาณความลึก - การดำเนินงานพอยต์คลาวด์ - เนิร์ฟ |
การลดสัญญาณรบกวนของภาพ | - การกำจัดสัญญาณรบกวนแบบเกาส์เซียน - กำจัดเสียงรบกวนปัวซอง |
การตรวจจับขอบ | - โอเปอเรเตอร์โซเบล - การตรวจจับขอบ Canny |
การเปลี่ยนแปลง | - การหมุน - การแปล - การปรับขนาด - การตัด |
ฟังก์ชั่นการสูญเสีย | - SSIM (การวัดดัชนีความคล้ายคลึงกันของโครงสร้าง) - PSNR (อัตราส่วนสัญญาณต่อเสียงรบกวนสูงสุด) - คูชี่ - ชาร์บอนเนียร์ - ความลึกเรียบ - ลูกเต๋า - เฮาส์ดอร์ฟ - ตเวียร์สกี้ - เวลช์ |
การดำเนินการทางสัณฐานวิทยา | - การขยายตัว - การกัดเซาะ - เปิด - ปิด |
Kornia เป็นโครงการโอเพ่นซอร์สที่พัฒนาและดูแลโดยอาสาสมัคร ไม่ว่าคุณจะใช้เพื่อการวิจัยหรือวัตถุประสงค์เชิงพาณิชย์ โปรดพิจารณาสนับสนุนหรือร่วมมือกับเรา การสนับสนุนของคุณจะช่วยรับประกันการเติบโตและนวัตกรรมอย่างต่อเนื่องของ Kornia ติดต่อเราวันนี้และเป็นส่วนหนึ่งของการกำหนดอนาคตของโครงการริเริ่มที่น่าตื่นเต้นนี้!
pip install kornia
pip install -e .
pip install git+https://github.com/kornia/kornia
Kornia ไม่ได้เป็นเพียงห้องสมุดคอมพิวเตอร์วิทัศน์อีกแห่ง แต่เป็นประตูสู่คอมพิวเตอร์วิทัศน์และ AI ที่ใช้งานได้อย่างง่ายดาย
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 ()
ขับเคลื่อนโดย
คุณหลงใหลเกี่ยวกับคอมพิวเตอร์วิทัศน์, AI และการพัฒนาโอเพ่นซอร์สหรือไม่? มาร่วมกำหนดอนาคตของ Kornia กับเรา! เรากำลังมองหาผู้มีส่วนร่วมเพื่อช่วยขยายและปรับปรุงห้องสมุดของเรา ทำให้ห้องสมุดมีประสิทธิภาพ เข้าถึงได้ และอเนกประสงค์มากยิ่งขึ้น ไม่ว่าคุณจะเป็นนักพัฒนาที่มีประสบการณ์หรือเพิ่งเริ่มต้น มีที่สำหรับคุณในชุมชนของเรา
เรารู้สึกตื่นเต้นที่จะประกาศความก้าวหน้าล่าสุดของเรา: ความคิดริเริ่มใหม่ที่ออกแบบมาเพื่อรวมโมเดล AI น้ำหนักเบาเข้ากับ Kornia ได้อย่างราบรื่น เรามุ่งมั่นที่จะรันโมเดลใดๆ ก็ตามที่ราบรื่นพอๆ กับโมเดลขนาดใหญ่ เช่น StableDiffusion เพื่อรองรับโมเดลเหล่านั้นได้ดีในหลายมุมมอง เราได้รวมโมเดล AI น้ำหนักเบาไว้แล้ว เช่น YuNet (การตรวจจับใบหน้า), Loftr (การจับคู่คุณสมบัติ) และ SAM (การแบ่งส่วน) ตอนนี้เรากำลังมองหาผู้ร่วมให้ข้อมูลเพื่อช่วยเรา:
รากฐานของ Kornia อยู่ที่คอลเลกชันตัวดำเนินการคอมพิวเตอร์วิทัศน์แบบคลาสสิกที่กว้างขวาง ซึ่งมอบเครื่องมือที่มีประสิทธิภาพสำหรับการประมวลผลภาพ การดึงคุณสมบัติ และการแปลงทางเรขาคณิต เราแสวงหาผู้มีส่วนร่วมอย่างต่อเนื่องเพื่อช่วยเราปรับปรุงเอกสารของเราและนำเสนอบทช่วยสอนที่ดีแก่ผู้ใช้ของเรา
หากคุณใช้ 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 }
}
เราขอขอบคุณการมีส่วนร่วมทั้งหมด หากคุณกำลังวางแผนที่จะสนับสนุนการแก้ไขข้อบกพร่อง โปรดดำเนินการดังกล่าวโดยไม่ต้องหารือใดๆ เพิ่มเติม หากคุณวางแผนที่จะสนับสนุนคุณสมบัติใหม่ ฟังก์ชันยูทิลิตี้ หรือส่วนขยาย โปรดเปิดปัญหาก่อนและหารือเกี่ยวกับคุณสมบัติดังกล่าวกับเรา โปรดพิจารณาอ่านบันทึกการมีส่วนร่วม การเข้าร่วมในโครงการโอเพ่นซอร์สนี้อยู่ภายใต้หลักจรรยาบรรณ
ทำด้วยหินที่มีส่วนร่วม
Kornia เปิดตัวภายใต้ลิขสิทธิ์ Apache 2.0 ดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม