[AITech][Final Project][P stage] 20220518 - 최종 프로젝트 3일차
최종 프로젝트 3일차
위 블로그에서 사용한 clustering 방법을 따라하니 1일차에 한 방법보다 성능이 훨씬 나았다.
하지만 여전히 그대로 사용할 수 있을 만한 수준은 아니어서, 이제 성능을 어떻게 올리느냐의 싸움이 될 것 같다.
피어세션에서 얼굴+옷의 feature를 사용하자는 이야기가 나왔고, 옷의 위치를 잘 지정해준다면 좋은 결과가 나올 수도 있을 것 같다.
다른 팀원 분이 관련하여 자료도 찾아주셨다.
- http://www.pluto.ai.kyutech.ac.jp/~shimada/paper/IWACIIIKomatsu.pdf
- https://dl.acm.org/doi/10.1145/1743384.1743435
오늘은 원래 얼굴+옷의 feature를 모두 사용하는 방법으로 facial landmark + cloth featurel를 사용하는 방식이 아닌 얼굴과 옷이 모두 나오는 이미지에서 clustering을 진행하는 방법을 실험해보려 했다.
그런데 사용하려 했던 repo를 자세히 보니 데이터로 이미지를 주는 것이 아니라 이미지를 feature로 변환한 .bin
형식의 파일들이 필요하고, 이를 현 프로젝트 상황에 맞게 고치려면 시간이 꽤 필요하겠다는 생각을 하였다. 더불어 이미지로 clustering을 했을 때 성능이 잘 나올지…(issue를 보니 잘 안된다는 말이 있다)에 대한 의구심이 든다.
그래서 다른 방법들을 먼저 시도해보기로 했고, 1일차 때 해보려던 super resolution으로 이미지의 화질을 개선한 뒤 얼굴을 검출하여 성능을 올리려는 시도를 하였는데, super resolution 과정에서 이미지가 계속 깨지며 제대로된 성능 향상이 되지 않았다.
이에 대한 이유는 더 찾아봐야 할 듯 하다.
cv2.dnn_superres
- 코드 및 성능비교표: https://learnopencv.com/super-resolution-in-opencv/
- super resolution 모델들 & 다운로드 링크: https://github.com/opencv/opencv_contrib/blob/master/modules/dnn_superres/README.md
pip uninstall opencv-python
pip uninstall opencv-contrib-python
pip3 install opencv-contrib-python
tensorflow
- tensorflow_hub의 ESRGAN 사용하기: https://wikidocs.net/80780
오늘 여러가지 실험을 하는 과정에서 코드 분석을 마쳤고, 이를 바탕으로 내일은 얼굴 + 옷의 feature를 추출하여 clustering하는 것을 시도해 볼 수 있을 듯하다.
그런데 이 경우에, 얼굴 검출을 위해 캡쳐된 프레임에서 자료 화면 등으로 다른 사람들이 출연하거나 옷에 cg효과가 입혀지는 경우에 어떻게 할 지에 대해서도 생각해 볼 필요가 있을 듯하다.
결론
Face clustering의 성능을 높일 수 있는 방법!
- 얼굴+옷의 feature 사용
- SR이 왜 제대로 동작하지 않을까…
Leave a comment