Xiaobo Wang*, Shuo Wang*, Cheng Chi, Shifeng Zhang, Tao Mei
Esta é a implementação oficial da nossa função de busca de perda para reconhecimento facial. É aceito pelo ICML 2020.
No reconhecimento facial, o projeto de funções de perda softmax baseadas em margens (por exemplo, margens angulares, aditivas e angulares aditivas) desempenha um papel importante no aprendizado de características discriminativas. No entanto, esses métodos heurísticos artesanais são abaixo do ideal porque exigem muito esforço para explorar o grande espaço de design. Primeiro analisamos que a chave para melhorar a discriminação de recursos é, na verdade, como reduzir a probabilidade softmax . Em seguida, projetamos uma formulação unificada para as atuais perdas softmax baseadas em margem. Conseqüentemente, definimos um novo espaço de busca e desenvolvemos um método de busca guiado por recompensa para obter automaticamente o melhor candidato. Resultados experimentais em uma variedade de benchmarks de reconhecimento facial demonstraram a eficácia do nosso método em relação às alternativas de última geração.
Para validar a eficácia do nosso espaço de busca, pode-se simplesmente escolher random-softmax. Em train.sh, você pode definir do_search=1. Se usarmos softmax aleatório para treinar nossa rede, obteremos o resultado abaixo.
Pytorch 1.1 ou superior é necessário.
Na implementação atual, usamos lmdb para empacotar nossas imagens de treinamento. O formato do nosso lmdb vem principalmente do Caffe. E você poderia escrever seu próprio arquivo caffe.proto da seguinte maneira:
syntax = "proto2";
message Datum {
//the acutal image data, in bytes.
optional bytes data=1;
}
Além do lmdb, deve existir um arquivo de texto descrevendo o lmdb. Cada linha do arquivo de texto contém 2 campos separados por um espaço. A linha no arquivo de texto é a seguinte:
lmdb_key label
./train.sh
Você pode usar ./train.sh. OBSERVE que antes de executar train.sh, você deve fornecer seu próprio train_source_lmdb e train_source_file. Para mais uso, por favor
python main . py - h