[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-kornia--kornia":3,"tool-kornia--kornia":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":67,"owner_name":67,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":23,"env_os":91,"env_gpu":92,"env_ram":93,"env_deps":94,"category_tags":108,"github_topics":109,"view_count":121,"oss_zip_url":77,"oss_zip_packed_at":77,"status":16,"created_at":122,"updated_at":123,"faqs":124,"releases":153},1153,"kornia\u002Fkornia","kornia","🐍 Geometric Computer Vision Library for Spatial AI","Kornia 是一个基于 PyTorch 的可微计算机视觉库，专注于图像处理和几何视觉算法。它为开发者提供了丰富的工具，用于实现图像变换、增强、特征匹配、分割等任务，并支持自动微分和 GPU 加速，方便集成到深度学习流程中。Kornia 解决了传统图像处理与现代 AI 模型之间难以无缝衔接的问题，尤其适合需要构建端到端视觉系统的开发者和研究人员。其内置多种预训练模型，如人脸检测、特征匹配和图像分割模型，降低了开发门槛。Kornia 技术亮点包括大量可微操作和对复杂数据增强的支持，适用于希望提升视觉算法性能的 AI 工程师和科研人员。","\u003Cdiv align=\"center\">\n\u003Cp align=\"center\">\n  \u003Cimg width=\"55%\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_a6b752ac4414.png\" \u002F>\n\u003C\u002Fp>\n\n---\n\nEnglish | [简体中文](README_zh-CN.md)\n\n\u003C!-- prettier-ignore -->\n\u003Ca href=\"https:\u002F\u002Fkornia.readthedocs.io\">Docs\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fcolab.sandbox.google.com\u002Fgithub\u002Fkornia\u002Ftutorials\u002Fblob\u002Fmaster\u002Fnbs\u002Fhello_world_tutorial.ipynb\">Try it Now\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fkornia.github.io\u002Ftutorials\u002F\">Tutorials\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia-examples\">Examples\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fkornia.github.io\u002F\u002Fkornia-blog\">Blog\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FHfnywwpBnD\">Community\u003C\u002Fa>\n\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fkornia.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkornia)\n[![Downloads](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_1bb0f985eb84.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fkornia)\n[![star](https:\u002F\u002Fgitcode.com\u002Fkornia\u002Fkornia\u002Fstar\u002Fbadge.svg)](https:\u002F\u002Fgitcode.com\u002Fkornia\u002Fkornia)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-5865F2?logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FHfnywwpBnD)\n[![Twitter](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fkornia_foss?style=social)](https:\u002F\u002Ftwitter.com\u002Fkornia_foss)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](LICENSE)\n\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n**Kornia** is a differentiable computer vision library that provides a rich set of differentiable image processing and geometric vision algorithms. Built on top of [PyTorch](https:\u002F\u002Fpytorch.org), Kornia integrates seamlessly into existing AI workflows, allowing you to leverage powerful [batch transformations](), [auto-differentiation]() and [GPU acceleration](). Whether you're working on image transformations, augmentations, or AI-driven image processing, Kornia equips you with the tools you need to bring your ideas to life.\n\n> **📢 Announcement**: Kornia is shifting towards end-to-end vision models. We are focusing on integrating state-of-the-art Vision Language Models (VLM) and Vision Language Agents (VLA) to provide comprehensive end-to-end vision solutions.\n\n## Key Components\n1. **Differentiable Image Processing**\u003Cbr>\n  Kornia provides a comprehensive suite of image processing operators, all differentiable and ready to integrate into deep learning pipelines.\n    - **Filters**: Gaussian, Sobel, Median, Box Blur, etc.\n    - **Transformations**: Affine, Homography, Perspective, etc.\n    - **Enhancements**: Histogram Equalization, CLAHE, Gamma Correction, etc.\n    - **Edge Detection**: Canny, Laplacian, Sobel, etc.\n    - ... check our [docs](https:\u002F\u002Fkornia.readthedocs.io) for more.\n2. **Advanced Augmentations**\u003Cbr>\nPerform powerful data augmentation with Kornia’s built-in functions, ideal for training AI models with complex augmentation pipelines.\n    - **Augmentation Pipeline**: AugmentationSequential, PatchSequential, VideoSequential, etc.\n    - **Automatic Augmentation**: AutoAugment, RandAugment, TrivialAugment.\n3. **AI Models**\u003Cbr>\nLeverage pre-trained AI models optimized for a variety of vision tasks, all within the Kornia ecosystem.\n    - **Face Detection**: YuNet\n    - **Feature Matching**: LoFTR, LightGlue\n    - **Feature Descriptor**: DISK, DeDoDe, SOLD2\n    - **Segmentation**: SAM\n    - **Classification**: MobileViT, VisionTransformer.\n\n\u003Cdetails>\n\u003Csummary>See here for some of the methods that we support! (>500 ops in total !)\u003C\u002Fsummary>\n\n| **Category**               | **Methods\u002FModels**                                                                                                   |\n|----------------------------|---------------------------------------------------------------------------------------------------------------------|\n| **Image Processing**        | - Color conversions (RGB, Grayscale, HSV, etc.)\u003Cbr>- Geometric transformations (Affine, Homography, Resizing, etc.)\u003Cbr>- Filtering (Gaussian blur, Median blur, etc.)\u003Cbr>- Edge detection (Sobel, Canny, etc.)\u003Cbr>- Morphological operations (Erosion, Dilation, etc.)                                 |\n| **Augmentation**            | - Random cropping, Erasing\u003Cbr> - Random geometric transformations (Affine, flipping, Fish Eye, Perspecive, Thin plate spline, Elastic)\u003Cbr>- Random noises (Gaussian, Median, Motion, Box, Rain, Snow, Salt and Pepper)\u003Cbr>- Random color jittering (Contrast, Brightness, CLAHE, Equalize, Gamma, Hue, Invert, JPEG, Plasma, Posterize, Saturation, Sharpness, Solarize)\u003Cbr> - Random MixUp, CutMix, Mosaic, Transplantation, etc.                  |\n| **Feature Detection**       | - Detector (Harris, GFTT, Hessian, DoG, KeyNet, DISK and DeDoDe)\u003Cbr> - Descriptor (SIFT, HardNet, TFeat, HyNet, SOSNet, and LAFDescriptor)\u003Cbr>- Matching (nearest neighbor, mutual nearest neighbor, geometrically aware matching, AdaLAM LightGlue, and LoFTR)                    |\n| **Geometry**                | - Camera models and calibration\u003Cbr>- Stereo vision (epipolar geometry, disparity, etc.)\u003Cbr>- Homography estimation\u003Cbr>- Depth estimation from disparity\u003Cbr>- 3D transformations                |\n| **Deep Learning Layers**    | - Custom convolution layers\u003Cbr>- Recurrent layers for vision tasks\u003Cbr>- Loss functions (e.g., SSIM, PSNR, etc.)\u003Cbr>- Vision-specific optimizers                                        |\n| **Photometric Functions**   | - Photometric loss functions\u003Cbr>- Photometric augmentations                                                                                           |\n| **Filtering**               | - Bilateral filtering\u003Cbr>- DexiNed\u003Cbr>- Dissolving\u003Cbr>- Guided Blur\u003Cbr>- Laplacian\u003Cbr>- Gaussian\u003Cbr>- Non-local means\u003Cbr>- Sobel\u003Cbr>- Unsharp masking                                                                                            |\n| **Color**                   | - Color space conversions\u003Cbr>- Brightness\u002Fcontrast adjustment\u003Cbr>- Gamma correction                                                                       |\n| **Stereo Vision**           | - Disparity estimation\u003Cbr>- Depth estimation\u003Cbr>- Rectification                                                                                           |\n| **Image Registration**      | - Affine and homography-based registration\u003Cbr>- Image alignment using feature matching                                                                     |\n| **Pose Estimation**         | - Essential and Fundamental matrix estimation\u003Cbr>- PnP problem solvers\u003Cbr>- Pose refinement                                                                |\n| **Optical Flow**            | - Farneback optical flow\u003Cbr>- Dense optical flow\u003Cbr>- Sparse optical flow                                                                                  |\n| **3D Vision**               | - Depth estimation\u003Cbr>- Point cloud operations\u003Cbr>                                                                |\n| **Image Denoising**         | - Gaussian noise removal\u003Cbr>- Poisson noise removal                                                                                                        |\n| **Edge Detection**          | - Sobel operator\u003Cbr>- Canny edge detection                                                                                                                 |                                               |\n| **Transformations**         | - Rotation\u003Cbr>- Translation\u003Cbr>- Scaling\u003Cbr>- Shearing                                                                                                     |\n| **Loss Functions**          | - SSIM (Structural Similarity Index Measure)\u003Cbr>- PSNR (Peak Signal-to-Noise Ratio)\u003Cbr>- Cauchy\u003Cbr>- Charbonnier\u003Cbr>- Depth Smooth\u003Cbr>- Dice\u003Cbr>- Hausdorff\u003Cbr>- Tversky\u003Cbr>- Welsch\u003Cbr>                                   |                                                                                             |\n| **Morphological Operations**| - Dilation\u003Cbr>- Erosion\u003Cbr>- Opening\u003Cbr>- Closing                                                                                                          |\n\n\u003C\u002Fdetails>\n\n## Half-Precision Support\n\n| Module | float16 | bfloat16 | Notes |\n|--------|:-------:|:--------:|-------|\n| `kornia.color` | ⚠️ | ⚠️ | Most conversions work for both; FFT-based ops may fail |\n| `kornia.filters` | ⚠️ | ⚠️ | Basic filters work; FFT-based ops may fail on CUDA |\n| `kornia.enhance` | ⚠️ | ⚠️ | Histogram eq \u002F gamma \u002F ZCA work (linalg ops use cast helpers) |\n| `kornia.morphology` | ✅ | ✅ | Pure conv\u002Fpool ops; no dtype restrictions |\n| `kornia.augmentation` | ⚠️ | ⚠️ | Most ops work; precision-sensitive transforms may be inaccurate |\n| `kornia.geometry.transform` | ⚠️ | ⚠️ | Affine\u002Fwarp\u002Fresize work via cast helpers; thin-plate spline may fail |\n| `kornia.geometry.camera` | ⚠️ | ⚠️ | Pinhole model and most camera ops work; `StereoCamera` accepts both |\n| `kornia.geometry.calibration` | ❌ | ❌ | Explicitly accepts float32\u002Ffloat64 only (PnP solver) |\n| `kornia.geometry.epipolar` | ⚠️ | ⚠️ | SVD\u002Finverse use cast helpers; both dtypes work |\n| `kornia.geometry.homography` | ⚠️ | ⚠️ | Uses `_torch_svd_cast` — both dtypes work via casting |\n| `kornia.geometry.liegroup` | ⚠️ | ⚠️ | Most ops work via cast helpers; some linalg paths may fail |\n| `kornia.geometry.solvers` | ⚠️ | ⚠️ | Uses `_torch_solve_cast` — both dtypes work via casting |\n| `kornia.geometry.subpix` | ⚠️ | ⚠️ | Soft-argmax works; precision-sensitive ops may be inaccurate |\n| `kornia.losses` | ⚠️ | ⚠️ | Photometric losses work; linalg-based losses may not |\n| `kornia.feature` | ⚠️ | ⚠️ | Detectors\u002Fdescriptors work; matching uses manual cdist fallback |\n| `kornia.metrics` | ⚠️ | ⚠️ | Pixel-level metrics work; linalg-based metrics may not |\n| `kornia.models` | ⚠️ | ⚠️ | Conv-based models work; attention-based models may have dtype mismatches |\n\n✅ Supported &nbsp; ⚠️ Partial &nbsp; ❌ Not supported\n\n**Test results** (commit `6131e98`, 2026-03-21):\n\n| Run | Passed | Failed | Skipped | Pass% |\n|-----|-------:|-------:|--------:|------:|\n| CPU float32 *(baseline)* | 7647 | 3 | 3269 | **99.9%** |\n| CUDA float32 *(baseline)* | 7634 | 3 | 3280 | **99.9%** |\n| CPU float16 | 6866 | 747 | 3306 | **90.1%** |\n| CPU bfloat16 | 6838 | 812 | 3269 | **89.3%** |\n| CUDA float16 *(KORNIA_TEST_IN_SUBPROCESS=1)* | 6727 | 643 | 3556 | **91.3%** |\n| CUDA bfloat16 *(KORNIA_TEST_IN_SUBPROCESS=1)* | 6695 | 713 | 3518 | **90.4%** |\n\nSee the [full precision guide](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Fstable\u002Fget-started\u002Fprecision.html) for details.\n\n## Sponsorship\n\nKornia is an open-source project that is developed and maintained by volunteers. Whether you're using it for research or commercial purposes, consider sponsoring or collaborating with us. Your support will help ensure Kornia's growth and ongoing innovation. Reach out to us today and be a part of shaping the future of this exciting initiative!\n\n\u003Ca href=\"https:\u002F\u002Fopencollective.com\u002Fkornia\u002Fdonate\" target=\"_blank\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_429edec31a41.png\" width=300 \u002F>\n\u003C\u002Fa>\n\n## Installation\n\n[![PyPI python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fkornia)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkornia)\n[![pytorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch_2.0.0+-ee4c2c?logo=pytorch&logoColor=white)](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F)\n\n### From pip\n\n  ```bash\n  pip install kornia\n  ```\n\n\u003Cdetails>\n  \u003Csummary>Other installation options\u003C\u002Fsummary>\n\n#### From source with editable mode\n\n  ```bash\n  pip install -e .\n  ```\n\n#### For development with Pixi (Recommended)\n\nFor development, Kornia uses [pixi](https:\u002F\u002Fpixi.sh) for fast Python package management and environment management. The project includes a `pixi.toml` configuration file for reproducible dependency management.\n\n  ```bash\n  # Install pixi (if not already installed)\n  curl -fsSL https:\u002F\u002Fpixi.sh\u002Finstall.sh | bash\n\n  # Install dependencies and set up the development environment\n  pixi install\n\n  # Run tests\n  pixi run test\n\n  # For CUDA development\n  pixi run -e cuda install\n  pixi run -e cuda test-cuda\n  ```\n\nThis will set up a complete development environment with all dependencies. For more details on dependency management and available tasks, see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n#### From Github url (latest version)\n\n  ```bash\n  pip install git+https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\n  ```\n\n\u003C\u002Fdetails>\n\n## Quick Start\n\nKornia is not just another computer vision library — it's your gateway to effortless Computer Vision and AI.\n\n\u003Cdetails>\n\u003Csummary>Get started with Kornia image transformation and augmentation!\u003C\u002Fsummary>\n\n```python\nimport numpy as np\nimport kornia_rs as kr\n\nfrom kornia.augmentation import AugmentationSequential, RandomAffine, RandomBrightness\nfrom kornia.filters import StableDiffusionDissolving\n\n# Load and prepare your image\nimg: np.ndarray = kr.read_image_any(\"img.jpeg\")\nimg = kr.resize(img, (256, 256), interpolation=\"bilinear\")\n\n# alternatively, load image with PIL\n# img = Image.open(\"img.jpeg\").resize((256, 256))\n# img = np.array(img)\n\nimg = np.stack([img] * 2)  # batch images\n\n# Define an augmentation pipeline\naugmentation_pipeline = AugmentationSequential(\n    RandomAffine((-45., 45.), p=1.),\n    RandomBrightness((0.,1.), p=1.)\n)\n\n# Leveraging StableDiffusion models\ndslv_op = StableDiffusionDissolving()\n\nimg = augmentation_pipeline(img)\ndslv_op(img, step_number=500)\n\ndslv_op.save(\"Kornia-enhanced.jpg\")\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Find out Kornia ONNX models with ONNXSequential!\u003C\u002Fsummary>\n\n```python\nimport numpy as np\nfrom kornia.onnx import ONNXSequential\n# Chain ONNX models from HuggingFace repo and your own local model together\nonnx_seq = ONNXSequential(\n    \"hf:\u002F\u002Foperators\u002Fkornia.geometry.transform.flips.Hflip\",\n    \"hf:\u002F\u002Fmodels\u002Fkornia.models.detection.rtdetr_r18vd_640x640\",  # Or you may use \"YOUR_OWN_MODEL.onnx\"\n)\n# Prepare some input data\ninput_data = np.random.randn(1, 3, 384, 512).astype(np.float32)\n# Perform inference\noutputs = onnx_seq(input_data)\n# Print the model outputs\nprint(outputs)\n\n# Export a new ONNX model that chains up all three models together!\nonnx_seq.export(\"chained_model.onnx\")\n```\n\u003C\u002Fdetails>\n\n## Multi-framework support\n\nYou can now use Kornia with [TensorFlow](https:\u002F\u002Fwww.tensorflow.org\u002F), [JAX](https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Findex.html), and [NumPy](https:\u002F\u002Fnumpy.org\u002F). See [Multi-Framework Support](docs\u002Fsource\u002Fget-started\u002Fmulti-framework-support.rst) for more details.\n\n```python\nimport kornia\ntf_kornia = kornia.to_tensorflow()\n```\n\n\u003Cp align=\"center\">\n  Powered by\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fivy-llc\u002Fivy\" target=\"_blank\">\n    \u003Cdiv class=\"dark-light\" style=\"display: block;\" align=\"center\">\n      \u003Cimg class=\"dark-light\" width=\"15%\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fivy-llc\u002Fassets\u002Frefs\u002Fheads\u002Fmain\u002Fassets\u002Flogos\u002Fivy-long.svg\"\u002F>\n    \u003C\u002Fdiv>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Call For Contributors\n\nAre you passionate about computer vision, AI, and open-source development? Join us in shaping the future of Kornia! We are actively seeking contributors to help expand and enhance our library, making it even more powerful, accessible, and versatile. Whether you're an experienced developer or just starting, there's a place for you in our community.\n\n### Accessible AI Models\n\nWe are excited to announce our latest advancement: a new initiative designed to seamlessly integrate lightweight AI models into Kornia.\nWe aim to run any models as smooth as big models such as StableDiffusion, to support them well in many perspectives.\n\n**Priority Focus: VLM\u002FVLA Models**\n\nOur primary focus is on integrating **Vision Language Models (VLM)** and **Vision Language Agents (VLA)** to enable end-to-end vision solutions. We're actively seeking contributors to help us:\n\n- **VLM\u002FVLA Integration (Priority)**: Implement and integrate state-of-the-art Vision Language Models and Vision Language Agents. This includes models like Qwen2.5-VL, SAM-3, and other cutting-edge VLM\u002FVLA architectures. If you are a researcher working on VLM\u002FVLA models, Kornia is an excellent place for you to promote your model!\n- Expand the Model Selection: Import decent models into our library. If you are a researcher, Kornia is an excellent place for you to promote your model!\n- Model Optimization: Work on optimizing models to reduce their computational footprint while maintaining accuracy and performance. You may start from offering ONNX support!\n- Model Documentation: Create detailed guides and examples to help users get the most out of these models in their projects.\n\n### Documentation And Tutorial Optimization\n\nKornia's foundation lies in its extensive collection of classic computer vision operators, providing robust tools for image processing, feature extraction, and geometric transformations. We continuously seek for contributors to help us improve our documentation and present nice tutorials to our users.\n\n\n## Cite\n\nIf you are using kornia in your research-related documents, it is recommended that you cite the paper. See more in [CITATION](.\u002FCITATION.md).\n\n  ```bibtex\n  @inproceedings{eriba2019kornia,\n    author    = {E. Riba, D. Mishkin, D. Ponsa, E. Rublee and G. Bradski},\n    title     = {Kornia: an Open Source Differentiable Computer Vision Library for PyTorch},\n    booktitle = {Winter Conference on Applications of Computer Vision},\n    year      = {2020},\n    url       = {https:\u002F\u002Farxiv.org\u002Fpdf\u002F1910.02190.pdf}\n  }\n  ```\n\n## Contributing\n\nWe appreciate all contributions. If you are planning to contribute back bug-fixes, please do so without any further discussion. If you plan to contribute new features, utility functions or extensions, please first open an issue and discuss the feature with us. Please, consider reading the [CONTRIBUTING](.\u002FCONTRIBUTING.md) notes. The participation in this open source project is subject to [Code of Conduct](.\u002FCODE_OF_CONDUCT.md).\n\n### AI Policy\n\nKornia accepts AI-assisted code but strictly rejects AI-generated contributions where the submitter acts as a proxy. All contributors must be the **Sole Responsible Author** for every line of code. Please review our [AI Policy](AI_POLICY.md) before submitting pull requests. Key requirements include:\n\n- **Proof of Verification**: PRs must include local test logs proving execution\n- **Pre-Discussion**: All PRs must be discussed in Discord or via a GitHub issue before implementation\n- **Library References**: Implementations must be based on existing library references (PyTorch, OpenCV, etc.)\n- **Use Existing Utilities**: Use existing `kornia` utilities instead of reinventing the wheel\n- **Explain It**: You must be able to explain any code you submit\n\nAutomated AI reviewers (e.g., GitHub Copilot) will check PRs against these policies. See [AI_POLICY.md](AI_POLICY.md) for complete details.\n\n## Community\n- **Discord:** Join our workspace to keep in touch with our core contributors, get latest updates on the industry and  be part of our community. [JOIN HERE](https:\u002F\u002Fdiscord.gg\u002FHfnywwpBnD)\n- **GitHub Issues:** bug reports, feature requests, install issues, RFCs, thoughts, etc. [OPEN](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002Fnew\u002Fchoose)\n- **Forums:** discuss implementations, research, etc. [GitHub Forums](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fdiscussions)\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKornia\u002Fkornia\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_8ffd80838533.png\" width=\"60%\" \u002F>\n\u003C\u002Fa>\n\nMade with [contrib.rocks](https:\u002F\u002Fcontrib.rocks).\n\n## License\n\nKornia is released under the Apache 2.0 license. See the [LICENSE](.\u002FLICENSE) file for more information.\n","\u003Cdiv align=\"center\">\n\u003Cp align=\"center\">\n  \u003Cimg width=\"55%\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_a6b752ac4414.png\" \u002F>\n\u003C\u002Fp>\n\n---\n\n英语 | [简体中文](README_zh-CN.md)\n\n\u003C!-- prettier-ignore -->\n\u003Ca href=\"https:\u002F\u002Fkornia.readthedocs.io\">文档\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fcolab.sandbox.google.com\u002Fgithub\u002Fkornia\u002Ftutorials\u002Fblob\u002Fmaster\u002Fnbs\u002Fhello_world_tutorial.ipynb\">立即尝试\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fkornia.github.io\u002Ftutorials\u002F\">教程\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia-examples\">示例\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fkornia.github.io\u002F\u002Fkornia-blog\">博客\u003C\u002Fa> •\n\u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FHfnywwpBnD\">社区\u003C\u002Fa>\n\n[![PyPI版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fkornia.svg)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkornia)\n[![下载量](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_1bb0f985eb84.png)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fkornia)\n[![星标](https:\u002F\u002Fgitcode.com\u002Fkornia\u002Fkornia\u002Fstar\u002Fbadge.svg)](https:\u002F\u002Fgitcode.com\u002Fkornia\u002Fkornia)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-5865F2?logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FHfnywwpBnD)\n[![Twitter](https:\u002F\u002Fimg.shields.io\u002Ftwitter\u002Ffollow\u002Fkornia_foss?style=social)](https:\u002F\u002Ftwitter.com\u002Fkornia_foss)\n[![许可证](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache%202.0-blue.svg)](LICENSE)\n\n\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n**Kornia** 是一个可微分的计算机视觉库，提供丰富的可微图像处理和几何视觉算法。Kornia 构建在 [PyTorch](https:\u002F\u002Fpytorch.org) 之上，能够无缝集成到现有的 AI 工作流中，使您能够充分利用强大的 [批量变换](), [自动微分]() 和 [GPU 加速]()。无论您是在进行图像变换、数据增强，还是开发基于 AI 的图像处理应用，Kornia 都能为您提供实现创意所需的工具。\n\n> **📢 公告**: Kornia 正在向端到端视觉模型方向转型。我们正专注于整合最先进的视觉语言模型（VLM）和视觉语言代理（VLA），以提供全面的端到端视觉解决方案。\n\n## 核心组件\n1. **可微分图像处理**\u003Cbr>\n  Kornia 提供了一整套图像处理算子，全部支持梯度计算，可直接集成到深度学习流水线中。\n    - **滤波器**: 高斯滤波、Sobel 滤波、中值滤波、方框模糊等。\n    - **变换**: 仿射变换、单应性变换、透视变换等。\n    - **增强**: 直方图均衡化、CLAHE、伽马校正等。\n    - **边缘检测**: Canny、拉普拉斯、Sobel 等。\n    - … 更多内容请查看我们的 [文档](https:\u002F\u002Fkornia.readthedocs.io)。\n2. **高级数据增强**\u003Cbr>\n  使用 Kornia 内置的功能执行强大的数据增强操作，非常适合构建复杂的增强流水线来训练 AI 模型。\n    - **增强流水线**: AugmentationSequential、PatchSequential、VideoSequential 等。\n    - **自动增强**: AutoAugment、RandAugment、TrivialAugment。\n3. **AI 模型**\u003Cbr>\n  利用 Kornia 生态系统中针对各类视觉任务优化的预训练 AI 模型。\n    - **人脸检测**: YuNet\n    - **特征匹配**: LoFTR、LightGlue\n    - **特征描述符**: DISK、DeDoDe、SOLD2\n    - **分割**: SAM\n    - **分类**: MobileViT、VisionTransformer。\n\n\u003Cdetails>\n\u003Csummary>查看我们支持的部分方法！(总计超过 500 种操作！)\u003C\u002Fsummary>\n\n| **类别**               | **方法\u002F模型**                                                                                                   |\n|----------------------------|---------------------------------------------------------------------------------------------------------------------|\n| **图像处理**        | - 颜色转换（RGB、灰度、HSV 等）\u003Cbr>- 几何变换（仿射变换、单应性变换、缩放等）\u003Cbr>- 滤波（高斯模糊、中值模糊等）\u003Cbr>- 边缘检测（Sobel、Canny 等）\u003Cbr>- 形态学操作（腐蚀、膨胀等）                                 |\n| **增强**            | - 随机裁剪、随机擦除\u003Cbr> - 随机几何变换（仿射变换、翻转、鱼眼、透视、薄板样条、弹性变形）\u003Cbr>- 随机噪声（高斯噪声、中值噪声、运动模糊、方框噪声、雨雪噪声、椒盐噪声）\u003Cbr>- 随机颜色抖动（对比度、亮度、CLAHE、直方图均衡化、伽马校正、色调调整、反转、JPEG 压缩、等离子效果、海报化、饱和度、锐化、太阳化）\u003Cbr> - 随机 MixUp、CutMix、Mosaic、移植等。                  |\n| **特征检测**       | - 检测器（Harris、GFTT、Hessian、DoG、KeyNet、DISK 和 DeDoDe）\u003Cbr> - 描述符（SIFT、HardNet、TFeat、HyNet、SOSNet 和 LAFDescriptor）\u003Cbr>- 匹配（最近邻、双向最近邻、基于几何信息的匹配、AdaLAM LightGlue 和 LoFTR）                    |\n| **几何**                | - 相机模型与标定\u003Cbr>- 立体视觉（极线几何、视差等）\u003Cbr>- 单应性估计\u003Cbr>- 由视差估计深度\u003Cbr>- 3D 变换                |\n| **深度学习层**    | - 自定义卷积层\u003Cbr>- 用于视觉任务的循环层\u003Cbr>- 损失函数（如 SSIM、PSNR 等）\u003Cbr>- 视觉专用优化器                                        |\n| **光度函数**   | - 光度损失函数\u003Cbr>- 光度增强                                                                                            |\n| **滤波**               | - 双边滤波\u003Cbr>- DexiNed\u003Cbr>- Dissolving\u003Cbr>- 引导模糊\u003Cbr>- 拉普拉斯滤波\u003Cbr>- 高斯滤波\u003Cbr>- 非局部均值滤波\u003Cbr>- Sobel 滤波\u003Cbr>- 锐化掩膜                                                                                            |\n| **颜色**                   | - 颜色空间转换\u003Cbr>- 亮度\u002F对比度调整\u003Cbr>- 伽马校正                                                                       |\n| **立体视觉**           | - 视差估计\u003Cbr>- 深度估计\u003Cbr>- 校正                                                                                           |\n| **图像配准**      | - 基于仿射和单应性的配准\u003Cbr>- 使用特征匹配进行图像对齐                                                                     |\n| **姿态估计**         | - 本质矩阵和基础矩阵估计\u003Cbr>- PnP 问题求解器\u003Cbr>- 姿态精炼                                                                |\n| **光流**            | - Farneback 光流\u003Cbr>- 密集光流\u003Cbr>- 稀疏光流                                                                                  |\n| **3D 视觉**               | - 深度估计\u003Cbr>- 点云操作                                                                |\n| **图像去噪**         | - 高斯噪声去除\u003Cbr>- 泊松噪声去除                                                                                                        |\n| **边缘检测**          | - Sobel 算子\u003Cbr>- Canny 边缘检测                                                                                                                 |                                               |\n| **变换**         | - 旋转\u003Cbr>- 平移\u003Cbr>- 缩放\u003Cbr>- 剪切                                                                                                     |\n| **损失函数**          | - SSIM（结构相似性指数）\u003Cbr>- PSNR（峰值信噪比）\u003Cbr>- Cauchy 损失\u003Cbr>- Charbonnier 损失\u003Cbr>- Depth Smooth 损失\u003Cbr>- Dice 损失\u003Cbr>- Hausdorff 损失\u003Cbr>- Tversky 损失\u003Cbr>- Welsch 损失                                   |                                                                                             |\n| **形态学操作**| - 膨胀\u003Cbr>- 腐蚀\u003Cbr>- 开运算\u003Cbr>- 闭运算                                                                                                          |\n\n\u003C\u002Fdetails>\n\n## 半精度支持\n\n| 模块 | float16 | bfloat16 | 备注 |\n|--------|:-------:|:--------:|-------|\n| `kornia.color` | ⚠️ | ⚠️ | 大多数转换对两种格式都有效；基于FFT的操作可能会失败 |\n| `kornia.filters` | ⚠️ | ⚠️ | 基础滤波器可用；基于FFT的操作在CUDA上可能会失败 |\n| `kornia.enhance` | ⚠️ | ⚠️ | 直方图均衡、伽马校正和ZCA均可用（线性代数操作使用类型转换辅助函数） |\n| `kornia.morphology` | ✅ | ✅ | 纯卷积\u002F池化操作；无数据类型限制 |\n| `kornia.augmentation` | ⚠️ | ⚠️ | 大多数操作可用；对精度敏感的变换可能不准确 |\n| `kornia.geometry.transform` | ⚠️ | ⚠️ | 通过类型转换辅助函数实现仿射变换、扭曲和缩放；薄板样条可能失败 |\n| `kornia.geometry.camera` | ⚠️ | ⚠️ | 小孔成像模型及大多数相机操作可用；`StereoCamera`接受两种格式 |\n| `kornia.geometry.calibration` | ❌ | ❌ | 明确只接受float32\u002Ffloat64（PnP求解器） |\n| `kornia.geometry.epipolar` | ⚠️ | ⚠️ | SVD\u002F逆运算使用类型转换辅助函数；两种数据类型均可 |\n| `kornia.geometry.homography` | ⚠️ | ⚠️ | 使用 `_torch_svd_cast` — 两种数据类型均可通过类型转换使用 |\n| `kornia.geometry.liegroup` | ⚠️ | ⚠️ | 大多数操作通过类型转换辅助函数可用；部分线性代数路径可能失败 |\n| `kornia.geometry.solvers` | ⚠️ | ⚠️ | 使用 `_torch_solve_cast` — 两种数据类型均可通过类型转换使用 |\n| `kornia.geometry.subpix` | ⚠️ | ⚠️ | 软argmax可用；对精度敏感的运算可能不准确 |\n| `kornia.losses` | ⚠️ | ⚠️ | 光度损失可用；基于线性代数的损失可能不可用 |\n| `kornia.feature` | ⚠️ | ⚠️ | 检测器\u002F描述符可用；匹配使用手动cdist回退 |\n| `kornia.metrics` | ⚠️ | ⚠️ | 像素级指标可用；基于线性代数的指标可能不可用 |\n| `kornia.models` | ⚠️ | ⚠️ | 基于卷积的模型可用；基于注意力的模型可能存在数据类型不匹配 |\n\n✅ 支持 &nbsp; ⚠️ 部分支持 &nbsp; ❌ 不支持\n\n**测试结果**（提交 `6131e98`, 2026-03-21）：\n\n| 运行 | 通过 | 失败 | 跳过 | 通过率 |\n|-----|-------:|-------:|--------:|------:|\n| CPU float32 *(基准)* | 7647 | 3 | 3269 | **99.9%** |\n| CUDA float32 *(基准)* | 7634 | 3 | 3280 | **99.9%** |\n| CPU float16 | 6866 | 747 | 3306 | **90.1%** |\n| CPU bfloat16 | 6838 | 812 | 3269 | **89.3%** |\n| CUDA float16 *(KORNIA_TEST_IN_SUBPROCESS=1)* | 6727 | 643 | 3556 | **91.3%** |\n| CUDA bfloat16 *(KORNIA_TEST_IN_SUBPROCESS=1)* | 6695 | 713 | 3518 | **90.4%** |\n\n详情请参阅[完整精度指南](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Fstable\u002Fget-started\u002Fprecision.html)。\n\n## 赞助\n\nKornia是一个由志愿者开发和维护的开源项目。无论您是将其用于研究还是商业用途，都欢迎考虑赞助或与我们合作。您的支持将有助于确保Kornia的成长和持续创新。立即联系我们，共同塑造这一激动人心项目的未来！\n\n\u003Ca href=\"https:\u002F\u002Fopencollective.com\u002Fkornia\u002Fdonate\" target=\"_blank\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_429edec31a41.png\" width=300 \u002F>\n\u003C\u002Fa>\n\n## 安装\n\n[![PyPI python](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fpyversions\u002Fkornia)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fkornia)\n[![pytorch](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPyTorch_2.0.0+-ee4c2c?logo=pytorch&logoColor=white)](https:\u002F\u002Fpytorch.org\u002Fget-started\u002Flocally\u002F)\n\n### 通过pip安装\n\n  ```bash\n  pip install kornia\n  ```\n\n\u003Cdetails>\n  \u003Csummary>其他安装选项\u003C\u002Fsummary>\n\n#### 从源码以可编辑模式安装\n\n  ```bash\n  pip install -e .\n  ```\n\n#### 使用Pixi进行开发（推荐）\n\n在开发过程中，Kornia使用[Pixi](https:\u002F\u002Fpixi.sh)来实现快速的Python包管理和环境管理。该项目包含一个`pixi.toml`配置文件，用于实现可重复的依赖管理。\n\n  ```bash\n  # 安装pixi（如果尚未安装）\n  curl -fsSL https:\u002F\u002Fpixi.sh\u002Finstall.sh | bash\n\n  # 安装依赖并设置开发环境\n  pixi install\n\n  # 运行测试\n  pixi run test\n\n  # 对于CUDA开发\n  pixi run -e cuda install\n  pixi run -e cuda test-cuda\n  ```\n\n这将设置一个包含所有依赖的完整开发环境。更多关于依赖管理和可用任务的详细信息，请参阅[CONTRIBUTING.md](CONTRIBUTING.md)。\n\n#### 从Github URL安装（最新版本）\n\n  ```bash\n  pip install git+https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\n  ```\n\n\u003C\u002Fdetails>\n\n## 快速开始\n\nKornia不仅仅是一个计算机视觉库——它是您轻松进入计算机视觉和人工智能领域的门户。\n\n\u003Cdetails>\n\u003Csummary>开始使用Kornia进行图像变换和增强！\u003C\u002Fsummary>\n\n```python\nimport numpy as np\nimport kornia_rs as kr\n\nfrom kornia.augmentation import AugmentationSequential, RandomAffine, RandomBrightness\nfrom kornia.filters import StableDiffusionDissolving\n\n# 加载并准备您的图像\nimg: np.ndarray = kr.read_image_any(\"img.jpeg\")\nimg = kr.resize(img, (256, 256), interpolation=\"bilinear\")\n\n# 或者，使用PIL加载图像\n# img = Image.open(\"img.jpeg\").resize((256, 256))\n# img = np.array(img)\n\nimg = np.stack([img] * 2)  # 批量处理图像\n\n# 定义增强流水线\naugmentation_pipeline = AugmentationSequential(\n    RandomAffine((-45., 45.), p=1.),\n    RandomBrightness((0.,1.), p=1.)\n)\n\n# 利用StableDiffusion模型\ndslv_op = StableDiffusionDissolving()\n\nimg = augmentation_pipeline(img)\ndslv_op(img, step_number=500)\n\ndslv_op.save(\"Kornia-enhanced.jpg\")\n```\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>了解Kornia ONNX模型与ONNXSequential！\u003C\u002Fsummary>\n\n```python\nimport numpy as np\nfrom kornia.onnx import ONNXSequential\n# 将HuggingFace仓库中的ONNX模型和您自己的本地模型串联起来\nonnx_seq = ONNXSequential(\n    \"hf:\u002F\u002Foperators\u002Fkornia.geometry.transform.flips.Hflip\",\n    \"hf:\u002F\u002Fmodels\u002Fkornia.models.detection.rtdetr_r18vd_640x640\",  # 或者您可以使用“YOUR_OWN_MODEL.onnx”\n)\n# 准备一些输入数据\ninput_data = np.random.randn(1, 3, 384, 512).astype(np.float32)\n# 进行推理\noutputs = onnx_seq(input_data)\n# 打印模型输出\nprint(outputs)\n\n# 导出一个新的ONNX模型，将所有三个模型串联起来！\nonnx_seq.export(\"chained_model.onnx\")\n```\n\u003C\u002Fdetails>\n\n## 多框架支持\n\n现在您可以将Kornia与[TensorFlow](https:\u002F\u002Fwww.tensorflow.org\u002F)、[JAX](https:\u002F\u002Fjax.readthedocs.io\u002Fen\u002Flatest\u002Findex.html)和[NumPy](https:\u002F\u002Fnumpy.org\u002F)一起使用。更多详情请参阅[多框架支持](docs\u002Fsource\u002Fget-started\u002Fmulti-framework-support.rst)。\n\n```python\nimport kornia\ntf_kornia = kornia.to_tensorflow()\n```\n\n\u003Cp align=\"center\">\n  由\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fivy-llc\u002Fivy\" target=\"_blank\">\n    \u003Cdiv class=\"dark-light\" style=\"display: block;\" align=\"center\">\n      \u003Cimg class=\"dark-light\" width=\"15%\" src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fivy-llc\u002Fassets\u002Frefs\u002Fheads\u002Fmain\u002Fassets\u002Flogos\u002Fivy-long.svg\"\u002F>\n    \u003C\u002Fdiv>\n  \u003C\u002Fa>\n  提供支持\n\u003C\u002Fp>\n\n## 欢迎贡献者\n\n你是否对计算机视觉、人工智能和开源开发充满热情？加入我们，共同塑造 Kornia 的未来吧！我们正在积极寻找贡献者，帮助扩展和增强我们的库，使其功能更强大、更易用、更具通用性。无论你是经验丰富的开发者还是刚刚入门的新手，我们的社区都欢迎你的加入。\n\n### 易于使用的 AI 模型\n\n我们很高兴宣布一项最新进展：一项旨在将轻量级 AI 模型无缝集成到 Kornia 中的新计划。我们的目标是让任何模型都能像 StableDiffusion 等大型模型一样流畅运行，并从多方面提供良好支持。\n\n**优先方向：VLM\u002FVLA 模型**\n\n我们的首要任务是集成 **视觉语言模型（VLM）** 和 **视觉语言代理（VLA）**，以实现端到端的视觉解决方案。我们诚挚地邀请各位贡献者协助我们：\n\n- **VLM\u002FVLA 集成（优先）**：实现并集成最先进的视觉语言模型和视觉语言代理。这包括 Qwen2.5-VL、SAM-3 以及其他前沿的 VLM\u002FVLA 架构。如果你正在研究 VLM\u002FVLA 模型，Kornia 将是你推广自己成果的理想平台！\n- 扩展模型选择：将优秀的模型引入我们的库中。作为研究人员，Kornia 是展示你工作的绝佳场所！\n- 模型优化：致力于在保持精度和性能的同时，降低模型的计算开销。你可以从提供 ONNX 支持开始！\n- 模型文档：编写详细的指南和示例，帮助用户在项目中充分利用这些模型。\n\n### 文档与教程优化\n\nKornia 的核心在于其丰富的经典计算机视觉算子集合，为图像处理、特征提取和几何变换提供了强大的工具。我们持续寻找贡献者，帮助我们改进文档并为用户提供优质的教程。\n\n## 引用\n\n如果你在研究相关文档中使用了 Kornia，建议引用我们的论文。更多信息请参阅 [CITATION](.\u002FCITATION.md)。\n\n```bibtex\n@inproceedings{eriba2019kornia,\n  author    = {E. Riba, D. Mishkin, D. Ponsa, E. Rublee and G. Bradski},\n  title     = {Kornia: an Open Source Differentiable Computer Vision Library for PyTorch},\n  booktitle = {Winter Conference on Applications of Computer Vision},\n  year      = {2020},\n  url       = {https:\u002F\u002Farxiv.org\u002Fpdf\u002F1910.02190.pdf}\n}\n```\n\n## 如何贡献\n\n我们非常感谢每一位贡献者的付出。如果你计划提交 bug 修复，请直接操作，无需额外讨论。若要贡献新功能、实用工具或扩展，请先创建议题并与我们讨论后再进行开发。请务必阅读 [CONTRIBUTING](.\u002FCONTRIBUTING.md) 文档。参与本开源项目需遵守 [Code of Conduct](.\u002FCODE_OF_CONDUCT.md)。\n\n### AI 政策\n\nKornia 接受由 AI 辅助编写的代码，但严格禁止以代理人身份提交完全由 AI 生成的内容。所有贡献者必须对每一行代码承担 **唯一责任**。请在提交 Pull Request 之前仔细阅读我们的 [AI Policy](AI_POLICY.md)。主要要求如下：\n\n- **验证证明**：PR 必须包含本地测试日志，以证明代码已成功执行。\n- **事前讨论**：所有 PR 在实施前都必须在 Discord 或通过 GitHub 议题进行讨论。\n- **基于现有库**：实现必须基于现有的库参考（如 PyTorch、OpenCV 等）。\n- **利用现有工具**：应优先使用现有的 `kornia` 工具，而非重复造轮子。\n- **解释说明**：你必须能够解释自己提交的任何代码。\n\n自动化 AI 审查工具（例如 GitHub Copilot）将根据这些政策检查 PR。完整详情请参阅 [AI_POLICY.md](AI_POLICY.md)。\n\n## 社区\n\n- **Discord**：加入我们的工作空间，与核心贡献者保持联系，获取行业最新动态，并成为社区的一员。[点击加入](https:\u002F\u002Fdiscord.gg\u002FHfnywwpBnD)\n- **GitHub Issues**：用于报告 bug、提出功能请求、解决安装问题、RFC、分享想法等。[立即打开](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002Fnew\u002Fchoose)\n- **论坛**：讨论实现细节、研究成果等。[GitHub 论坛](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fdiscussions)\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002FKornia\u002Fkornia\u002Fgraphs\u002Fcontributors\">\n  \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_readme_8ffd80838533.png\" width=\"60%\" \u002F>\n\u003C\u002Fa>\n\n由 [contrib.rocks](https:\u002F\u002Fcontrib.rocks) 制作。\n\n## 许可证\n\nKornia 采用 Apache 2.0 许可证发布。更多信息请参阅 [LICENSE](.\u002FLICENSE) 文件。","# Kornia 快速上手指南\n\n## 环境准备\n\n### 系统要求\n- 操作系统：Windows、Linux 或 macOS\n- Python 版本：3.8 - 3.12（推荐使用 Python 3.10）\n- PyTorch 版本：1.13.1 或更高版本（Kornia 支持 PyTorch 2.0.0+）\n\n### 前置依赖\n- Python 环境（建议使用 [Miniconda](https:\u002F\u002Fdocs.conda.io\u002Fen\u002Flatest\u002Fminiconda.html) 或 [Pyenv](https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv) 管理）\n- pip（Python 包管理工具）\n\n> 推荐使用国内镜像源加速安装，例如：\n> ```bash\n> pip install --index-url https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple kornia\n> ```\n\n## 安装步骤\n\n### 通过 pip 安装\n\n```bash\npip install kornia\n```\n\n> 如果需要使用 GPU 加速，确保已安装与 PyTorch 版本匹配的 CUDA 工具包。\n\n### 从源码安装（可选）\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia.git\ncd kornia\npip install -e .\n```\n\n### 开发环境（推荐使用 Pixi）\n\n```bash\ncurl -fsSL https:\u002F\u002Fpixi.sh\u002Finstall.sh | bash\npixi install\n```\n\n## 基本使用\n\n以下是一个最简单的 Kornia 使用示例，展示如何加载图像并进行基本的图像处理：\n\n```python\nimport torch\nimport kornia\n\n# 加载图像（假设是 3xHxW 的 Tensor）\nimage = torch.rand(1, 3, 256, 256)\n\n# 将图像转换为灰度图\ngray_image = kornia.color.rgb_to_grayscale(image)\n\n# 显示结果\nprint(gray_image.shape)\n```\n\n此示例展示了如何使用 Kornia 进行图像颜色空间转换。你可以参考官方文档和教程进一步探索更多功能。","某自动驾驶公司正在开发一套基于视觉的车道线检测系统，需要对摄像头采集的图像进行实时处理和分析，以识别道路边界并辅助车辆导航。\n\n### 没有 kornia 时  \n- 需要手动实现多种图像处理算法，如边缘检测、透视变换和颜色空间转换，开发周期长且容易出错  \n- 数据增强依赖第三方库，与现有 PyTorch 流程不兼容，导致训练效率低下  \n- 图像变换操作难以实现批量处理，影响模型推理速度  \n- 缺乏统一的几何视觉工具集，代码重复度高，维护成本大  \n\n### 使用 kornia 后  \n- 直接调用内置的 Canny 边缘检测和透视变换函数，快速实现图像预处理流程  \n- 利用 Kornia 的数据增强模块，无缝集成到 PyTorch 训练流程中，提升数据多样性  \n- 支持 GPU 加速的批量图像变换，显著提高推理速度  \n- 统一的 API 设计减少代码冗余，提升开发效率和可维护性  \n\nkornia 通过提供一套完整、高效的视觉处理工具链，大幅提升了自动驾驶视觉系统的开发效率和性能表现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkornia_kornia_a6b752ac.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkornia_863ab99a.png","Advancing Computer Vision & Spatial AI, Openly",null,"hello@kornia.org","kornia_foss","http:\u002F\u002Fwww.kornia.org","https:\u002F\u002Fgithub.com\u002Fkornia",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,11156,1180,"2026-04-05T05:03:00","Apache-2.0","Linux, macOS, Windows","需要 NVIDIA GPU，显存 8GB+，CUDA 11.7+","16GB+",{"notes":95,"python":96,"dependencies":97},"建议使用 conda 或 pixi 管理环境，首次运行需下载约 5GB 模型文件","3.8+",[98,99,100,101,102,103,104,105,106,107],"torch>=2.0","transformers>=4.30","accelerate","numpy","Pillow","scikit-learn","matplotlib","tqdm","pyyaml","opencv-python",[54,13,14],[110,111,112,113,114,115,116,117,118,119,120],"computer-vision","image-processing","machine-learning","pytorch","deep-learning","neural-network","python","artificial-intelligence","robotics","spatial-ai","hacktoberfest",4,"2026-03-27T02:49:30.150509","2026-04-06T05:37:46.645774",[125,130,134,138,143,148],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},5209,"在 Kornia 的 bbox 模块中，宽度和高度的计算方式是否标准？","在 Kornia 的 bbox 模块中，宽度和高度的计算方式是通过坐标差值加 1 来实现的（例如：width = x2 - x1 + 1）。这种做法与一些其他库（如 EfficientDet 和 OpenPCDet）不同，它们直接使用坐标差值。目前没有明确说明这种设计的原因，但可以参考相关代码示例进行验证。","https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002F1142",{"id":131,"question_zh":132,"answer_zh":133,"source_url":129},5210,"Kornia 的 bbox 模块中，坐标顺序是否与返回值一致？","Kornia 的 bbox 模块中，坐标顺序假设为 `x, y, z`，但在 `infer_bbox_shape` 函数中，返回值的顺序是 `height, width`（2D）或 `depth, height, width`（3D），这与坐标顺序不一致。目前没有明确解释这种设计原因。",{"id":135,"question_zh":136,"answer_zh":137,"source_url":129},5211,"如何在 Kornia 中创建一个可脚本化的 bbox 类？","为了使 `Boxes` 类支持 TorchScript，需要将其方法改为函数，并避免使用类方法（如 `from_tensor` 或 `transform_bbox`）。可以通过将这些方法定义为模块级别的函数来实现，同时使用 `torch.jit.unused` 标记以确保兼容性。",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},5212,"如何参与 Kornia 的文档和演示开发？","你可以通过以下步骤参与 Kornia 的文档和演示开发：\n1. 在此 Issue 中选择一个功能或提出自己的建议。\n2. 在 Hugging Face 上加入 Kornia 组织。\n3. 开启一个新 Issue 并提及此 Issue。\n4. 使用 Gradio 创建演示应用并部署到 Hugging Face Spaces。\n5. 提交 PR 并在文档中嵌入演示链接。","https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002F53",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},5213,"如何在 Kornia 中添加双边滤波器功能？","Kornia 可以通过 `kornia.filters.bilateral_blur` 添加可微分的双边滤波器。目前建议使用 PyTorch 实现，而不是 C++\u002FCUDA，因为后者维护成本较高。可以参考现有实现并考虑使用 Triton 进行优化。","https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002F702",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},5214,"如何在 Kornia 中实现形态学操作（如膨胀）？","Kornia 已经实现了形态学操作，如膨胀。相关功能已合并到主分支中，可通过 Pull Request 查看具体实现细节。","https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002F293",[154,159,164,169,174,179,184,189,194,199,204,209,214,219,224,229,234,239,244,249],{"id":155,"version":156,"summary_zh":157,"released_at":158},104723,"v0.8.2","## What's Changed\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3109\r\n* Migrate to discord by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3110\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3112\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3114\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3118\r\n* remove: wrong logging debug setup by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3120\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3121\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3124\r\n* docs: added docstring to the detach tensor to gpu by @VARUN3WARE in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3131\r\n* docs: Updated documentation with SEO meta descriptions for modules by @VARUN3WARE in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3129\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3133\r\n* chore(deps-dev): bump pytest from 8.3.4 to 8.3.5 by @dependabot[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3136\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3138\r\n* Fix Sold2Detector link by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3141\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3144\r\n* Remove deprecation decorator from depth_to_3d function by @Incharajayaram in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3142\r\n* Utils: support resize on MPS by @adamjstewart in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3145\r\n* Fix dedode when calling detect() with padding correctly handled by @hit2sjtu in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3147\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3146\r\n* Splitting the tests in test_augmentation_3d.py and test_container.py into individual test files. by @abdulrahman-riyad in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3143\r\n* Avoid 2N x 2N weight matrix allocation in find_homography_dlt by @SimonLarsen in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3134\r\n* fix: fixes IndexError in draw_line method  by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3116\r\n* ⚡️ Speed up function `point_line_distance` by 28% by @dasarchan in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3152\r\n* ⚡️ Speed up function `val2list` by 229% by @dasarchan in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3151\r\n* fix kernel_size in dog_response by @Force1ess in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3137\r\n* ⚡️ Speed up function `KORNIA_CHECK_IS_IMAGE` by 92% by @misrasaurabh1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3156\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3158\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3163\r\n* chore: skip dissolving tests by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3164\r\n* Updated the Batch functionality for depth_to_3d_v2 function by @Shubham-Sahoo in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3162\r\n* upgrade kornia-rs to 0.1.9 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3166\r\n* bump version 0.8.1 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3167\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3165\r\n* potential fix to #3104 issue by @soumya997 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3149\r\n* fix: Missed single pixel instance in upper left corner by `connected_components()` by @Halyjo in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3168\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3170\r\n* Fix\u002Fissue3161 fix parenthesis in transform by @stephen-mtz in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3171\r\n* Fix dedode forward with description padding removed. by @hit2sjtu in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3153\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3172\r\n* Adding Otsu thresholding for automatic image segmentation by @Neilstid in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3181\r\n* fix onnx-sequential ir version by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3187\r\n* drop support `torch\u003C2.0.0` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3186\r\n* fix ARKitQTVects_to_COLMAPQTVecs docstring by @mjfang in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3188\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci[bot] in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3183\r\n* Feat\u002F codeflash\u002Foptimize-torch_version-utils by @Meggison in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3196\r\n* [Fix] fixed typing by @shijianjian in http","2025-11-08T12:07:43",{"id":160,"version":161,"summary_zh":162,"released_at":163},104724,"v0.8.1","## What's Changed\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3109\r\n* Migrate to discord by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3110\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3112\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3114\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3118\r\n* remove: wrong logging debug setup by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3120\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3121\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3124\r\n* docs: added docstring to the detach tensor to gpu by @VARUN3WARE in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3131\r\n* docs: Updated documentation with SEO meta descriptions for modules by @VARUN3WARE in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3129\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3133\r\n* chore(deps-dev): bump pytest from 8.3.4 to 8.3.5 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3136\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3138\r\n* Fix Sold2Detector link by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3141\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3144\r\n* Remove deprecation decorator from depth_to_3d function by @Incharajayaram in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3142\r\n* Utils: support resize on MPS by @adamjstewart in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3145\r\n* Fix dedode when calling detect() with padding correctly handled by @hit2sjtu in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3147\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3146\r\n* Splitting the tests in test_augmentation_3d.py and test_container.py into individual test files. by @abdulrahman-riyad in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3143\r\n* Avoid 2N x 2N weight matrix allocation in find_homography_dlt by @SimonLarsen in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3134\r\n* fix: fixes IndexError in draw_line method  by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3116\r\n* ⚡️ Speed up function `point_line_distance` by 28% by @dasarchan in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3152\r\n* ⚡️ Speed up function `val2list` by 229% by @dasarchan in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3151\r\n* fix kernel_size in dog_response by @Force1ess in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3137\r\n* ⚡️ Speed up function `KORNIA_CHECK_IS_IMAGE` by 92% by @misrasaurabh1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3156\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3158\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3163\r\n* chore: skip dissolving tests by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3164\r\n* Updated the Batch functionality for depth_to_3d_v2 function by @Shubham-Sahoo in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3162\r\n* upgrade kornia-rs to 0.1.9 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3166\r\n\r\n## New Contributors\r\n* @VARUN3WARE made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3131\r\n* @Incharajayaram made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3142\r\n* @abdulrahman-riyad made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3143\r\n* @SimonLarsen made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3134\r\n* @dasarchan made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3152\r\n* @Force1ess made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3137\r\n* @misrasaurabh1 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3156\r\n* @Shubham-Sahoo made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3162\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fcompare\u002Fv0.8.0...v0.8.1","2025-05-08T10:49:33",{"id":165,"version":166,"summary_zh":167,"released_at":168},104725,"v0.8.0","## What's Changed\r\n* Nick\u002Fruff bugbear by @ntjohnson1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3076\r\n* chore (pre-commit): update hooks  by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3080\r\n* chore (docstrings): addopt ruff over docformatter by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3082\r\n* Don't detach tensors to cpu by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3084\r\n* chore(deps-dev): bump pytest from 8.3.3 to 8.3.4 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3087\r\n* chore (coverage): adjust to the new threshold by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3086\r\n* Add padding_mode to the thin_plate_spline by @okdalto in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3079\r\n* chore (ci): tests on torch `2.5.1` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3070\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3089\r\n* chore (docs): enable some Ruff rules for Docstring by @ntjohnson1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3088\r\n* Fix LightGlue normalize_keypoints with torch.Size input by @Dawars in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3075\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3093\r\n* chore(deps-dev): update numpy requirement from \u003C2 to \u003C3 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3092\r\n* Ruff Docstring Rule D417: Fix missing arguments by @ntjohnson1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3091\r\n* Nick\u002Fruff d103 by @ntjohnson1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3096\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3100\r\n* Fix RandomRain crash when no images in the batch are augmented (#3097) by @plamen-alcatraz in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3103\r\n* chore (pre-commit): hook to add license header by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3094\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3106\r\n\r\n## New Contributors\r\n* @ntjohnson1 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3076\r\n* @okdalto made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3079\r\n* @Dawars made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3075\r\n* @plamen-alcatraz made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3103\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fcompare\u002Fv0.7.4...v0.8.0","2025-01-11T05:12:17",{"id":170,"version":171,"summary_zh":172,"released_at":173},104726,"v0.7.4","## What's Changed\r\n* fix (CI): ensure support test suite w\u002F numpy by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2932\r\n* release 0.7.3 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2938\r\n* bump version 0.7.4-dev by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2939\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2943\r\n* Fix Shape Typo by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2951\r\n* Use named args in update_attribute by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2946\r\n* chore: ensure onnx kornia check, check shape and check same shape by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2953\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2949\r\n* Add a \"Contributing to Documentation\" section to contribution g… by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2959\r\n* Updating docs to include interactive demos by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2958\r\n* fix: E721 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2966\r\n* Include Steerers by @georg-bn in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2940\r\n* chore: ensure onnx for face detector model by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2952\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2965\r\n* Ignore invalid keys instead of raising an error by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2971\r\n* Replace deprecated torch.cuda.amp decorators for torch 2.4 by @loichuder in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2967\r\n* Update hf spaces in docs by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2964\r\n* Update numpy requirement from \u003C2 to \u003C3 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2976\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2977\r\n* [Feat] init kornia module by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2963\r\n* Bump pytest from 8.2.2 to 8.3.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2968\r\n* Index fix for aug dicts by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2979\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2980\r\n* fix (CI): docs build and test by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2982\r\n* fix: dedode w steerer matching doc test by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2983\r\n* chore (CI): ensure support to torch 2.4 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2972\r\n* feat (CI): cache model weights  by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2984\r\n* Add feature benchmark numbers to doc by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2991\r\n* is_autocast_enabled: fix deprecation warning by @adamjstewart in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2981\r\n* [Feat] Added dissolving transformation & updated docs by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2961\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2990\r\n* fix: Wrong Type Hints in `augmentation.Normalize` (#3003) by @fang-d in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3004\r\n* Inplace draw convex polygon by @Isalia20 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3000\r\n* compute area for all types of boxes by @Isalia20 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2996\r\n* onnx export device mismatch fix by @Isalia20 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2999\r\n* Quaternion conversions by @tjelinek in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2993\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3010\r\n* RTDETR update by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3012\r\n* chore (dep-dev): pin numpy to \u003C2 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3017\r\n* docs: precise yuv flavor in docstrings by @egidioln in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3016\r\n* Bump actions\u002Fdownload-artifact from 2 to 4.1.7 in \u002F.github\u002Fworkflows by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3011\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3018\r\n* chore(deps-dev): bump pytest from 8.3.2 to 8.3.3 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3021\r\n* Fix early stop in lightglue by @zerolover in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3024\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3023\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3029\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3031\r\n* Add explicit dev dependency on setuptools by @falckt in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3036\r\n* Fix weighted dice loss by @falckt in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F3033\r\n* Add ignore_index to dice, focal and tversky loss by @f","2024-11-05T09:27:33",{"id":175,"version":176,"summary_zh":177,"released_at":178},104727,"v0.7.3","## What's Changed\r\n* Pre commit update hooks by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2844\r\n* fix: typing ignore for `dedode.tranformer` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2849\r\n* Fix datakey retreival for BBOX_XYWH and BBOX_XYXY by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2846\r\n* Fix: DeDoDe tests coverage by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2850\r\n* fix: dedode pretained type ignore dedode init by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2858\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2857\r\n* added kornia's euclidian_distance function in kmeans algorithm by @smruthi-sumanth in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2861\r\n* gaussian illumination device improvements by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2860\r\n* feat: 2d augmentation benchmarks by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2853\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2864\r\n* Support instance masks (N,H,W) by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2856\r\n* color jitter compile and set right device \u002F dtype by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2863\r\n* [Fix] Transformation Matrix Mis-calculation for autoaugmentations by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2852\r\n* [Fix] Add Support for Images not Div by 16 (Diff. JPEG) by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2865\r\n* support compile for random gaussian blur by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2866\r\n* Feat: random channel dropout by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2859\r\n* fix [aug]: gaussian blur compile and compile tests skips by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2872\r\n* Fixes the use of the gtag extension by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2871\r\n* remove unused dependencies by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2870\r\n* Delete manual `robots.txt` from docs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2869\r\n* fix: skip dynamo test for visual prompter by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2874\r\n* DataKey: add 'label' as alias of 'class' by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2873\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2878\r\n* Add torch.compile to RandomGaussianIllumination by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2868\r\n* adds weight parameter to dice and lovasz_softmax losses by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2879\r\n* Vectorize lovasz_softmax loss by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2884\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2885\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2889\r\n* bump: workflows to 1.8.1 and torch to 2.2.2 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2888\r\n* dedode v2 weights by @Parskatt in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2887\r\n* Automatic updates of copyright year in lib by @chirizxc in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2890\r\n* Fix: rasanc max_samples_by_conf to not return negative by @vicsyl in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2897\r\n* Change sold2 detector config to dataclass by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2880\r\n* chore: remove repetitive words by @peicuiping in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2902\r\n* CI: Drop macos-latest runner for torch 1.9.1 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2905\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2894\r\n* feat: in_range filtering by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2895\r\n* Unify sold2 config dataclasses by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2899\r\n* Refactor SOLD2 and WunschLineMatcher Dict Config to Dataclasses by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2901\r\n* compute_area fix for ndim=3 tensors by @Isalia20 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2915\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2916\r\n* chore (CI): ensure support to pytorch 2.3.0 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2912\r\n* Bump pytest from 8.1.1 to 8.2.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2917\r\n* Speed up differentiable 5PC and fix the batch size issue by @weitong8591 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2914\r\n* feat: support batched and float data in apply colormap by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2886\r\n* Bump pytest from 8.2.1 to 8.2.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2925\r\n* Bugfix: LoFTR was ignoring mask input by @Yosshi999 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2923\r\n* new E decomposition without svd by @weitong8591 in https","2024-06-28T15:15:38",{"id":180,"version":181,"summary_zh":182,"released_at":183},104728,"v0.7.2","## What's Changed\r\n* rename missing main by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2723\r\n* Bump pytest from 7.4.3 to 7.4.4 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2712\r\n* Replace docs source link from `viewcode` to github  by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2727\r\n* Bump readthedocs python version by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2729\r\n* Bump accelerate from 0.25.0 to 0.26.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2730\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2734\r\n* Fixes `extract_tensor_patches` to work with partial patches cases by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2735\r\n* [SAM] document the image (tensor) should be scaled between [0,1] by @scott-vsi in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2738\r\n* add ProjectionZ1, Orthographic, Affine, KannalaBrandt by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2728\r\n* bump torch `2.1.2` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2742\r\n* remove retrigger CI on PR's when labeled by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2744\r\n* rename directory: `test` -> `tests` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2743\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2747\r\n* Depreciates `kornia.testing` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2745\r\n* Add salt and pepper noise with docs and tests by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2746\r\n* alphabetical order augmentations docs and add salt pepper by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2757\r\n* Added DogHardNet LightGlue by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2758\r\n* fix F841 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2759\r\n* feat: differentiable jpeg by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2760\r\n* [CI] split coverage into multiple jobs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2756\r\n* Ci: fix old torch install by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2763\r\n* RandomSaltAndPepperNoise: Update algorithm to use indexing by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2762\r\n* add dedode descriptor B weights for lightglue by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2769\r\n* skip unsupported tests cases for torch==1.9.1 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2770\r\n* remove typing report by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2765\r\n* Bump pytest from 7.4.4 to 8.0.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2766\r\n* Ensure support to `torch==2.2.0` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2772\r\n* Resize compile by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2774\r\n* [FIX] ColorJiggle works on non-3-channel images by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2767\r\n* Introduces `benchmarks\u002F` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2777\r\n* Add [*, 3, H, W] support to Diff. JPEG by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2776\r\n* [test suite] add slow marker vit by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2779\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2783\r\n* Fix `ruff 0.2.1` config  by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2784\r\n* force solve with torch.float64 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2785\r\n* Fix robots for web crawlers by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2790\r\n* Remove device from get_planckian_coeffs and register self.pl as a buffer by @Modexus in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2792\r\n* ViT: Load Jax augreg weights by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2786\r\n* docs: add not-found option by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2796\r\n* Feat: Support list of masks in `AugmentationSequential` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2740\r\n* test suite: skip fp64 canny dynamo test by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2797\r\n* Test suite: separate losses tests into individual files by @fleventy-5 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2801\r\n* Test suite: separate contrib tests into individual files by @fleventy-5 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2802\r\n* Test suite: separate metrics tests into individual files by @fleventy-5 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2805\r\n* Feat: add Gradient Illumination augmentations (gaussian) by @vgilabert94 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2780\r\n* add missing docs for RandomGaussianIllumination by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2806\r\n* feat: Add RandomJPEG Augmentation by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2803\r\n* Update augmentation.module.rst by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2808\r\n* Add: differentiable clipping, floor and rounding functions by @jeffin07 ","2024-03-14T09:13:46",{"id":185,"version":186,"summary_zh":187,"released_at":188},104729,"v0.7.1","## What's Changed\r\n* Lie groups docs update by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2495\r\n* Fixed RandomJigsaw #2494 by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2504\r\n* Fixed video batching bug #2410 #2497 by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2502\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2508\r\n* LG-test by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2510\r\n* Fix docs build - `sphinx==7.0.1` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2518\r\n* [feat] add right and left jacobian for So3 by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2509\r\n* Fix: update random_rain.py by @f-amerehi in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2514\r\n* Fix docs: Unpin sphinx by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2527\r\n* Fix tutorials links to use the github page by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2529\r\n* Bump accelerate from 0.21.0 to 0.22.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2530\r\n* Update precommit hooks by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2521\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2528\r\n* Added kornia resize in object detection by @jeffin07 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2526\r\n* [feat] Add transplantation augmentation by @JanSellner in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2523\r\n* Use `grid_sample` from F without importing it. by @antoinebrl in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2532\r\n* Clarify documentation to get shear matrices by @priba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2533\r\n* Bump pytest from 7.4.0 to 7.4.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2537\r\n* Add support for class data keys in AugmentationSequential by @miquelmarti in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2536\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2538\r\n* fix readme badges by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2539\r\n* Bump pytest from 7.4.1 to 7.4.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2542\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2543\r\n* Bump accelerate from 0.22.0 to 0.23.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2547\r\n* [feature] rt-detr onnx by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2548\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2550\r\n* Make transforms Spawn Multiprocessing Context Friendly by @NielsPichon in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2499\r\n* Fix TestEqualization by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2553\r\n* add coverage CI by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2551\r\n* fixes zero division in depth_from_disparity by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2556\r\n* Fix improper `importlib.util` import by @Avasam in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2558\r\n* Depth to 3d improvements by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2557\r\n* fix object detection onnx by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2555\r\n* reduce repository size (history rewriting) by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2561\r\n* fix typing by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2563\r\n* Add missing tests (losses, io, connected components) by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2565\r\n* allow warp_affine fill num_channels other than three by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2568\r\n* Fix depth to 3d docs by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2569\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2570\r\n* Update augmentation.rst by @Otteri in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2584\r\n* fix bucket off-by-one-error by @Seanny123 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2582\r\n* update version to dev by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2586\r\n* drop `torchvision` from docs deps by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2591\r\n* Adds 7pt solver to RANSAC by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2595\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2596\r\n* [feat] Add Average Endpoint Error to Metrics by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2500\r\n* Add `torch.jit.script` support for `warp_affine` by @balbok0 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2588\r\n* Update readthedocs.yml by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2598\r\n* [speed up CI tests suite] Skip slow tests as default by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2587\r\n* Fix of multi head attention implementation by @yarkoslav in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2589\r\n* fix doctest by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2604\r\n* drop `cv2` as de","2023-12-27T10:47:21",{"id":190,"version":191,"summary_zh":192,"released_at":193},104730,"v0.7.0","# Highlights\r\n\r\n## Image API\r\n\r\nIn this release we have added a new [`Image`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fimage.html) API as placeholder to support a more generic multibackend api. You can export\u002Fimport from files, numpy and dlapck.\r\n\r\n```python\r\n>>> # from a torch.tensor\r\n>>> data = torch.randint(0, 255, (3, 4, 5), dtype=torch.uint8)  # CxHxW\r\n>>> pixel_format = PixelFormat(\r\n...     color_space=ColorSpace.RGB,\r\n...     bit_depth=8,\r\n... )\r\n>>> layout = ImageLayout(\r\n...     image_size=ImageSize(4, 5),\r\n...     channels=3,\r\n...     channels_order=ChannelsOrder.CHANNELS_FIRST,\r\n... )\r\n>>> img = Image(data, pixel_format, layout)\r\n>>> assert img.channels == 3\r\n```\r\n\r\n## Object Detection API\r\n\r\nWe have added the [`ObjectDetector`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#object-detection) that includes by default the RT-DETR model. The detection pipeline is fully configurable by supplying a pre-processor, a model, and a post-processor. Example usage is shown below.\r\n\r\n```python\r\nfrom io import BytesIO\r\n\r\nimport cv2\r\nimport numpy as np\r\nimport requests\r\nimport torch\r\nfrom PIL import Image\r\nimport matplotlib.pyplot as plt\r\n\r\nfrom kornia.contrib.models.rt_detr import RTDETR, DETRPostProcessor, RTDETRConfig\r\nfrom kornia.contrib.object_detection import ObjectDetector, ResizePreProcessor\r\n\r\nmodel_type = \"hgnetv2_x\"  # also available: resnet18d, resnet34d, resnet50d, resnet101d, hgnetv2_l\r\ncheckpoint = f\"https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Freleases\u002Fdownload\u002Fv0.7.0\u002Frtdetr_{model_type}.ckpt\"\r\nconfig = RTDETRConfig(model_type, 80, checkpoint=checkpoint)\r\nmodel = RTDETR.from_config(config).eval()\r\n\r\ndetector = ObjectDetector(model, ResizePreProcessor(640), DETRPostProcessor(0.3))\r\n\r\nurl = \"https:\u002F\u002Fgithub.com\u002Fkornia\u002Fdata\u002Fraw\u002Fmain\u002Fsoccer.jpg\"\r\nimg = Image.open(BytesIO(requests.get(url).content))\r\nimg = np.asarray(img, dtype=np.float32) \u002F 255\r\nimg_pt = torch.from_numpy(img).permute(2, 0, 1)\r\ndetection = detector.predict([img_pt])\r\n\r\nfor cls_score_xywh in detection[0].numpy():\r\n    class_id = int(cls_score_xywh[0])\r\n    score = cls_score_xywh[1]\r\n    x, y, w, h = cls_score_xywh[2:].round().astype(int)\r\n    cv2.rectangle(img, (x, y, w, h), (255, 0, 0), 3)\r\n\r\n    text = f\"{class_id}, {score:.2f}\"\r\n    font = cv2.FONT_HERSHEY_SIMPLEX\r\n    (text_width, text_height), _ = cv2.getTextSize(text, font, 1, 2)\r\n    cv2.rectangle(img, (x, y - text_height, text_width, text_height), (255, 0, 0), cv2.FILLED)\r\n    cv2.putText(img, text, (x, y), font, 1, (255, 255, 255), 2)\r\n\r\nplt.imshow(img)\r\nplt.show()\r\n```\r\n\r\n![img](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fassets\u002F26946864\u002F31a2ef4f-3bc7-4a4d-ba5f-1718a61f3aec)\r\n\r\n## Deep Models\r\n\r\nAs part of the [`kornia.contrib`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#) module, we started building a [`models`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#models) module where Deep Learning models for Computer Vision (Semantic Segmentation, Object Detection, etc.) will exist.\r\n\r\nFrom an abstract base class [`ModelBase`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#kornia.contrib.models.base.ModelBase), we will implement and make available these deep learning models (eg Segment anything). Similarly, we provide standard structures to be used with the results of these models such as [`SegmentationResults`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#kornia.contrib.models.SegmentationResults).\r\n\r\nThe idea is that we can abstract and standardize how these models will behave with our High level APIs. Like for example interacting with the [`Visual Prompter`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#visualprompter) backend (today [`Segment Anything`](https:\u002F\u002Fai.facebook.com\u002Fresearch\u002Fpublications\u002Fsegment-anything) is available).\r\n\r\n[`ModelBase`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fcontrib.html#kornia.contrib.models.base.ModelBase) provides methods for loading checkpoints (`load_checkpoint`), and compiling itself via the [`torch.compile`](https:\u002F\u002Fpytorch.org\u002Fdocs\u002F2.0\u002F) API. And we plan to increase it according to the needs of the community.\r\n\r\nWithin this release, we are also making other models available to be used like `RT_DETR` and `tiny_vit`.\r\n\r\nExample of using these abstractions to implement a model:\r\n\r\n```python\r\n# Each model should be a submodule inside the `kornia.contrib.models`, and the Model class itself will be exposed under this\r\n# `models` module.\r\n\r\nfrom kornia.contrib.models.base import ModelBase\r\nfrom dataclasses import dataclass\r\nfrom kornia.contrib.models.structures import SegmentationResults\r\nfrom enum import Enum\r\n\r\nclass MyModelType(Enum):\r\n    \"\"\"Map the model types.\"\"\"\r\n    a = 0\r\n    ...\r\n\r\n@dataclass\r\nclass MyModelConfig:\r\n    model_type: str | int | SamModelType | None = None\r\n    checkpoint: str | None = None\r\n    ...\r\n\r\nclass MyModel(ModelBase[MyModelConfig]):\r\n    def __init__(...) -> None:\r\n        ...\r\n\r\n    @staticmethod\r\n    def from_config(config: MyModelConfig) -> MyModel:\r\n        \"\"\"Build the model based on the ","2023-08-02T09:57:58",{"id":195,"version":196,"summary_zh":197,"released_at":198},104731,"v0.6.12","# Highlights\r\n\r\n## ImagePrompter API\r\n\r\nIn this release we have added a new [`ImagePrompter`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fmodels\u002Fsegment_anything.html) API that settles the basis as a foundational api for the task to query geometric information to images inspired by LLM. We leverage the ImagePrompter API via the Segment Anything (SAM) making the model more accessible, packaged and well maintained for industry standards.\r\n\r\nCheck the full tutorial: https:\u002F\u002Fgithub.com\u002Fkornia\u002Ftutorials\u002Fblob\u002Fmaster\u002Fnbs\u002Fimage_prompter.ipynb\r\n\r\n```python\r\nimport kornia as K\r\nfrom kornia.contrib.image_prompter import ImagePrompter\r\nfrom kornia.geometry.keypoints import Keypoints\r\nfrom kornia.geometry.boxes import Boxes\r\n\r\nimage: Tensor = K.io.load_image(\"soccer.jpg\", ImageLoadType.RGB32, \"cuda\")\r\n\r\n# Load the prompter\r\nprompter = ImagePrompter(config, device=\"cuda\")\r\n\r\n# set the image: This will preprocess the image and already generate the embeddings of it\r\nprompter.set_image(image)\r\n\r\n# Generate the prompts\r\nkeypoints = Keypoints(torch.tensor([[[500, 375]]], device=\"cuda\")) # BxNx2\r\n# For the keypoints label: 1 indicates a foreground point; 0 indicates a background point\r\nkeypoints_labels = torch.tensor([[1]], device=\"cuda\") # BxN\r\nboxes = Boxes(\r\n    torch.tensor([[[[425, 600], [425, 875], [700, 600], [700, 875]]]], device=\"cuda\"), mode='xyxy'\r\n)\r\n\r\n# Runs the prediction with all prompts\r\nprediction = prompter.predict(\r\n    keypoints=keypoints,\r\n    keypoints_labels=keypoints_labels,\r\n    boxes=boxes,\r\n    multimask_output=True,\r\n)\r\n```\r\n\r\n![image](https:\u002F\u002Fuser-images.githubusercontent.com\u002F5157099\u002F233471817-fd918073-6658-4d85-9339-3b661201d8f5.png)\r\n\r\n## Guided Blurring\r\n\r\nBlur images by preserving edges via Bilateral and Guided Blurring\r\n-> https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Ffilters.html#kornia.filters.guided_blur\r\n\r\n![image](https:\u002F\u002Fuser-images.githubusercontent.com\u002F5157099\u002F233473164-d3741ca4-8d24-4b12-b712-8e1dc37ae054.png)\r\n\r\n\r\n## What's Changed\r\n* Fixed typo in face_detection.rst by @Aneesh02 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2308\r\n* Fix elastic transformation if only partially applied by @JanSellner in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2303\r\n* Fix current typing errors by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2305\r\n* remove numpy link from image utils by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2306\r\n* Update io.rst with `ImageLoadType` by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2309\r\n* improve local feature orientation by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2310\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2266\r\n* fix: Fix links to CONTRIBUTING.md by @timleslie in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2312\r\n* Fix readme links by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2311\r\n* Bump pytest from 7.2.2 to 7.3.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2316\r\n* Update nerf test to use `kornia\u002Fdata` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2319\r\n* Fix pos_weight in focal loss by @roytseng-tw in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2323\r\n* Fix bugs in Bilateral filter tests by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2320\r\n* Add Guided filter by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2322\r\n* Bump pytest from 7.3.0 to 7.3.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2327\r\n* Fix kernel size ordering by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2326\r\n* update url collect_env.py by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2329\r\n* Fixes LAF visualization due to kornia_moons update by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2331\r\n* add keypoints to the docs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2330\r\n* Fix missing file keypoints docs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2332\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2318\r\n* Ensure support to torch 2.0 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2272\r\n* Use separable filter2d for box filter by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2328\r\n* [feat] add segment anything base by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2315\r\n* make api docs more visible by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2334\r\n\r\n## New Contributors\r\n* @Aneesh02 made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2308\r\n* @timleslie made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2312\r\n* @roytseng-tw made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2323\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fcompare\u002Fv0.6.11...v0.6.12","2023-04-20T21:02:06",{"id":200,"version":201,"summary_zh":202,"released_at":203},104732,"v0.6.11","## Highlights\r\n\r\nIn this release we have added [DISK](https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.13566), which is the best free local feature for 3D reconstruction. (part of [winning solutions in IMC2021](https:\u002F\u002Fwww.cs.ubc.ca\u002Fresearch\u002Fimage-matching-challenge\u002F2021\u002Fleaderboard\u002F) together with SuperGlue). \r\nThanks to @jatentaki for the great work and relicensing the DISK to Apache 2!\r\n\r\n```python3\r\nimport kornia.feature as KF\r\n\r\ndisk = KF.DISK.from_pretrained('depth').to(device)\r\nwith torch.inference_mode():\r\n    inp = torch.cat([img1, img2], dim=0)\r\n    features1, features2 = disk(inp, 2048, \r\n                                pad_if_not_divisible=True)\r\n    kps1, descs1 = features1.keypoints, features1.descriptors\r\n    kps2, descs2 = features2.keypoints, features2.descriptors\r\n    dists, idxs = KF.match_smnn(descs1, descs2, 0.98)\r\n```\r\n\u003Cimg width=\"700\" alt=\"image\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F4803565\u002F228498757-b852fb8a-9dd7-425a-a67f-649bee224dcc.png\">\r\n\r\n\r\n\r\n## What's Changed\r\n* Release 0.6.10 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2212\r\n* Update contributing guide by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2217\r\n* Fix RandomGaussianBlur error when sigma is passed as a tensor. by @juliendenize in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2220\r\n* Separate gradcheck for test_conversions by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2223\r\n* Drop JIT support for `core.check`, `Boxes`, and some others by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2219\r\n* PEP621: Move more configuration into pyproject.toml by @cclauss in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2225\r\n* enable `disallow_incomplete_defs` on mypy by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2094\r\n* Update tensor equality tests to use`assert_close()` by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2233\r\n* Feat\u002Frandom median blur by @DariaMinieieva in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2234\r\n* Clean up metadata and fix requirements by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2232\r\n* Feat\u002Frandom snow by @just1ce415 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2229\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2236\r\n* add random snow and median blur to docs by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2238\r\n* Use more pythonic expressions in rgb to hls by @alinamuliak in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2235\r\n* Fix typo in doc for RandAugment by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2243\r\n* Add bilateral filter by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2242\r\n* Feature LAF docs fix by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2245\r\n* Drop JIT support for `geometry.subpix` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2253\r\n* small cleanup on root files by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2251\r\n* Add Joint Bilateral Filter by @gau-nernst in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2249\r\n* Remove Re-definition found for builtin input function - Update tests by @alexg-lviv in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2255\r\n* Bump pytest from 7.2.1 to 7.2.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2256\r\n* fix extract_patches and consequent bugs by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2262\r\n* Remove typecheck for 2D kernel size on filters by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2259\r\n* Bump accelerate from 0.16 to 0.17.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2265\r\n* Feat\u002Fdice loss averaging by @ViriAldi in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2264\r\n* Fix SOLD2 on CUDA by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2270\r\n* Fix Normalize with integer inputs by @adamjstewart in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2269\r\n* Add warnings as error on documentation build by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2273\r\n* Bump accelerate from 0.17.0 to 0.17.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2280\r\n* add batch_squared_norm to kornia\u002Fgeometry\u002Flinalg __all__ by @xoiga123 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2279\r\n* remove numpy dependency by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2277\r\n* Update release workflow by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2278\r\n* Fix\u002Fdiamond square normalize by @hennels in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2283\r\n* Add Random rain augmentation by @BohdanVey in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2268\r\n* Add typehints for kornia.geometry.linalg.inverse_transformation by @xoiga123 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2286\r\n* Bump accelerate from 0.17.1 to 0.18.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2289\r\n* [WIP] Integrating DISK by @jatentaki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2285\r\n* Add releases 0.6.6 - 0.6.10 to Changelog by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2295\r\n* fix the padding bug 32 -> 16 by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2294\r\n* expose DISK","2023-03-28T23:00:00",{"id":205,"version":206,"summary_zh":207,"released_at":208},104733,"v0.6.10","## What's Changed\r\n* add `depth_from_disparity` function by @pri1311 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2096\r\n* update config tests by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2107\r\n* update CI nightly by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2106\r\n* Fix AugmentationSequential to return list of boxes by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2114\r\n* Bump pytorch version by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2100\r\n* add `PadTo` to docs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2122\r\n* add colormap and `apply_ColorMap` for integer tensor by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1996\r\n* Fix numerical stability for binary focal loss by @zimka in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2125\r\n* Add RandomGaussianBlur with instance-level gaussian kernel generation by @juliendenize in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1663\r\n* add transparent pad to `CenterCrop` docs example by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2124\r\n* Fix support for (*, 3, H, W) tensors  in yuv by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2108\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2113\r\n* Ensure support to Python 3.9 and 3.10 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2025\r\n* Add Vector2 by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2134\r\n* Add 3D-SSIM loss by @pri1311 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2130\r\n* Fix different warning and errors when building doc by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2127\r\n* Add Common Regression Losses by @ChristophReich1996 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2109\r\n* fix TensorWrapper serialization by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2132\r\n* Run nightly CI just with labeled PR by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2128\r\n* Split the half precision tests workflow by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2118\r\n* move deps to `setup.py` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2137\r\n* move tests workflow to reusable workflow by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2133\r\n* rename to have the right readme at front page by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2141\r\n* Fixe DoG accuracy, add `upscale_double` by @vicsyl in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2105\r\n* Update `nightly` labeled condition by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2140\r\n* improve `TestUpscaleDouble` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2147\r\n* fix adalam tests for py310 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2145\r\n* add `fail-fast:false` as default on tests workflow by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2146\r\n* Added Face detection Interactive demo by @jeffin07 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2142\r\n* Bump pytest from 7.2.0 to 7.2.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2148\r\n* add SSIM3D and `depth_from_disparity` to docs by @pri1311 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2150\r\n* Explicitly cast output to input type to avoid type mismatch errors by @JanSellner in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1842\r\n* Fix params computation for `LongestMaxSize` and `SmallestMaxSize` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2131\r\n* torch_version_geq -> torch_version_ge according to todo by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2157\r\n* fix doc build - `sphinx-autodoc-typehints==1.21.3` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2159\r\n* ScaleSpaceDetector -> Fast ScaleSpaceDetector by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2154\r\n* Improve losses tests, add `TestSSIM3d`, and `BaseTester.gradcheck` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2152\r\n* modify comments of rgb and lab conversion by @gravitychen in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2153\r\n* add __repr__ and __getitem__ to vector by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2163\r\n* Augmentation Base Refactor by @shijianjian in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2117\r\n* unpin `sphinx-autodoc-typehints` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2166\r\n* Fix adalam-config by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2170\r\n* Fix docs  of `boxes`, `MultiResolutionDetector`. `apply colormap`, `AugmentationSequential` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2167\r\n* add exception test for se2 + small bug fix by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2160\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2174\r\n* Fix MobileViT by @chinhsuanwu in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2172\r\n* Fix output types of augmentations on autocast regions by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2168\r\n* Fix planckian jitter for cuda by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2177\r\n* [enhance] improve flipping and cropping speed by @shijianjian","2023-02-17T20:15:18",{"id":210,"version":211,"summary_zh":212,"released_at":213},104734,"v0.6.9","## What's Changed\r\n* Quaternion pow bug fix (div by zero) by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1946\r\n* fix cuda init by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1953\r\n* Bump accelerate from 0.13.1 to 0.13.2 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1957\r\n* add kornia.testing api in docs by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1954\r\n* Fix line numbers of included examples. by @colllin in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1950\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1949\r\n* Feat\u002Frandombrightness contrast saturation hue by @duc12111 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1955\r\n* Normalize with intrinsics by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1727\r\n* Liegroups by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1887\r\n* Add sepia by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1947\r\n* fix doctest in ```kornia.geometry.liegroup``` by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1960\r\n* minor improvements to So3 by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1966\r\n* Documentation: proper Sørensen–Dice coefficient by @sergiev in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1961\r\n* use torch lts in doctest ci by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1968\r\n* Add `Hyperplane` and `Ray` API by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1963\r\n* Bump pytest from 7.1.3 to 7.2.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1972\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1975\r\n* drop python 3.6 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1971\r\n* Add some ortho tests for so3 by @stevenlovegrove in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1970\r\n* fix some typing annotations by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1967\r\n* ZCA Whiteing demo by @marianna13 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1932\r\n* doctest to minimal python 3.8 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1974\r\n* fix import in assert_close helper by @pmeier in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1982\r\n* Remove unnecessary configs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1984\r\n* Remove `mypy` from running on tests by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1983\r\n* Remove some `# type: ignore` from `kornia.feature` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1995\r\n* add quaternion to euler conversion by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1994\r\n* Update google analytics is for G4 property by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1999\r\n* implement `kornia.geometry.linalg.euclidean_distance` by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2000\r\n* quaternion, so3 and se3 as non batched by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1997\r\n* Bump accelerate from 0.13.2 to 0.14.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2004\r\n* Remove unused `type: ignore` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1998\r\n* Bump pytest-mypy from 0.10.0 to 0.10.1 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2005\r\n* Join the gh-actions for docs by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2003\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2010\r\n* [feat] liegroup so2 by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1973\r\n* add rotation and translation classmethods in se3 and so3 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2001\r\n* [feat] implement adjoint for liegroups by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2007\r\n* Fix typing errors by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2012\r\n* remove unused deepsource by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2016\r\n* So2 bug fix by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2015\r\n* use resample instead of mode argument in RandomElasticTransform per default by @JanSellner in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2017\r\n* Add reusable workflow to env setup and update CI's by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2009\r\n* Remove redudant casts by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2022\r\n* Fix type annotation for torch 1.13.0 by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2023\r\n* Drop pytorch 1.8 (LTS) support by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2024\r\n* Fix an error in `match_smnn` by @anstadnik in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2020\r\n* Remove deprecated code in `kornia.augmentation` by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2028\r\n* so2 tests update and cleanup by @cjpurackal in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2029\r\n* Fix PR action trigger by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F2026\r\n* Set equal_nan to False in assert_close by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1986\r\n* drop flake8 dependency by @johnnv1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fk","2022-12-21T20:03:16",{"id":215,"version":216,"summary_zh":217,"released_at":218},104735,"v0.6.8","# Highlights\r\n\r\n## NeRF API\r\n\r\nIn this release in we include an experimental `kornia.nerf` submodule with a high level API that implements a vanilla Neural Radiance Field (NeRF). Read more about the roadmap of this project: https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fissues\u002F1936 \u002F\u002F contribution done by @YanivHollander \r\n\r\n```python\r\nfrom kornia.nerf import NerfSolver\r\nfrom kornia.geomtry.camera import PinholeCamera\r\n\r\n camera: PinholeCamera = create_one_camera(5, 9, device, dtype)\r\n img = create_red_images_for_cameras(camera, device)\r\n\r\n nerf_obj = NerfSolver(device=device, dtype=dtype)\r\n num_img_rays = 15\r\n nerf_obj.init_training(camera, 1.0, 3.0, False, img, num_img_rays, batch_size=5, num_ray_points=10, lr=1e-2)\r\n nerf_obj.run(num_epochs=10)\r\n\r\n img_rendered = nerf_obj.render_views(camera)[0].permute(2, 0, 1)\r\n```\r\n![ezgif com-gif-maker](https:\u002F\u002Fuser-images.githubusercontent.com\u002F5157099\u002F195349208-72351132-8e73-4110-adb3-466530529734.gif)\r\n\r\nImprovements, docs and tutorials soon!\r\n\r\n##  Edge Detection\r\n\r\nAdded `kornia.contrib.EdgeDetection` API that implements `dexined`:  https:\u002F\u002Fgithub.com\u002Fxavysp\u002FDexiNed\r\n\r\n```python\r\nimport kornia as K\r\nfrom kornia.contrib import EdgeDetection\r\n\r\nedge_detection = EdgeDetector().to(device)\r\n\r\n# preprocess\r\nimg = K.image_to_tensor(frame, keepdim=False).to(device)\r\nimg = K.color.bgr_to_rgb(img.float())\r\n\r\n# detect !\r\nwith torch.no_grad():\r\n    edges = edge_detection(img)\r\n\r\nimg_vis = K.tensor_to_image(edges.byte())\r\n```\r\n![amiga_edge](https:\u002F\u002Fuser-images.githubusercontent.com\u002F5157099\u002F195353178-3615507e-6b95-4efe-9b26-9ff7a078204d.png)\r\n\r\n\r\n## Image matching bugfixes:\r\n\r\nAfter testing kornia LoFTR and AdaLAM under big load, our users and we have experiences some bugs in corners cases, such as big images or no input correspondences, which caused pipeline to crash. Not anymore!\r\n\r\n* Fixes typo bug that influences LoFTR training by @georg-bn in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1854\r\n* Enlargen LoFTR positional encoding map if large images are input by @georg-bn in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1853\r\n* Make AdaLAM output match confidence by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1862\r\n* fix AdaLAM crash by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1881\r\n* Adalam fix2 by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1888\r\n* No crash in local feature matching if empty tensor output by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1890\r\n* Fix warning in AdaLAM by @Skydes in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1925\r\n\r\n\r\n## Various kornia demos in gradio by community:\r\n\r\nSee demos in our HuggingFace space:  https:\u002F\u002Fhuggingface.co\u002Fkornia\r\n\u003Cimg width=\"887\" alt=\"image\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F4803565\u002F195351434-85a52d81-da28-47db-9915-c9e621316506.png\">\r\n\r\n\r\n* Added gradio Image Stitching demo link by @kadirnar in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1871\r\n* edge detection demo by @p-mishra1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1876\r\n* Added Hugging Face edge detection demo link by @ramon-rd in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1874\r\n* [docs] add gradio app html and embeddings in filters by @lappemic in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1883\r\n* Geometry image transform demo by @dvando in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1922\r\n* add spaces demo by @johko in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1905\r\n* add space demo for homography warping by @johko in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1924\r\n* created resize_antialias.html file by @gauthamk28 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1877\r\n* I added html file for module Line Fitting by @kadirnar in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1886\r\n* Add edge detector and morphological operator demos in the rst docs files by @ramon-rd in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1884\r\n* Image registration demo by @marianna13 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1897\r\n* [docs] Add total_variation_denoising gradio by @gagan3012 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1880\r\n* [Docs] Refactor the embedded Gradio demos by @NimaBoscarino in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1901\r\n\r\n\r\n## RANSAC improvements\r\n\r\nWe have added homography-from-line-segments solver, as well as various speed-ups. We are not yet at OpenCV RANSAC quality level, more improvements to come :) But the line-solver is pretty unique! We also have example in our tutorials https:\u002F\u002Fkornia-tutorials.readthedocs.io\u002Fen\u002Flatest\u002Fline_detection_and_matching_sold2.html\r\n\r\n\r\n\u003Cimg width=\"616\" alt=\"image\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F4803565\u002F195350662-ca070a11-4c85-4082-b79d-c19eece5b328.png\">\r\n\r\n\r\n* Added homography from line segment correspondences by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1851\r\n* RANSAC improvements by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1435\r\n* Add get_perpendicular and get_closest_point_on_epipolar_line by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1915\r\n* Fix svdvals usage by @ducha-aiki in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpu","2022-10-13T09:21:21",{"id":220,"version":221,"summary_zh":222,"released_at":223},104736,"v0.6.7","# Highlights\r\n\r\n## SOLD2 line segment detector & descriptor\r\n\r\nContributed by [SOLD2 original authors](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1507)\r\n\r\n![](https:\u002F\u002Fgithub.com\u002Fcvg\u002FSOLD2\u002Fraw\u002Fmain\u002Fassets\u002Fvideos\u002Fdemo_moving_camera.gif)\r\n\r\n\r\n\r\n## Geometry-aware matchers: AdaLAM & FGINN\r\n\u003Cimg width=\"741\" alt=\"image\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F4803565\u002F187384452-2061da38-f70e-4329-ab36-ca24a5c622be.png\">\r\nGood old Lowe ratio-test is good for descriptor matching (implemented as `match_snn`, `match_smnn` in kornia, but it is often not enough: it does not take into account keypoint positions. \r\nWith this version we started to add geometry aware descriptor matchers, starting with [FGINN](https:\u002F\u002Farxiv.org\u002Fabs\u002F1503.02619) and [AdaLAM](https:\u002F\u002Farxiv.org\u002Fabs\u002F2006.04250). Later we plan to add something like SuperGlue (but free version, ofc).\r\n\r\nAdaLAM works particularly well with [`kornia.feature.KeyNetAffNetHardNet`](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Ffeature.html#kornia.feature.KeyNetAffNetHardNet). AdaLAM is adopted from [original author's implementation](https:\u002F\u002Fgithub.com\u002Fcavalli1234\u002FAdaLAM\u002Fblob\u002Fmaster\u002Fadalam\u002Fadalam.py). \r\n\r\n\r\n```python3\r\nimport matplotlib.pyplot as plt\r\nimport cv2\r\nimport kornia as K\r\nimport kornia.feature as KF\r\nimport numpy as np\r\nimport torch\r\nfrom kornia_moons.feature import *\r\n\r\ndef load_torch_image(fname):\r\n    img = K.image_to_tensor(cv2.imread(fname), False).float() \u002F255.\r\n    img = K.color.bgr_to_rgb(img)\r\n    return img\r\n\r\ndevice = K.utils.get_cuda_device_if_available()\r\n\r\nfname1 = 'kn_church-2.jpg'\r\nfname2 = 'kn_church-8.jpg'\r\n\r\nimg1 = load_torch_image(fname1)\r\nimg2 = load_torch_image(fname2)\r\n\r\n\r\nfeature = KF.KeyNetAffNetHardNet(5000, True).eval().to(device)\r\n\r\ninput_dict = {\"image0\": K.color.rgb_to_grayscale(img1), # LofTR works on grayscale images only \r\n              \"image1\": K.color.rgb_to_grayscale(img2)}\r\n\r\nhw1 = torch.tensor(img1.shape[2:])\r\nhw2 = torch.tensor(img1.shape[2:])\r\n\r\nadalam_config = {\"device\": device}\r\n\r\nwith torch.inference_mode():\r\n    lafs1, resps1, descs1 = feature(K.color.rgb_to_grayscale(img1))\r\n    lafs2, resps2, descs2 = feature(K.color.rgb_to_grayscale(img2))\r\n    dists, idxs = KF.match_adalam(descs1.squeeze(0), descs2.squeeze(0),\r\n                                  lafs1, lafs2, # Adalam takes into account also geometric information\r\n                                  config=adalam_config,\r\n                                  hw1=hw1, hw2=hw2) # Adalam also benefits from knowing image size\r\n```\r\nMore - in our [Tutorials section](https:\u002F\u002Fkornia-tutorials.readthedocs.io\u002Fen\u002Flatest\u002Fimage_matching_adalam.html)\r\n\r\n## Geometry conversions\r\n\r\nConverting camera pose from (R,t) to actually pose in world coordinates can be a pain. We are relieving you from it, by implementing various [conversion functions](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1823), such as `camtoworld_to_worldtocam_Rt`, `worldtocam_to_camtoworld_Rt`, `camtoworld_graphics_to_vision_4x4`, etc. The conversions come with two variants: for `(R,t)` tensor tuple, or with since extrinsics `mat4x4`. \r\n\r\n## Quaternion API\r\n\r\nMore geometry-related stuff! We have added [Quaternion API](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fgeometry.quaternion.html) to make work with rotation representations easy.  Checkout the [PR](https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1801)\r\n\r\n```python\r\n>>> q = Quaternion.identity(batch_size=4)\r\n>>> q.data\r\nParameter containing:\r\ntensor([[1., 0., 0., 0.],\r\n        [1., 0., 0., 0.],\r\n        [1., 0., 0., 0.],\r\n        [1., 0., 0., 0.]], requires_grad=True)\r\n>>> q.real\r\ntensor([[1.],\r\n        [1.],\r\n        [1.],\r\n        [1.]], grad_fn=\u003CSliceBackward0>)\r\n>>> q.vec\r\ntensor([[0., 0., 0.],\r\n        [0., 0., 0.],\r\n        [0., 0., 0.],\r\n        [0., 0., 0.]], grad_fn=\u003CSliceBackward0>)\r\n```\r\n\r\n## Mosaic Augmentation\r\n\r\nWe recently included the [RandomMosaic](https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Faugmentation.module.html#kornia.augmentation.RandomMosaic)  to mosaic image transforms and combine them into one output image. The output image is composed of the parts from each sub-image.\r\n\r\nThe mosaic transform steps are as follows:\r\n- Concate selected images into a super-image.\r\n- Crop out the outcome image according to the top-left corner and crop size.\r\n\r\n```python\r\n>>> mosaic = RandomMosaic((300, 300), data_keys=[\"input\", \"bbox_xyxy\"])\r\n>>> boxes = torch.tensor([[\r\n...     [70, 5, 150, 100],\r\n...     [60, 180, 175, 220],\r\n... ]]).repeat(8, 1, 1)\r\n>>> input = torch.randn(8, 3, 224, 224)\r\n>>> out = mosaic(input, boxes)\r\n>>> out[0].shape, out[1].shape\r\n(torch.Size([8, 3, 300, 300]), torch.Size([8, 8, 4]))\r\n```\r\n\r\n\u003Cimg width=\"500\" alt=\"image\" src=\"https:\u002F\u002Fuser-images.githubusercontent.com\u002F15955486\u002F169169100-b974436a-4c01-4728-a3fc-acb2f773bccc.png\">\r\n \r\n## Edge-aware blurring \r\n\r\nThanks to @nitaifingerhut \r\n\r\n```python3\r\n!wget https:\u002F\u002Fgithub.com\u002Fkornia\u002Fdata\u002Fraw\u002Fmain\u002Fdrslump.jpg\r\n\r\nimport torch\r\nimport kornia\r\nimport cv2\r\nimport matplotlib.pyplot as plt\r\n\r\n# read the image with OpenCV","2022-08-30T12:52:09",{"id":225,"version":226,"summary_zh":227,"released_at":228},104737,"v0.6.6","# Highlights\r\n## ParametrizedLine API\r\n\r\nFirst of integrations to revamp `kornia.geometry` to align with Eigen and Sophus.\r\nDocs: https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fgeometry.line.html?#kornia.geometry.line.ParametrizedLine\r\nSee: example: https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fblob\u002Fmaster\u002Fexamples\u002Fgeometry\u002Ffit_line2.py\r\n\r\n\r\n![Figure_1](https:\u002F\u002Fuser-images.githubusercontent.com\u002F5157099\u002F179348427-8e84e63d-c380-42cb-aa0c-b1039b633a9c.png)\r\n\r\n## Support for macos and windows in `load_image`\r\n\r\nAutomated the packaging infra in `kornia_rs` to handle multi architecture builds. Arm64 soon :)\r\nSee: https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia-rs\r\n\r\n```python\r\n    # load the image using the rust backend          \r\n    img: Tensor = K.io.load_image(file_name, K.io.ImageLoadType.RGB32)\r\n    img = img[None]  # 1xCxHxW \u002F fp32 \u002F [0, 1]\r\n```\r\n\r\n## HuggingFacce integration\r\n\r\nCreated Kornia AI org under the HuggingFace platform.\r\nStarting to port the tutorials under  HuggingFace kornia org to rapidly show live docs and make community.\r\nLink: https:\u002F\u002Fhuggingface.co\u002Fkornia\r\n\r\nDemos:\r\n- kornia enhance: https:\u002F\u002Fkornia.readthedocs.io\u002Fen\u002Flatest\u002Fenhance.html#interactive-demo\r\n- augmentations playground: https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fkornia\u002Fkornia-augmentations-tester\r\n\r\n\r\n# What's new ?\r\n\r\n* update slack link by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1719\r\n* fixes `EarlyStoppping` condition by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1718\r\n* Fix warning: `meshgrid` need `indexing argument` by @FavorMylikes in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1629\r\n* Bump accelerate from 0.8.0 to 0.9.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1720\r\n* fixes for half precision in imgwarp by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1723\r\n* Fix transforms for empty boxes and keypoints inputs by @hal-314 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1741\r\n* few mypy fixes by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1724\r\n* Implement `project` and `unproject` in `PinholeCamera` by @YanivHollander in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1729\r\n* deprecate `filter2D` `filter3D` api by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1725\r\n* fixing doctest in pinhole by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1743\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1742\r\n* Fix\u002Fcrop transforms by @hal-314 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1739\r\n* Fix Boxes.from_tensor(boxes, mode=\"vertices\") by @hal-314 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1740\r\n* adding `rgb_to_y` by @nitaifingerhut in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1734\r\n* fix typing callable in load storage by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1768\r\n* Add rgb_to_y to __all__ by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1762\r\n* Fix bug preventing sample wise augmentations by @ashnair1 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1761\r\n* update pytorch ci matrix 1.10.2 and 1.11.0 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1771\r\n* docs: Fix a few typos by @timgates42 in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1774\r\n* Refactor and add tests in `get_perspective_transform` by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1767\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1776\r\n* update libfacedetection url path by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1780\r\n* enable black in the precommit by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1777\r\n* Bump kornia-rs from 0.0.2 to 0.0.5 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1784\r\n* kornia io support for macos and win by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1785\r\n* deploy docs to gh-pages by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1787\r\n* update pytest 7.1.2; pytest-flake8 1.1.1; flake8 4.0.1 by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1786\r\n* adding weights to positive examples by @MrShevan in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1765\r\n* [pre-commit.ci] pre-commit suggestions by @pre-commit-ci in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1789\r\n* add `KORNIA_CHECK_SAME_DEVICES` by @MrShevan in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1788\r\n* Bump accelerate from 0.9.0 to 0.10.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1748\r\n* Add `sphinxcontrib.gtagjs` to track docs by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1790\r\n* Add an interactive demo to the kornia.enhance docs by @NimaBoscarino in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1793\r\n* Update the Gradio demo URL to point to Kornia HF org by @NimaBoscarino in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1795\r\n* Add `ParametrizedLine`  and `fit_line` by @edgarriba in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1794\r\n* add link to interactive augmentations demo by @cceyda in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull\u002F1797\r\n\r\n## New Contributors\r\n* @FavorMylikes made their first contribution in https:\u002F\u002Fgithub.com\u002Fkornia\u002Fkornia\u002Fpull","2022-07-16T09:16:59",{"id":230,"version":231,"summary_zh":232,"released_at":233},104738,"v0.6.5","## :rocket: [0.6.5] - 2022-05-16\r\n### :new:  New Features\r\n- Create `kornia.io` and implement `load_image` with rust (#1701)\r\n- Implement `diamond_square` and plasma augmentations: `RandomPlasmaBrightness`, `RandomPlasmaContrast`, `RandomPlasmaShadow` (#1700)\r\n- Added `RandomRGBShift` augmentation (#1694)\r\n- Added STE gradient estimator (#1666)\r\n- More epipolar geometry metrics (+linalg utility) (#1674)\r\n- Add Lovasz-Hinge\u002FSoftmax losses (#1682)\r\n- Add `adjust_sigmoid` and `adjust_log` initial implementation (#1685)\r\n- Added distribution mapper (#1667)\r\n\r\n### :lady_beetle: Bug fixes\r\n- Fixes filter2d's output shape shrink when padding='same' (#1661)\r\n- fix: added eps in geometry\u002Frotmat_to_quaternion (#1665)\r\n- [fix] receive num_features as an arg to KeyNetDetector constructor (#1686\r\n\r\n### :zap:  Improvements\r\n- Add reduction option to `MS_SSIMLoss` (#1655)\r\n- Making epipolar metrics work with volumetric tensors (#1656)\r\n- Add get_safe_device util (#1662)\r\n- Added antialiasing option to Resize augmentation (#1687)\r\n- Use nearest neighbour interpolation for masks (#1630)\r\n- grayscale to rgb for `torch.uint8` (#1705)\r\n\r\n:woman_technologist: :man_technologist: We would like to thank all contributors for this new release !\r\n@Jonas1312 @nitaifingerhut @qwertyforce @ashnair1 @ducha-aiki @z0gSh1u @simon-schaefer @shijianjian @edgarriba @HJoonKwon @ChristophReich1996 @Tanmay06 @dobosevych @miquelmarti @Oleksandra2020 \r\n\r\nIf we forgot someone let us know :sunglasses:","2022-05-17T09:25:28",{"id":235,"version":236,"summary_zh":237,"released_at":238},104739,"v0.6.4","## :rocket: [0.6.4] - 2022-03-21\r\n### :new:  New Features\r\n- Adds MS-SSIMLoss reconstruction loss function (#1551)\r\n- Added HyNet descriptor (#1573)\r\n- Add KeyNet detector (#1574)\r\n- Add RandomPlanckianJitter in color augmentations (#1607)\r\n- Add Jina AI QAbot to Kornia documentation (#1628)\r\n- Add `draw_convex_polygon` (#1636)\r\n\r\n### :lady_beetle:  Bug fixes\r\n- RandomCrop fix and improvement (#1571)\r\n- Fix draw_line produce wrong output for coordinates larger than uint8\r\n- Fix mask bug for loftr (#1580)\r\n- Fix gradient bug for distance_transform (#1584)\r\n- Fix translation sampling in AffineGenerator3D (#1581)\r\n- Fix AugmentationSequential bbox keypoints transformation fix (#1570)\r\n- Fix CombineTensorPatches (#1558)\r\n- Fix overblur in AA (#1612)\r\n\r\n### :exclamation: Changes\r\n- Deprecated `return_transform`, enabled 3D augmentations in AugmentionSequential (#1590)\r\n\r\n### :zap:  Improvements\r\n- Making compute_correspond_epilines work with fundamental and point of volumetric tensor (#1585)\r\n- Update batch shape when augmentations change size of image (#1609)\r\n- Remap accepts arbitrary grid size (#1617)\r\n- Rename variables named 'input' to 'sample' (in tests). (#1614)\r\n- Remove half log2 in extract_patches (#1616)\r\n- Add orientation-preserving option for AffNet and make it default (#1620)\r\n- Add option for sampling_method in 2d perspective transform generation (#1591) (#1592)\r\n- Fix adjust brightness (#1586)\r\n- Added default params for laf construction from xy and new tensor shape check (#1633)\r\n- Make nms2d jittable (#1637)\r\n- Add fn to automatically compute padding (#1634)\r\n- Add pillow_like option for ColorJitter to match torchvision. (#1611)\r\n\r\n:woman_technologist: :man_technologist: We would like to thank all contributors for this new release !\r\n@ducha-aiki @edgarriba @shijianjian @juliendenize @ashnair1 @KhaledSharif @Parskatt @shazhou2015 @JoanFM @nrupatunga @kristijanbartol @miquelmarti @riegerfr @nitaifingerhut @dichen-cd @lamhoangtung @hasibzunair @wendy-xiaozong @rsomani95 @huuquan1994 @twsl\r\n\r\nIf we forgot someone let us know :sunglasses:","2022-03-21T14:48:22",{"id":240,"version":241,"summary_zh":242,"released_at":243},104740,"v0.6.3","## :rocket: [0.6.3] - 2022-01-30\r\n### :new:  New Features\r\n- Update CI to pytorch 1.10.1 (#1518)\r\n- Added Hanning kernel, prepare for KCF tracking (#1519)\r\n- Add distance transform implementation (#1490)\r\n- Add Resize augmentation module (#1545)\r\n\r\n### :lady_beetle:  Bug fixes\r\n- Precompute padding parameters when RandomCrop aug in container (#1494)\r\n- Padding error with RandomCrop #1520\r\n- Fix correct shape after cropping when forwarding parameters (#1533)\r\n- Fixed #1534 nested augmentation sequential bug (#1536)\r\n- Fixes to device in augmentations (#1546)\r\n- Bugfix for larger MotionBlur kernel size ranges (#1543)\r\n- Fix RandomErasing applied to mask keys (#1541)\r\n\r\n### :exclamation: Changes\r\n- Restructure augmentation package (#1515)\r\n\r\n### :zap:  Improvements\r\n- Add missing keepdims with fixed type (#1488)\r\n- Allow to pass a second K to distort and undistort points (#1506)\r\n- Augmentation Sequential with a list of bboxes as a batch (#1497)\r\n- Adde Devcontainer for development (#1515)\r\n- Improve the histogram_matching function (#1532)\r\n\r\n\r\n:woman_technologist: :man_technologist: We would like to thank all contributors for this new release !\r\n@ducha-aiki @edgarriba @shijianjian @julien-blanchon @lferraz @miquelmarti @twsl @nitaifingerhut @eungbean @aaroswings @huuquan1994 @rsomani95 \r\n\r\nIf we forgot someone let us know :sunglasses:","2022-01-31T15:09:00",{"id":245,"version":246,"summary_zh":247,"released_at":248},104741,"v0.6.2","## :rocket: [0.6.2] - 2021-12-03\r\n### :new:  New Features\r\n- Add face detection API (#1469)\r\n- Add `ObjectDetectorTrainer` (#1414)\r\n- Add container operation weights and `OneOf` documentation (#1443)\r\n- Add oriented contraint check to Homography RANSAC (#1453)\r\n- Add background color selection in `warp_perspective` (#1452)\r\n- Add `draw_line` image utility (#1456)\r\n- Add Bounding Boxes API (#1304)\r\n- Add histogram_matching functionality (#1395)\r\n\r\n### :lady_beetle:  Bug fixes\r\n- fix catch type for torch.svd error (#1431)\r\n- Fix for nested AugmentationSequential containers (#1467)\r\n- Use common bbox format xywh (#1472)\r\n\r\n### :exclamation: Changes\r\n- Add padding_mode for RandomElasticTransform augmentation (#1439)\r\n- Expose inliers sum to HomographyTracker (#1463)\r\n\r\n### :zap:  Improvements\r\n- Switch to one-way error RANSAC for speed-up (#1454)\r\n- Few improvements on homography tracking (#1434)\r\n- Enable all bandit tests, add separate hook for tests (#1437)\r\n- Merge homography_warp to warp_perspective (#1438)\r\n- Random generator refactor (#1459)\r\n\r\n:woman_technologist: :man_technologist: We would like to thank all contributors for this new release !\r\n@ducha-aiki @edgarriba @chinhsuanwu @chinhsuanwu @dobosevych  @shijianjian  @rvorias  @rvorias @fmiotello @hal-314 @trysomeway  @miquelmarti  @calmdown13  @twsl Abdelrhman-Hosny\r\n\r\nIf we forgot someone let us know :sunglasses:","2021-12-03T21:27:30",{"id":250,"version":251,"summary_zh":252,"released_at":253},104742,"v0.6.1","## :rocket: Release Note (``0.6.1``)\r\n\r\n-  Fixes PyPI tarball missing required files #1421\r\n-  hotfix: remove mutable object in constructor #1423","2021-10-22T21:47:19"]