NAS Definition
- 基于搜索策略,并结合约束条件 (如accuracy、latency),在搜索空间内 (set of candidate operations or blocks)探索最优网络结构、或组件结构 (如detector的backbone、FPN);
- 高效的NAS算法,通常是Trade-off between data-driven and experience-driven,data-driven实现高效率、自动化搜索,experience-driven减小搜索空间、降低过拟合;
- Proxy task: 评估搜索结果 (searched architecture);
NAS-FCOS: Fast Neural Architecture Search for Object Detection
- GitHub (PyTorch): https://github.com/Lausannen/NAS-FCOS
- Related work:
- NAS-FPN: https://github.com/DetectionTeamUCAS/NAS_FPN_Tensorflow
- FCOS: https://github.com/tianzhi0549/FCOS
- Per-pixel prediction in bbox without prior anchors,类似于EAST OCR检测;
- Multi-level prediction (FPN),消除bbox重叠区域内的ambiguity;
- Center-ness for filtering out the low-quality bboxes;
- Motivation:
- 为one-stage anchor-free detector (well known FCOS)搜索FPN与detection head:
- 如何从backbone选取特征,并如何构造FPN、输出multi-level features;
- 当FPN features共享同一个head时,如何确定head的结构;
- 为one-stage anchor-free detector (well known FCOS)搜索FPN与detection head:
- Search Space:
- 将FCOS视作encoder-decoder架构,backbone表示encoder,FPN与head表示decoder;
- FPN由一系列basic block (bbt)构成,对backbone提取特征C={C2, C3, C4, C5}、以及bbt输出特征执行merge操作:
- basic block (bbt)基本结构:
- candidate ops(搜索空间):
- basic block (bbt)基本结构: