人脸检测--Grid Loss: Detecting Occluded Faces

提出GridLoss方法,通过区域分块优化遮挡人脸检测。适用于实时应用,改进CNN结构,采用AggregateChannelFeatures特征,多尺度检测并利用非极大值抑制。GridLoss层分块计算损失,增强弱特征区域的学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Grid Loss: Detecting Occluded Faces
ECCV2016

遮挡问题还是要通过区域分块来解决

针对有遮挡的人脸检测,如果从训练数据的角度来解决这个问题难度比较大。我们从定义新的损失函数的角度来解决这个问题。通过定义一个 novel loss layer 来分块考虑人脸计数误差损失,本文的另一个亮点是 real time

这里写图片描述

我们的整个网络结构示意图
这里写图片描述

3 Grid Loss for CNNs
本文的检测方式是类似于文献【33】的滑动窗口方式

3.1 Neural Network Architecture
我们的CNN结构由两个 5×5 卷积层组成,每个卷积层后面是 Rectified Linear Unit (ReLU) 激活相应,在两个卷积层之间加入了一个 Local Contrast Normalization
(LCN) layer 来做相应归一化,在最后一个卷积层后面使用了一个小的 dropout

因为速度的因素,这里我们采用了 Aggregate Channel Features (ACF) 特征,对该特征降采样4倍输入卷积层,在检测的时候,我们是多尺度检测的,使用非极大值抑制

3.2 Grid Loss Layer
这里主要讲人脸区域特征图进行分块,然后定义 part detectors 的损失函数,组合不同的part detectors 损失函数及整体检测损失函数得到总体损失函数。
error signals of less discriminative parts are strengthened during training, encouraging the CNN to focus on making weak parts stronger rather than strengthening already discriminative parts
the influence of several strong distinguished parts decreases
简单的来说当有特征的区域被遮挡了,这时候我们需要依靠特征不明显的区域。

4 Evaluation
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

ubuntu@ubuntu:~/PX4_Firmware$ make px4_sitl_default gazebo -- PX4 version: v1.11.0-beta1 -- PX4 config file: /home/ubuntu/PX4_Firmware/boards/px4/sitl/default.cmake -- PX4 config: px4_sitl_default -- PX4 platform: posix -- PX4 lockstep: enabled -- cmake build type: RelWithDebInfo -- The CXX compiler identification is GNU 7.5.0 -- The C compiler identification is GNU 7.5.0 -- The ASM compiler identification is GNU -- Found assembler: /usr/bin/cc -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Building for code coverage -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3") -- build type is RelWithDebInfo -- PX4 ECL: Very lightweight Estimation & Control Library v1.9.0-rc1-255-g47624a0 -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/PX4_Firmware/build/px4_sitl_default [0/740] git submodule src/drivers/gps/devices [8/740] git submodule src/lib/ecl [11/740] git submodule mavlink/include/mavlink/v2.0 [13/740] git submodule Tools/sitl_gazebo [19/740] Performing configure step for 'sitl_gazebo' -- install-prefix: /usr/local -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing T
最新发布
03-17
<think>好的,用户遇到了在Ubuntu环境下编译PX4 SITL Gazebo时的问题,想解决或了解编译过程。我需要根据提供的引用信息来整理解决方案。 首先,用户提到的错误可能涉及缺少依赖包,比如gstreamer-base-1.0。根据引用[1],安装这个包可能需要运行sudo apt install命令。另外,引用[2]提到用户可能在conda的base环境中安装了依赖,而正确做法应该是在系统环境中安装。因此需要检查环境,确保退出conda,使用系统环境进行安装。 接下来,引用[3]列出了多个依赖项,包括ninja-build、protobuf-compiler等,用户可能需要安装这些。同时,pip安装的包如jinja2、pyserial等需要确认是否正确安装,并且区分Python2和Python3的包。 另外,PX4的编译需要克隆固件仓库并初始化子模块,用户可能漏掉了子模块更新这一步。最后,编译命令是否正确执行,是否需要添加其他参数。 现在需要将这些步骤有条理地分点说明,确保用户能逐步操作。同时,生成相关问题,帮助用户深入理解可能遇到的其它问题。</think>### PX4 SITL Gazebo 编译问题解决步骤 #### 1. 安装缺失的依赖包 编译过程中报错`No package 'gstreamer-base-1.0' found`,需安装相关依赖: ```bash sudo apt install gstreamer1.0-plugins-base libgstreamer-plugins-base1.0-dev ``` 其他关键依赖可参考引用[3]: ```bash sudo apt install ninja-build exiftool protobuf-compiler libeigen3-dev genromfs xmlstarlet python-pip python3-pip ``` #### 2. 确保依赖安装环境正确 - **退出conda环境**:若使用conda,需执行`conda deactivate`退出base环境,避免依赖安装到虚拟环境中[^2]。 - **区分pip安装目标**: ```bash pip2 install jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse ``` #### 3. 初始化PX4固件仓库 克隆仓库并更新子模块: ```bash git clone https://github.com/PX4/PX4-Autopilot.git --recursive cd PX4-Autopilot git submodule update --init --recursive ``` #### 4. 执行编译命令 在仓库根目录下运行: ```bash make px4_sitl_default gazebo ``` 若仍报错,可尝试清理后重新编译: ```bash make clean make px4_sitl_default gazebo ``` #### 5. 常见问题排查 - **权限问题**:若涉及设备访问(如串口),添加用户到`dialout`组: ```bash sudo usermod -a -G dialout $USER ``` - **Gazebo启动失败**:检查Gazebo版本是否兼容,建议使用ROS自带版本(如ROS Noetic搭配Gazebo 11)[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值