좋은 셀카를 찍는 법

좋은 셀카를 찍는 법

이 글은 Karpathy의 간단한 실험이 재밌어서 한글로 옮긴 글이다.
What a Deep Neural Network thinks about your #selfie

딥러닝 블로거인 Andrej Karpathy가 간단한 실험을 했다.
좋은 셀카란 무엇일까? 를 딥러닝에서 CNN으로 학습하였다.
기술이 새로운건 아닌데 실험내용이 재밌다.

데이터는 Instagram에서 #selfie로 크롤링해서 적어도 얼굴 하나는 있는 사진 2,000,000장 사진을 좋아요 수로 좋은/나쁜 셀카로 나누었다.결과적으로 60%정도의 정확도를 보였다고 한다. (막 때려맞추는건 50퍼니까 그래도 낫지)
그래서 이 인공신경망이 판단한 좋은 셀카의 기준이 뭘까가 흥미롭다.

위 그림은 왼쪽 위에서부터 CNN이 좋은 사진으로 높은 점수를 준 것부터 나열한 사진.

5만개의 셀피로 테스트해본 결과

  1. 여자일것. (위 사진 보면 Top100엔 남자가 하나도 없다.)
  1. 얼굴은 이미지에서 1/3정도
  2. 사진 영역은 이마 까지만이 좋음.
  3. 역시 긴머리가. 어깨 밑 머리카락
  4. 얼굴에 조명빨.
  5. 필터를 써라. 약간 바래지고 constrast을 줄인 필터가 효과가 좋더라.
  6. 테두리를 껴라. 흑백의 가로나 세로 테두리가 자주 보이더라.

그래서 나쁜 셀피는 뭐였냐면

  1. 빛이 없는 곳에서 찍지말것. 빛이 없어서 노이즈가 많으면 정말 점수가 낮다.
  1. 얼굴을 너무 크게 잡는다. 솔직히 누구나 이런 사진엔 부담 가질듯.
  2. 그룹샷 ㄴㄴ.

굳이 남자의 좋은 셀카 사진이라면

아래는 안좋은 셀카라고 판단된 것들

사실 저자도 이걸 하면서 피부 노출 많은 이미지 검출기가 되어버릴 까봐 걱정은 했다. 근데 결과가 위처럼 사람이 보아도 좋은 셀카들이 TOP순위에 있다.

물론 좋아요수로 좋은 셀카의 기준을 내리는 것에 이견이 있을 수 있지만 어쨌건 CNN은 그 데이터셋에서 최대한 유의미한 정보를 찾아내려한다. 뭐 사실 이런 기준이 아니고서는 개인이 객관적으로 좋은 셀카인지 아닌지를 판단하지도 못한다.

그래서 블로그의 내용을 더 보면 좋은 셀피 사진이 되도록 원본을 더 예쁘게 crop 해보는데

결과는 그냥 재미로~
왼쪽 아래 사진은, 극단적으로 얼굴없는 게 더 좋다고 CNN이 그러니 뭔가 사진찍힌 사람이 안타깝다.

Karpathy가 Deep Learning에 관심있는 대중들을 위해서 최대한 대중적으로 쓴 글이니까 조금 관심있으면 원문을 자세히 보는 게 좋다.