论文阅读:Deep Hybrid Camera Deblurring for Smartphone Cameras

今天介绍一篇 ACM SIGGRAPH 2024 的文章,关于手机影像中的去模糊的文章。

  • Deep Hybrid Camera Deblurring for Smartphone Cameras

Abstract

手机摄像头尽管取得了显著的进步,但由于传感器和镜头较为紧凑,在低光环境下的成像仍存在困难,这会导致曝光时间变长以及出现运动模糊的情况。传统的盲去卷积方法和基于学习的去模糊方法可能是消除模糊的潜在解决方案。然而,要达到实际应用中的良好性能仍然是一个挑战。为了解决这一问题,我们提出了一种基于学习的智能手机去模糊框架,将广角和超广角摄像头用作混合摄像头系统。我们同时拍摄一张长曝光的广角图像和一组短曝光的连拍超广角图像,并利用连拍的超广角图像对广角图像进行去模糊处理。

为了充分利用连拍的超广角图像,我们提出了 HCDeblur(混合摄像头去模糊),这是一个实用的去模糊框架,其中包括新颖的去模糊网络 HC-DNet 和 HC-FNet。HC-DNet 利用从连拍图像中提取的运动信息对广角图像进行去模糊处理,而 HC-FNet 则将连拍图像作为参考图像,进一步增强去模糊后的输出效果。

为了对所提出的方法进行训练和评估,我们引入了 HCBlur 数据集,该数据集由合成数据集和真实场景数据集组成。我们的实验表明,HCDeblur 实现了 SOTA 的去模糊效果。

Introduction

  • 图 1 我们的混合相机系统及去模糊结果。我们从智能手机上同时拍摄一张长曝光的广角图像W和一组短曝光的连拍超广角图像U,并利用这些连拍图像对图像W进行去模糊处理。与最先进的单张图像去模糊方法 NAFNet - 64 [Chen 等人,2022] 相比,我们的方法所得到的结果明显更加清晰。

尽管手机摄像头已经有了显著的改进,但由于其传感器和镜头较小,在低光环境下它们仍然表现不佳,这会导致曝光时间变长,并且因手部移动或移动物体而产生运动模糊。为了消除模糊,单张图像去模糊方法已得到了广泛研究。最近,基于学习的去模糊方法极大地提高了去模糊的性能。然而,如图 1 − ( c ) 1-(c) 1−(c) 所示,单张图像去模糊的性能仍然有限,尤其是对于严重的模糊情况。

为了提高去模糊性能,人们已经提出了几种利用额外输入信息的方法,比如短曝光图像和事件数据。基于参考图像的去模糊方法会采用一张额外的短曝光图像作为参考图像,对长曝光图像进行去模糊处理。这些方法会对模糊图像和参考图像进行对齐和融合,以恢复出高质量的去模糊图像。然而,由于难以准确地将严重模糊的图像与参考图像进行对齐,它们在恢复清晰细节方面往往存在困难,尤其是对于严重模糊的图像。

事件引导的去模糊方法使用由 RGB 相机和事件相机组成的特殊设计的双摄像头,同时捕捉模糊图像和事件数据,并利用从事件数据中提取的运动信息实现显著的去模糊效果。然而,这些方法需要额外配备一个事件相机,而大多数商用相机通常并没有配备这种相机。

在本文中,我们提出了 HCDeblur,这是一个专门为苹果 iPhone 和三星 Galaxy 系列等现代智能手机设计的实用图像去模糊框架。如今,这些智能手机通常配备了多摄像头系统。我们的方法将此类多摄像头系统用作混合摄像头系统,该系统由主摄像头和帧率更高的副摄像头组成。混合摄像头系统会同时拍摄一张长曝光图像和一组短曝光连拍图像。这些连拍图像提供了曝光期间逐像素级别的相机和物体运动的关键信息,而从单张图像中获取这些信息颇具挑战,不过这些信息能显著提升去模糊性能。此外,连拍图像还包含高频细节,可弥补模糊图像中丢失的高频细节。HCDeblur 充分利用了连拍图像中的运动和细节信息,在图像去模糊方面取得了无与伦比的性能,如图 1 - (d).

