CAGFace ([https://arxiv.org/pdf/1910.08761.pdf](https://arxiv.org/pdf/1910.08761.pdf))

를 구현하고 있습니다. 구현과정 중 메모리 문제 때문에 stage2 과정을 생략하고 backbone을 거친 뒤 바로 x4 upsampling을 하고 conv를 두번 쌓아 이미지를 반환하였고 논문에서와 같이 smooth l1 loss 를 사용하였습니다.

batchnorm을 upsampling과정에 넣으면 학습은 잘 되는데 loss가 잘 떨어지지 않아 batchnorm을 넣고 중간중간 lr을 조정해가면서 훈련시킨결과 다음과 같은 결과를 얻었는데

모든 이미지에 대해 이미지의 채도를 명확하게 묘사해내지 못한다는 사실을 발견하였습니다. training loss 값을 고려해보았을 때(약 0.004) 이미지의 pixel간 평균적인 차이는 22pixel 정도로 보아야 마땅한 데 output image는 거의 흑백이미지에 가깝기 때문에 평균적인 차이가 어떻게 22pixel 정도인지도의문입니다.

앞으로 어떤 방향으로 시도를 해보아야할 지 몰라서 게시물을 작성하게 되었는데요

1. stage1 에서 무리하게 x4 upsampling 한 것이 문제이기 때문에 stage2 까지 구현 후 다시 훈련시ㅋ본다.

2. stage1 뒤에 downsample(space-to-depth)를 한 후 처음 input image를 더하여 pixel 정보를 보정시킨후 다시 upsampleing 하는 refinement module 을 고안해본다.

아니면 pixel 정보를 보정할 수 있는 다른 방법을 고안.

3. 마지막 conv3x3 (channel : 256 -> 3) 을 한 후에 relu를 쓰지말고 sigmoid 를 써서 훈련을 시켜본다. (image 값은 0~1) 이므로 이경우 loss가 잘 떨어지지 않는 문제가 발생합니다.
https://www.facebook.com/groups/TensorFlowKR/permalink/1041218709552520/?sfnsn=mo
Posted by uniqueone
,