딥러닝 기반 사진 성별 판독 라이브러리의 정확도 비교

  • 사람의 얼굴이 들어간 사진을 입력하면 성별을 판독해주는 라이브러리들이 있죠.
  • 그런데 이런 라이브러리들이 대체로 동양인에 대한 정확도가 떨어진다고 합니다.
  • 성별 판독 뿐만 아니라 전반적인 얼굴관련 이미지 처리들이 그런것 같아요.
  • 그래서 github에서 star를 많이 받은 3개의 라이브러리를 가지고 테스트를 진행해 봤습니다.
  • 테스트에 사용한 사진은 20대 남/여 사진 100여개를 이용했습니다.
  • 보통 이러한 라이브러리들의 만들어내는 결과값은, 1개의 얼굴이 있지만 여러개가 있다고 판단하는 경우가 있습니다.
  • 또한 아예 얼굴을 찾아내지 못하는 경우도 있구요. 이런 2가지 케이스는 테스트수에서 뺐습니다.
  • 그렇기 때문에 실제 판독 정확성은 더 떨어진다고 보는게 맞습니다.

Gender Detection Keras

  • https://github.com/arunponnusamy/gender-detection-keras
  • keras 기반 라이브러리 입니다.
  • 속도는 제일 느린듯 하구요.
  • 여성 71/92
  • 남성 51/93
  • 제일 정확도가 떨어지네요

Gender and Age Detection

  • https://github.com/smahesh29/Gender-and-Age-Detection
  • Caffe 플랫폼 기반입니다.
  • 속도 빠릅니다.
  • 여성의 경우 위에 것보다 1명으로 판독하는 정확도가 높습니다.
  • 여성 82/104
  • 남성 67/90
  • 1명을 판독 성공했을 때 정확도는 위에것보다 높습니다.

Insightface

  • https://github.com/deepinsight/insightface
  • 제일 유명한 라이브러리죠.
  • 이것도 Caffe 플랫폼 기반으로 보입니다.
  • 역시 속도 빠르구요.
  • 여성 138/149
  • 남성 83/104
  • 여성의 경우 거의 정확한 반면, 남성은 상대적으로 부정확합니다.
  • 그래도 위의 2개보다는 남성이 제일 정확합니다.

Stable Diffusion WebUI에서 Extension 설치시 오류가 날 때 대처

  • Stable Diffusion WebUI에서 Extension 설치가 안되는 경우가 있습니다.
  • 먼저 아래와 같은 오류메시지가 나타나면서 안될 경우입니다.
gitcommandnotfound: cmd('git') not found due to: filenotfounderror('[errno 2] no such file or directory: 'git'')
  • 이런 경우는 파이썬에서 git 명령어를 사용할 수 없기 때문에 발생합니다.
  • ~/.bashrc를 아래와 같이 수정한 다음 (경로 및 인증서 파일은 실제환경에 맞게 변경해주셔야 합니다.)
export PATH=$PATH:/usr/bin/git
export GIT_PYTHON_GIT_EXECUTABLE=/usr/bin/git
export GIT_SSH_COMMAND="/usr/bin/ssh -i ~/.ssh/id_rsa"
  • touch ~/.bashrc 실행해주신 후에 WebUI 다시 실행해서 설치해 보세요.
  • 또한 공인되지 않은 extension의 경우 아래와 같은 옵션을 함께 입력하여 WebUI를 실행해야 합니다.
  • --enable-insecure-extension-access
python webui.py --listen --xformers --enable-insecure-extension-access

IntelliJ Idea Remote Development 사용시 프로젝트 모듈 설정이 안될 때

IntelliJ Idea Remote Development 사용하시는 분들이 있을겁니다. 저도 로컬보다 강력한 컴퓨팅 파워가 필요한 환경(예:GPU가 필요한 상황)에서 개발해야 할 때, 이 기능을 이용합니다. 그런데 왜 그런지 모르겠는데 프로젝트가 인식되지 않는거에요.

아래처럼 Projec Structure로 들어가서 Modules에 개발 디렉토리를 추가하더라도 image

무한 프로그레시브 바만 나오고, 다음번에 다시 Remote Development를 키면 프로젝트가 인식되어 있지 않습니다. 그러다보니 프로젝트내 검색이라던가 최근 파일 보기라던가 인덱싱이 필요한 많은 기능들을 사용할 수 없었어요.

이럴때 아래처럼 해보세요.

먼저 .idea 폴더 내에 [프로젝트명].iml 파일을 만들고 아래와 같이 기입합니다. 파이썬 프로젝트 일 때의 예제에요.

<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>

같은 폴더내에 modules.xml을 만들고 아래와 같이 기입합니다.

<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
    <component name="ProjectModuleManager">
        <modules>
            <module fileurl="file://$PROJECT_DIR$/.idea/[프로젝트명].iml" filepath="$PROJECT_DIR$/.idea/[프로젝트명].iml" />
        </modules>
    </component>
</project>

그럼 다음번에 접속해도 잘 나올겁니다.