混合相机去模糊的概念最早由本 - 埃兹拉(Ben - Ezra)和纳亚尔(Nayar)[本 - 埃兹拉和纳亚尔,2003 年] 提出,旨在解决图像去模糊问题中的不适定性。具体而言,他们提议使用一台低分辨率高速相机作为副相机。通过这台低分辨率高速相机,他们拍摄一组短曝光图像。然后利用这些图像估计一个均匀的运动模糊核,该模糊核随后用于对主相机拍摄的模糊图像进行非盲去卷积处理。 Tai 等人 [2008 年;2010 年] 进一步拓展了这一理念,使其能够处理非均匀去模糊和视频去模糊问题。

然而,这些方法依赖于经典的模糊模型和优化方法,这极大地限制了它们的性能。相比之下,我们的方法是一种基于学习的方法,采用了混合相机系统。我们的方法是专门为现实世界中的智能手机相机量身定制的,在实际场景中表现出卓越的性能。

如图 1 所示,我们的框架分别将智能手机的广角相机和超广角相机用作主相机和副相机。广角相机通常是智能手机中的主摄像头,它以较慢的快门速度拍摄图像。相反,超广角相机由于其具有更宽的视野(FOV),能够为广角相机所拍摄图像的整个区域收集运动和细节信息。这台副相机同时以较高的快门速度和帧率拍摄一组低分辨率图像。

在拍摄完一张广角图像和一组超广角连拍图像后,我们的框架会借助这些超广角连拍图像来估计出广角图像的去模糊版本。为此,我们引入了一个深度神经网络,它包含两个子网络:混合相机去模糊网络(HC - DNet)和融合网络(HC - FNet)。

HC - DNet 利用连拍图像构建逐像素的模糊核,并利用这些模糊核来得到广角图像的去模糊版本。由于使用了模糊核,与以往的单图像去模糊方法相比,HC - DNet 能产生质量更优的去模糊结果。然而,由于模糊导致的信息丢失以及模糊核估计不准确,其结果可能仍会存在伪影和残留模糊。为了缓解这一问题,受连拍成像技术的启发,HC-FNet 将整组连拍图像作为参考图像,对 HC-DNet 的输出进行优化。

为了对我们的方法进行训练和评估,我们还推出了 HCBlur 数据集,它由两个子数据集组成:HCBlur - Syn 和 HCBlur - Real。HCBlur - Syn 是一个用于训练和评估的合成数据集,包含 8568 对模糊的广角图像与对应的真实清晰图像,以及与之对应的清晰超广角连拍图像。另一方面,HCBlur-Real 是一个用于评估的真实数据集,提供了 471 对现实世界中的模糊广角图像和超广角连拍图像,但没有对应的真实清晰图像。我们使用 HCBlur 数据集进行的实验结果表明,我们的方法显著优于现有的最先进去模糊方法。

综上所述,我们的贡献包括:

  • HCDebur(混合相机去模糊框架),这是一个专门为智能手机相机设计的基于学习的混合相机去模糊框架;
  • HC-DNet(混合相机去模糊网络)和 HC-FNet(融合网络),前者利用超广角连拍图像对输入的广角图像进行去模糊处理,后者则利用超广角连拍图像对去模糊后的广角图像进行优化处理;
  • HCBlur 数据集,用于训练和评估混合相机去模糊方法。

Deep Hybrid Camera Deblurring

  • 图 2 HCDeblur 概述。我们的框架将一张长曝光的广角图像W和一组短曝光的超广角连拍图像U作为输入。我们估计一个单应性矩阵 H ^ \hat{H} H^,用于在视场对齐过程中对齐图像U(3.2 节),并计算逐像素的运动轨迹P(3.2 节)。HC - DNet 通过利用由运动轨迹P构建的模糊核K来执行基于核的去模糊操作(3.3 节)。去模糊处理之后,采用一个额外的对齐步骤,将连拍图像与去模糊后的广角图像 W D W_D WD进行对齐。HC - FNet 通过使用连拍图像的整个序列作为参考图像,进一步增强去模糊后的图像(3.4 节)。

