Face Detection using Deep Learning: An Improved Faster RCNN Approach论文解读

本文介绍了一种改进的Faster R-CNN目标检测模型,主要包括三个方面的改进:特征融合,通过连接不同层级的特征图提高检测精度;难例挖掘,通过再次训练减少误检;多尺度训练,提升模型对不同大小物体的鲁棒性。

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

Flowchart of the training procedure


First of all, we train the CNN model of Faster RCNN using the WIDER FACE dataset [30]. We
further use the same dataset to test the pre-trained model so as to generate hard negatives. Thesehard negatives are fed into the network as the second step of our training procedure. The resulting
model will be further fine-tuned on the FDDB dataset. During the final fine-tuning process, we
apply the multi-scale training process, and adopt a feature concatenation strategy to further boost
the performance of our model. For the whole training processes, we follow the similar end-to-end
training strategy as Faster RCNN.

文章在faster RCNN上做了一些改进,主要体现在三个方面:

1、Feature Concatenation

Network architecture of the proposed feature concatenation scheme

我理解的就是把得出的ROIs映射到Conv3_3,Conv4_3,conv5_3,之后连接一个1X1的卷积层以保持深度一致,然后将这些ROIs输入到roi pool层,分别得到ROI_pool3,ROI_pool4,ROI_pool5,然后将这些ROI_pool进行concatenate(具体concatenate是怎么操作的文章中没写)。特别的,比较浅的特征层ROI_poo之后有一个L2-normalized的操作。

2、Hard Negative Mining

hard negatives are the regions where the network has failed to make correct prediction.
Thus, the hard negatives are fed into the network again as a reinforcement for improving our
trained model.

把hard negatives输入到用wider face预训练好的RPN部分,保持正负样本比例为1:3

3、Multi-Scale Training

文章对每张图片取了三种尺度进行训练,短边不超过480; 600; 750. 长边不超过1250.实验结果表示多尺度的训练让模型对不同尺寸的图片更具有鲁棒性,而且提高了检测的性能。

Experiments

1、VGG16 was selected to be our backbone CNN network, which had been pre-trained on ImageNet.

2、训练数据是WIDER FACE的training +validation datasets。

3、We gave each ground-truth annotation a difficulty value


忽略掉加起来分数大于2的ground-truth

4、具体的一些参数设置见文章

5、用WIDER FACE训练完后,将confidence scores大于0.8,与ground-truth之间的IOU小于0.5的hard negatives fed into网络中.

### 关于PUMA改进的DOA估计算法模式实现 针对PUMA改进的DOA估计算法模式实现,该方法旨在提高传统MODE算法在方向到达角(DOA)估计中的性能。具体而言,通过引入新的机制来增强参数估计精度和稳定性[^1]。 以下是基于MATLAB的一个简化版本代码示例,用于展示如何利用PUMA框架进行DOA估算: ```matlab function doa_estimates = puma_do aestimation(received_signals, array_geometry) % Parameters initialization num_elements = size(array_geometry, 2); snapshot_length = length(received_signals(:, 1)); % Construct spatial correlation matrix Rxx from received signals Rxx = (received_signals * conj(transpose(received_signals))) / snapshot_length; % Perform eigenvalue decomposition on Rxx to get eigenvectors U and eigenvalues Lambda [U, ~] = eig(Rxx); % Define search grid for DOAs within [-90°,+90°], step=1° theta_grid = linspace(-pi/2, pi/2, 181)'; % Calculate steering vectors a(theta) corresponding to each angle in the grid A = exp(1i*2*pi*(array_geometry'*sin(theta_grid))); % Compute PUMA cost function values over all angles using modified MODE criterion J_puma = zeros(size(theta_grid)); for k = 1:length(theta_grid), ak = A(:,k); P = eye(num_elements)-ak*(conj(ak')/(ak'*ak))*ak'; J_puma(k)=trace(P*Rxx*P'); end % Find peaks of the spectrum which correspond to estimated DOAs [~, peak_indices] = findpeaks(-J_puma,'MinPeakDistance',5); doa_estimates = radtodeg(theta_grid(peak_indices)); end ``` 此函数`puma_do aestimation`接收两个输入参数:一个是来自阵列天线接收到的数据矩阵;另一个是指定传感器位置坐标的向量。输出则是检测到的目标角度列表(单位为度)。注意这只是一个概念性的例子,在实际应用中可能还需要考虑更多细节调整以适应特定场景需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值