HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

释放双眼,带上耳机,听听看~!
本文介绍了CVPR2021关于弱光人脸检测的新算法HLA-Face,探讨了高-低适应框架在人脸检测中的应用。
  • 🎉 声明: 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
  • HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    📔 论文基本信息【 CVPR2021 】

    📕 摘要翻译

    Abstract

    微光下的人脸检测对许多实际应用来说具有挑战性,但却至关重要,例如监控视频、夜间自动驾驶。大多数现有的人脸探测器严重依赖于大量的注释,而收集数据是费时费力的。为了减少在弱光条件下建立新的数据集的负担,我们充分利用现有的正常光数据,探索如何将人脸探测器从正常光适应到弱光。这项任务的挑战在于,对于像素级和物体级来说,普通光和弱光之间的差距太大,太复杂。因此,大多数现有的低光增强和适应方法并没有达到理想的性能。为了解决这个问题,我们提出了一个联合高-低适配(HLA)框架。通过双向的低水平适应和多任务高水平适应方案,我们的HLA-Face即使没有使用黑色面孔标签进行训练,也比最先进的方法表现得更好。

    1. Introduction

    人脸检测是许多视觉任务的基础,已广泛应用于各种实际应用中,如智慧城市智能监控、人脸解锁、手机美容滤镜等。在过去的几十年里,大量的研究在人脸检测方面取得了很大的进展。然而,在不利光照条件下的人脸检测仍然具有挑战性。在光照不足的情况下拍摄的图像会遭受一系列的退化,例如低能见度、强烈的噪声和色彩。这些退化不仅会影响人类的视觉质量,还会使机器视觉任务的性能恶化,在监控视频分析和夜间自动驾驶中可能会产生潜在的风险。在图1 (a)中,目前最先进的人脸检测器DSFD[1]很难检测到光照不足的人脸,这与它在WIDER face[2]上超过90%的精度形成了直接对比。

    为了促进微光人脸检测的研究,构建了一个大尺度基准DARK face[3]。暗脸数据的出现催生了大量的暗脸检测研究[4]。然而,现有的方法依赖于广泛的注释,因此健壮性和可伸缩性较差。

    本文基于DARK FACE提供的标杆平台,探讨了如何在不需要DARK FACE标注的情况下,将普通光照人脸检测模型适应于微光场景。我们发现在正常光和弱光之间存在两级间隙。一个是像素级外观上的差距,如照明不足、相机噪音和颜色偏差。另一个是普通灯光场景和弱光场景之间的对象层次语义差异,包括但不限于路灯、汽车前照灯和广告牌的存在。传统的低光照增强方法(5、6)设计用于提高视觉质量,因此不能填补语义空白,如图1所示(b)。典型的适应方法[7,8]主要为场景设计的两个域共享相同的场景,如适应从城市多雾的城市风光[10][9]。但就我们的任务而言,领域差距更大,为适应气候变化提出了更艰巨的挑战。

    为了适应从正常光照到低光照,我们提出了一种高-低适应人脸检测框架(hlface)。我们考虑联合低水平和高水平的适应。具体来说,对于低水平的适应,典型的方法要么使暗图像变亮,要么使亮图像变暗。然而,由于域隙巨大,它们并没有达到理想的性能。我们不是单向的低到正常或正常到低的翻译,而是双向地使两个领域彼此走向对方。通过使弱光图像变亮,使正常光图像失真,我们建立了介于正常和弱光之间的中间状态。对于高阶自适应,我们使用多任务自监督学习来缩小低阶自适应建立的中间状态之间的特征距离。

    通过结合低级和高级自适应,即使我们不使用深色人脸的标签,我们也胜过最先进的人脸检测方法。

    Our contributions are summarized as follows:

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    2.Related Works

    • Low Light Enhancement.
      低照度是一种常见的视觉失真,可能由不良的拍摄条件、错误的相机操作、设备故障等引起。关于低照度增强的文献很多。 直方图均衡化及其变体 [11] 扩展了图像的动态范围。 基于去雾的方法 [12] 将暗图像视为倒置的模糊图像。Retinex 理论假设图像可以分解为光照和反射。 基于 Retinex 理论,大部分作品 [5, 13] 估计光照和反射率,然后单独或同时处理每个组件。 最近的方法主要基于深度学习。 一些设计端到端的处理模型[14],而一些则注入了传统的思想,例如 Retinex 理论 [15,16,6]。 除了处理 8 位 RGB 图像外,还有用于 RAW 图像的模型 [17]。

    问题是这些方法主要是为人类视觉而不是机器视觉设计的。 像素级调整如何有益于和指导高级任务尚未得到很好的探索。 在本文中,我们为深色人脸检测提供了相应的解决方案。

    • Face Detection.

    早期的人脸检测器依赖于手工制作的特征 [18],现在这些特征被从数据驱动的卷积神经网络中学习到的深度特征所取代。 继承通用对象检测,典型的人脸检测器可以分为两类:两阶段和一阶段。 两阶段模型 [19, 20] 首先生成区域提议,然后对其进行细化以进行最终检测。 一阶段模型 [21] 直接预测边界框和置信度。 通用对象和人脸检测之间的区别在于,在人脸检测中,尺度变化通常要大得多。 现有方法通过多尺度图像和特征金字塔 [22, 23] 或各种锚点采样和匹配策略 [24, 25, 26] 解决了这个问题。

    尽管人脸检测研究蓬勃发展,但现有模型很少考虑光照不足的场景。 在本文中,我们提出了一种暗脸检测器,even without using dark annotations,其性能也优于最先进的方法。

    • Dark Object Detection.

    With the rapid development of deep learning, object detection has attracted more and more attention. However, few efforts have been made for dark objects. For RAW images, YOLO-in-the-Dark [27] merges models pre-trained in different domains using glue layers and a generative model. For RGB images, Loh et al. build the ExDark [28] dataset and analyze the low light images using both hand-crafted and learned features. DARK FACE [3] is a large-scale low light face dataset, giving birth to a series of dark face detectors in the UG2 Prize Challenge1 . However, most of these models highly rely on annotations, thus are of limited flexibility and robustness.

    为了摆脱对标签的依赖,无监督域适应(Unsupervised Domain Adaptation, UDA)可能是一种简单的解决方案[8,29]。虽然UDA方法在许多应用中已被证明是有效的,但由于正常和微光之间的巨大差距,这些方法在黑暗人脸检测方面的性能有限。本文提出了一种结合低水平和高水平自适应的较优方法。

    此处就不继续有道翻译了,了解到 该论文和代码是用于 Low Light Face Detection 任务即可

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    📗 环境搭建

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    经测试 pytorch==1.4.0 一样可以顺利运行该代码,因此这里安装的是 pytorch 1.4.0

    torch 1.6.0 运行 测试代码 则会遇到一个小的报错

    
    cat /etc/issue
    
    Ubuntu 18.04.5 LTS n l
    
    conda create -n torch14 python=3.6.6
    
    conda activate torch14
    
    conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.0 -c pytorch
    
    pip install opencv-python
    
    pip install scipy
    
    pip install thop
    
    pip install easydict
    
    

    📘 人脸检测测试

    • 模型准备:

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    项目结构如下

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    • 测试命令如下
    python test.py 
    
    # 或者指定 gpu 编号
    
    CUDA_VISIBLE_DEVICES=3  python test.py 
    

    GPU 占用 7539MiB

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    • 画检测框
    # 首先要正确设置 检测图像的 名字
    
    vim draw_result.py +32
    

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    运行命令如下

    python draw_result.py 
    
    • 效果如下【许大佬 胸牌上的人脸头像也检测到了…】
    • 各位小伙伴,学会此文、可以换其他更有趣图片进行实验哈

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    • 可能遇到的报错:RuntimeError: CUDA out of memory
    RuntimeError: CUDA out of memory. Tried to allocate 190.00 MiB (GPU 0; 15.75 GiB total capacity; 1.40 GiB already allocated; 144.31 MiB free; 1.84 GiB reserved in total by PyTorch)
    

    解决方法,使用一块闲置并且 超过 8G的显卡 进行测试即可

    CUDA_VISIBLE_DEVICES=3  python test.py 
    

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    📙 此次运行源码+模型+论文

    按照此次博文环境搭建教程,即可运行成功

    倘若链接失效、请评论区告知

    链接:https://pan.baidu.com/s/1zt6j8uQDcj68W5U-0WYCNA 
    提取码:nice
    

    📙 训练 【暂不开展】

    官方该代码训练文档 — 已经足够清晰

    • 训练数据集准备

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    显卡目前被其他小伙伴用着,因此训练这里暂不展开记录了…

    📘 更多有效教程

    计算机视觉、超分重建、图像修复、目标检测、模型部署等方向小伙伴可简单交流

    此次博文内容难以 以偏概全,如有不恰当的地方,欢迎评论区批评指正

    对于即将入行计算机视觉的小伙伴,墨理这里推荐收藏的干货博文目前如下

    HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

  • 👋 博主的其他几个专栏也有不少干货,限于篇幅,就不逐个枚举了,不然也不会有数百位本、硕、博研究圈子小伙伴的关注和订阅
    欢迎查阅更多专栏博文 ~
  • 专栏博文保质保量,感谢各位小伙伴点赞、评论鼓励博主的每一分认真创作

    ❤️ 人生苦短, 欢迎和墨理一起学AI

  • 🎉 作为全网 AI 领域 干货最多的博主之一,❤️ 不负光阴不负卿 ❤️
  • ❤️ 如果文章对你有些许帮助、蟹蟹各位读者大大点赞、评论鼓励博主的每一分认真创作
  • HLA-Face: Joint High-Low Adaptation for Low Light Face Detection | CVPR2021

    本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
    AI教程

    如何注册Kaggle账号并启动StableDiffusion

    2023-12-11 10:53:14

    AI教程

    A Guide to Common Python Data Structures

    2023-12-11 11:05:14

    个人中心
    购物车
    优惠劵
    今日签到
    有新私信 私信列表
    搜索