图 2 展示了 HCDeblur 的整体架构。HCDeblur 将由我们的混合相机系统(3.1 节)拍摄的一张长曝光广角图像 W W W 和一组短曝光超广角图像 U = { U 1 , ⋯   , U N } U = \{U_1, \cdots, U_N\} U={U1,⋯,UN} 作为输入,其中 U i U_i Ui 是第 i i i 张超广角图像, N N N 是超广角图像的数量。广角相机和超广角相机具有不同的视野(FOV)和光心,这导致它们之间存在几何上的不对齐。因此,为了从 U U U 中获取与 W W W 对齐的模糊核,我们使用视野对齐方法(3.2 节)对 W W W 和 U U U 进行对齐。我们还计算了 U U U 中各像素的运动轨迹(3.2 节),以便构建模糊核。然后,我们在 HC - DNet(3.3 节)中使用根据运动轨迹构建的模糊核进行基于核的去模糊处理,从而得到一张去模糊后的图像 W D W_D WD。接着,我们使用 HC - FNet(3.4 节),借助 U U U 中的细节信息对 W D W_D WD 进一步优化,得到最终结果 W F W_F WF。接下来,我们将更详细地描述 HCDeblur 的各个组成部分。

3.1 Hybrid Camera System

对于混合相机系统,在我们的实验中使用了苹果 iPhone 13 Pro Max 的广角相机和超广角相机,它们的焦距分别为 26 毫米和 13 毫米。为了同时拍摄 W 和 U,我们使用多相机应用程序编程接口(API)开发了一款 IOS 应用程序。我们的应用程序以 4K 分辨率(2160×3840)拍摄广角图像,曝光时间在 1/15 秒到 1/2 秒之间。与此同时,该应用程序以每秒 60 帧(FPS)的帧率拍摄一组分辨率为 720P(720×1280)的超广角图像。由于广角图像的焦距是超广角图像的两倍,并且在水平和垂直轴上的像素数量是超广角图像的 3 倍,所以广角图像中的物体看起来比超广角图像中的物体大 6 倍。为了防止连拍图像出现模糊,我们将超广角相机的最大曝光时间限制为 1/120 秒。由于硬件的限制,两台相机的曝光时间无法做到完全同步。因此,为了使来自这两台相机的图像同步,我们还记录了广角相机和超广角相机曝光开始和结束的时间戳。

3.2 FOV Alignment and Motion Estimation

FOV Alignment ,一旦拍摄到一张广角图像 W W W 和一组超广角图像 U U U,我们首先在视野对齐步骤中将 U U U 与 W W W 进行对齐。为此,我们使用平面扫描方法 [柯林斯(Collins),1996 年] 找到一个能使 W W W 和 U U U 达到最佳对齐的单应性矩阵。具体来说,我们首先通过求解以下式子来找到最佳深度 d ^ \hat{d} d^:

d ^ = argmin d ∈ D MSE ( W , W ( U avg , H d ) ) (1) \hat{d} = \underset{d\in D}{\text{argmin}} \text{MSE}(W,\mathbb{W}(U_{\text{avg}},H_d)) \tag{1} d^=d∈DargminMSE(W,W(Uavg,Hd))(1)

其中, D D D 是一组深度候选值,MSE 表示均方误差, W \mathbb{W} W 是一个 warp(变换)函数。 U a v g U_{avg} Uavg 是 U U U 这组图像的平均图像。我们使用 U a v g U_{avg} Uavg 来考虑 W W W 中的模糊情况。 H d H_d Hd 是用于反向 warp 的单应性矩阵,其定义为 H d = K u E d K w − 1 H_d = K_uE_dK_w^{-1} Hd=KuEdKw−1 ,其中 K u K_u Ku 和 K w K_w Kw 分别是超广角相机和广角相机的内参矩阵, E E E 是相对外参矩阵。 K w K_w Kw、 K u K_u Ku 和 E E E 通过立体校准获得。一旦找到 d ^ \hat{d} d^ ,我们就计算出用于对齐 U U U 的单应性矩阵 H d ^ H_{\hat{d}} Hd^ ,我们将其记为 H ^ \hat{H} H^ 。

请注意,清晰图像与模糊图像之间的对齐是一项具有挑战性的任务,尤其是在模糊程度较大的情况下,这限制了以往基于参考图像的去模糊方法的性能。相比之下,我们的方法能够实现更精确的对齐,因为我们可以从一组超广角参考图像中合成生成 U a v g U_{avg} Uavg。同样需要注意的是,我们的视野对齐方法(使用单个单应性矩阵来对齐 W W W 和 U U U)可能会导致一些残余的未对齐情况。然而,我们的方法在设计上对这类问题具有鲁棒性。这是因为 HC-DNet 使用单应性矩阵并非为了直接将细节从 U U U 转移到 W W W,而是为了对齐模糊核。这些模糊核通常在空间上变化较为平滑,这使得它们对轻微的未对齐不太敏感。此外,一旦 HC-DNet 生成了去模糊图像 W D W_D WD,我们可以通过估计 W D W_D WD 和 U U U 之间的光流来实现它们之间的精确对齐,并将其用于 HC-FNet。

Pixel-wise Motion Trajectories Estimation ,除了视野对齐外,我们还会估计超广角图像 U U U 中的逐像素运动轨迹,这些轨迹将用于构建模糊核,以及在 HC - FNet 中对超广角图像进行对齐。为此,我们要估计 U U U 中相邻图像之间的光流。具体来说,我们用 c c c 表示 U U U 中时间上处于中间位置图像的索引。然后,对于 i < c i < c i<c 的情况,我们估计从 U i + 1 U_{i + 1} Ui+1 到 U i U_i Ui 的光流;对于 i > c i > c i>c 的情况,我们估计从 U i − 1 U_{i - 1} Ui−1 到 U i U_i Ui 的光流。这样,我们就得到了 N − 1 N - 1 N−1 个光流图。根据估计得到的光流图,我们通过累积这些光流图来构建逐像素运动轨迹 P = { P 1 , ⋯   , P N } P = \{P_1, \cdots, P_N\} P={P1,⋯,PN} 。具体而言,在每个像素位置, P P P 包含一条由 N N N 个位移向量组成的运动轨迹,其中第 i i i 个向量是从中间图像到第 i i i 个图像的二维位移向量。在实验中,我们采用 RAFT 方法 [蒂德(Teed)和邓(Deng),2020 年] 来进行光流估计。

3.3 Kernel-based Deblurring using HC-DNet

Blur Kernel Construction ,为了使用 HC-DNet 对 W W W 进行去模糊处理,我们利用从 U U U 估计得到的运动轨迹来构建模糊核。为此,我们首先使用单应性矩阵 H ^ \hat{H} H^对运动轨迹进行变换,得到变换后的运动轨迹 P ^ = { P ^ 1 , ⋯   , P ^ N } \hat{P} = \{\hat{P}_1, \cdots, \hat{P}_N\} P^={P^1,⋯,P^N}。由于运动轨迹的长度N会因曝光时间而变化,而 HC-DNet 接受的是固定通道尺寸的输入张量。因此,我们通过对运动轨迹进行重采样,从这些运动轨迹中构建出长度固定的模糊核。

为了获得与广角图像W的曝光时间精确同步的模糊核,我们在考虑广角图像和超广角图像的时间戳的情况下,对运动轨迹进行重采样。具体来说,我们将第 i i i 张超广角图像曝光开始和结束的时间戳分别记为 t i , s t_{i,s} ti,s和 t i , e t_{i,e} ti,e。我们首先按如下方式计算相对时间戳 r i r_i ri:

r i = ( t i , s + t i , e ) / 2 − t s W t s W − t e W (2) r_i = \frac{(t_{i,s} + t_{i,e})/2 - t_s^W}{t_s^W - t_e^W} \tag{2} ri=tsW−teW(ti,s+ti,e)/2−tsW(2)

其中, t s W t_s^W tsW和 t e W t_e^W teW分别表示图像W曝光开始和结束的时间戳。然后,我们通过对预先定义的九个时间戳集合对应的运动轨迹进行插值,来构建模糊核 K = { K 0 , K 0.125 , ⋯   , K 0.875 , K 1 } K = \{K_0, K_{0.125}, \cdots, K_{0.875}, K_1\} K={K0,K0.125,⋯,K0.875,K1}。具体而言, K t K_t Kt的计算方式如下:

K t = ( t − r i ) ⋅ P ^ i + 1 − P ^ i r i + 1 − r i + P ^ i (3) K_t = (t - r_i)\cdot\frac{\hat{P}{i + 1}-\hat{P}{i}}{r_{i + 1}-r_{i}}+\hat{P}_{i} \tag{3} Kt=(t−ri)⋅ri+1−riP^i+1−P^i+P^i(3)

其中, t ∈ { 0 , 0.125 , ... , 0.875 , 1 } t \in \{0, 0.125, \ldots, 0.875, 1\} t∈{0,0.125,...,0.875,1}, r i r_i ri 和 r i + 1 r_{i + 1} ri+1 是相对于每个 t t t, U U U 中最近的相对时间戳, P ^ i \hat{P}i P^i和 P ^ i + 1 \hat{P}{i + 1} P^i+1分别是与 r i r_i ri和 r i + 1 r_{i + 1} ri+1对应的位移矢量图。最后,我们将所有t对应的 K t K_t Kt连接起来,得到通道大小为 18 的模糊核 K K K。图 3 展示了一个估计的模糊核示例。

  • 图 3 由逐像素运动轨迹构建的模糊核

HC-DNet ,HC - DNet 将广角图像 W W W 和逐像素模糊核 K \mathbf{K} K 作为输入,并输出去模糊后的广角图像 W D W_D WD(图 4)。该网络采用 U 型网络(U - Net)架构,我们在编码器和解码器网络的每一层中都使用了 NAFBlocks 模块。为了利用模糊核K,我们设计了一种新颖的核可变形模块(KDB),并将其连接在编码器的每一层之前。在 KDB 中,首先通过 NAFBlocks 模块提取图像 W W W 和模糊核 K \mathbf{K} K 的特征。然后,根据图像 W W W 和模糊核 K \mathbf{K} K 的特征计算通道注意力机制,该机制关注模糊核的特征,以避免使用可能不准确的模糊核。随后,经过注意力处理的模糊核 K \mathbf{K} K 的特征被用于预测可变形卷积层的偏移量和权重,该可变形卷积层根据模糊核 K \mathbf{K} K 自适应地处理图像 W W W 的特征,从而在去模糊过程中更有效地利用模糊核 K \mathbf{K} K。最后,图像 W W W 的特征和可变形卷积层的输出被连接起来,然后通过一个卷积层进行处理。

3.4 Burst Image-based Refinement using HC-FNet

将图像 U U U 与去模糊后的广角图像 W D W_D WD 对齐。为了融合图像 U U U 和 W D W_D WD,我们将图像 U U U 与 W D W_D WD 下采样 6 倍后的图像 W D , 6 ↓ W_{D,6\downarrow} WD,6↓ 对齐。为此,我们使用单应性矩阵 H ^ \hat{H} H^ 下采样 6 倍后的版本 H ^ 6 ↓ \hat{H}_{6\downarrow} H^6↓,对图像 U U U 和运动轨迹 P P P 进行变换,从而得到视场(FOV)对齐的超广角图像 U ~ = { U ~ 1 , ⋯   , U ~ N } \tilde{U} = \{\tilde{U}_1, \cdots, \tilde{U}_N\} U~={U~1,⋯,U~N}和运动轨迹 P ~ = { P ~ 1 , ⋯   , P ~ N } \tilde{P} = \{\tilde{P}_1, \cdots, \tilde{P}N\} P~={P~1,⋯,P~N}。请注意, U ~ \tilde{U} U~并没有进行下采样,只是进行了对齐处理,以匹配广角图像的视场。然后,为了实现更精确的对齐,我们估计 W D , 6 ↓ W{D,6\downarrow} WD,6↓与 U ~ \tilde{U} U~的中心帧 U ~ c \tilde{U}_c U~c之间的光流 F ~ \tilde{F} F~。最后,通过结合 P ~ i \tilde{P}i P~i和 F ~ \tilde{F} F~,我们计算从 W D , 6 ↓ W{D,6\downarrow} WD,6↓到第i个视场对齐的超广角图像 U ~ i \tilde{U}_i U~i的光流 P ~ i W \tilde{P}_i^W P~iW 。

HC - FNet。图 5 展示了 HC - FNet 的整体架构,它基于连拍增强网络和 NAFBlock 模块的架构。HC - FNet 将视场对齐后的超广角图像 U ~ \tilde{U} U~ 和去模糊后的广角图像 W D W_D WD 作为输入,并输出经过优化的广角图像 W F W_F WF。HC - FNet 还将原始广角图像W作为额外输入,以获取 W D W_D WD 中可能缺失的信息。然后,HC - FNet 使用 NAFBlock 模块从每个 U ~ i \tilde{U}_i U~i 中提取特征,并使用 P ~ i W \tilde{P}_i^W P~iW 将特征图与 W D W_D WD 对齐。对齐后,将 W D W_D WD 和 W W W 的特征连接到每个视场对齐的超广角图像 U ~ i \tilde{U}_i U~i 的特征图上。接着,每个超广角图像的这些组合特征会通过 NAFBlock 模块以逐帧的方式进行处理。之后,我们使用时间和空间注意力模块(TSA)将得到的特征合并为单帧。最后,合并后的特征会通过额外的 NAFBlock 模块和上采样层进一步处理和上采样。

HCBLUR DATASET

在本节中,我们将介绍 HCBlur - Syn 和 HCBlur - Real 数据集。为了构建 HCBlur - Syn 数据集,我们同时拍摄了清晰的广角和超广角视频,并通过对广角视频帧进行平均来合成模糊的广角图像。我们开发了一款 iOS 应用程序来同时拍摄广角和超广角视频。我们使用 iPhone 13 Pro Max 的广角和超广角摄像头作为我们的摄像系统。超广角摄像头以 60 帧每秒(FPS)的帧率拍摄分辨率为 720P(720×1280)的视频。同时,广角摄像头以 30 帧每秒(FPS)的帧率拍摄 4K 分辨率(2160×3840)的视频,这是多摄像头应用程序编程接口(API)所支持的最高帧率。简单地对 30 帧每秒的广角视频帧进行平均可能会由于帧之间的显著运动而导致模糊效果不连续。为了解决这个问题,我们估计广角视频连续帧之间的光流,并排除最大位移大于 36 像素的帧。然后,通过对广角视频中剩余的帧进行平均来生成模糊的广角图像W,并选择它们的时间中心帧作为真实图像(真值图像)。平均帧的数量是从集合 {5, 7, 9, 11, 13} 中随机采样得到的。

然后,对于每一张模糊的广角图像 W W W,我们根据时间戳从超广角视频中提取与 W W W 对应的超广角图像。之后,我们从这些提取出的连拍图像中随机选择一个子集,其帧数范围在 5 到 14 帧之间,以保持合理数量的连拍图像。为了模拟图像上的噪声,我们使用从我们的摄像系统中校准得到的散粒噪声和读出噪声参数,在W和U图像上合成泊松 - 高斯噪声。此外,我们采用了 Rim 等人提出的一种逼真的模糊合成流程,以提高 HCBlur - Syn 数据集对真实世界图像的泛化能力。这个流程包括帧插值和饱和像素合成。关于合成 HCBlur - Syn 数据集的更多细节可以在补充材料中找到。通过上述过程,我们收集了 1176 对涵盖各种室内、白天和夜间场景的广角和超广角视频,并合成了 8568 对广角模糊图像和一系列超广角图像,用于构建 HCBlur - Syn 数据集。为了训练和评估去模糊方法,我们将 HCBlur - Syn 数据集划分为训练集、验证集和测试集,它们分别包含 5795 对、880 对和 1731 对图像。HCBlur - Real 数据集提供了来自 157 个不同夜间和室内场景的 471 对真实世界的W和U图像。为了收集这个数据集,我们使用用于混合相机拍摄的 iOS 应用程序(第 3.1 节)同时拍摄广角图像和超广角图像。由于该数据集中不包含真实图像(真值图像),我们使用 HCBlur - Real 数据集通过无参考指标进行评估。

相关推荐
訾博ZiBo3 分钟前
AI日报 - 2025年3月19日
人工智能
神策数据25 分钟前
神策数据接入 DeepSeek,AI 赋能数据分析与智能运营
人工智能·数据挖掘·数据分析
zhaosuyuan1 小时前
Language Models are Few-Shot Learners,GPT-3详细讲解
人工智能·语言模型·gpt-3
大模型铲屎官1 小时前
从零精通机器学习:线性回归入门
开发语言·人工智能·python·算法·机器学习·回归·线性回归
Zhouqi_Hua1 小时前
LLM论文笔记 25: Chain-of-Thought Reasoning without Prompting
论文阅读·人工智能·深度学习·机器学习·chatgpt
试剂界的爱马仕1 小时前
投资早报 3.14
人工智能·深度学习·算法·机器学习·区块链·ai写作
ConardLi2 小时前
发布第五天,我的开源项目突破 1.7 K Star!
前端·javascript·人工智能
蹦蹦跳跳真可爱5892 小时前
Python----计算机视觉处理(Opencv:图片颜色识别:RGB颜色空间,HSV颜色空间,掩膜)
人工智能·python·opencv·计算机视觉
RamendeusStudio2 小时前
5-29 有趣的指令Pix2Pix(P2P)
人工智能·gpt·ai·llm·stablediffusion·controlnet·ai agent
朴拙数科3 小时前
2025年AI搜索引擎开源项目全景指南:从核心框架到生态工具
人工智能·搜索引擎·开源