Giter Club home page Giter Club logo

team-project-team11's Introduction

Open-Source S/W project - team 11

Besaic

Besaic는 실시간 스트리밍 환경에서 사람들의 얼굴을 자동으로 모자이크 처리 해줍니다. 또한 방송에 부적합한 음란한 내용을 NSFW(Not suitable for work)셋을 이용해 모자이크 합니다.

Reference

Face recognition : https://github.com/ageitgey/face_recognition

Face tracking : https://github.com/gdiepen/face-recognition

NSFW training data : https://github.com/alexkimxyz/nsfw_data_scraper

NSFW pre-trained model : https://github.com/GantMan/nsfw_model

얼굴 모자이크

opencv 라이브러리의 cv2.CascadeClassifier을 이용한 Face detection, new face일 경우 recognition을 한 뒤 known/unknown으로 분류하여 모자이크 여부를 결정한다. 이후 dlib.correlation_trakcer()를 이용한 face tracking.

NSFW

NSFW Detection Machine Learning Model

Trained on 60+ Gigs of data to identify:

  • drawings - safe for work drawings (including anime)
  • hentai - hentai and pornographic drawings
  • neutral - safe for work neutral images
  • porn - pornographic images, sexual acts
  • sexy - sexually explicit images, not pornography

This model powers NSFW JS - More Info

빌드 및 설치

pip install cmake dlib opencv-python face_recognition numpy

-dlib build 오류시 https://sulastri.tistory.com/3 해당 URL 

Minimum UI

  1. 빌드를 위해 필요한 것들
  • PyQT5
  • Python 3. over
  1. Code preview
layout = QtWidgets.QVBoxLayout()
        self.assign_button = QtWidgets.QPushButton("assign face")
        layout.addWidget(self.assign_button)
        self.assign_button.clicked.connect(self.btn1_clicked)

        layout.addWidget(self.face_detection_widget)
        self.run_button = QtWidgets.QPushButton('Start')
        layout.addWidget(self.run_button)
        self.btn = QPushButton("NSFW")
        layout.addWidget(self.btn)
        self.le = QLabel("")
        
        layout.addWidget(self.le)
        self.btn.clicked.connect(self.getfile)
        self.run_button.clicked.connect(self.record_video.start_recording)
        self.setLayout(layout)
  • start button 은 모자이크 처리를 시작을 뜻함. 웹캠을 받아와서 모자이크 처리를 진행
  • NSFW button 은 이미지를 받아와서 NSFW 필터링을 진행
  • assign face button 은 이미지를 새로 추가할 수 있도록 진행

Usage

python face_recog&mosaic.py
from nsfw_detector import NSFWDetector
detector = NSFWDetector('./nsfw.299x299.h5')

Demo

team-project-team11's People

Contributors

chyoungjae avatar comnamu18 avatar ddamddi avatar jwoonge avatar moonilpark avatar xogus1107 avatar ycs1m1yk avatar yjcheon avatar

Stargazers

 avatar  avatar

Watchers

 avatar

team-project-team11's Issues

모자이크 기능

현재 미리 DB에 사진 있는 사람은 얼굴 보여주고 이 외에 사람들은 모자이크 하는데 , 반대로 특정 사람만 모자이크 하길 원할 수도 있을 것같습니다. 그렇게 되면 현 시스템에서는 그 사람을 제외한 모든 사람의 얼굴의 사진이 들어가야되는 것 같습니다. 따라서 반대되는 기능을 넣으면 다른 용도로도 사용이 가능 할것 같습니다.

dlib 설치 오류

Windows 10 환경에서 pip install dlib를 하면 오류가 나면서 설치되지 않습니다. cmake 등 기타 구성요소는 모두 제대로 설치했는데도 그렇고 반복적으로 시도해도 똑같았습니다. 이 문제를 해결하기 위해 검색해봤는데, pip install https://pypi.python.org/packages/da/06/bd3e241c4eb0a662914b3b4875fc52dd176a9db0d4a2c915ac2ad8800e9e/dlib-19.7.0-cp36-cp36m-win_amd64.whl#md5=b7330a5b2d46420343fbed5df69e6a3f 로 설치하니까 오류없이 잘 설치되었습니다. 아마 dlib의 버전 문제인 것 같습니다. 이 문제를 해결하고 쉽게 설치할 수 있도록 README.md를 수정해주시면 감사하겠습니다.

Error Logs

Collecting dlib
  Using cached https://files.pythonhosted.org/packages/05/57/e8a8caa3c89a27f80bc78da39c423e2553f482a3705adc619176a3a24b36/dlib-19.17.0.tar.gz
Building wheels for collected packages: dlib
  Building wheel for dlib (setup.py): started
  Building wheel for dlib (setup.py): finished with status 'error'
  ERROR: Complete output from command 'c:\program files (x86)\microsoft visual studio\shared\python36_64\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\MY\\AppData\\Local\\Temp\\pip-install-w_rq9gi4\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\MY\AppData\Local\Temp\pip-wheel-fjg94mos' --python-tag cp36:
  ERROR: running bdist_wheel
  running build
  running build_py
  package init file 'dlib\__init__.py' not found (or not a regular file)
  running build_ext
  Traceback (most recent call last):
    File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 120, in get_cmake_version
      out = subprocess.check_output(['cmake', '--version'])
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 336, in check_output
      **kwargs).stdout
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 403, in run
      with Popen(*popenargs, **kwargs) as process:
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 709, in __init__
      restore_signals, start_new_session)
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 997, in _execute_child
      startupinfo)
  FileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 261, in <module>
      'Topic :: Software Development',
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\setuptools\__init__.py", line 129, in setup
      return distutils.core.setup(**attrs)
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\core.py", line 148, in setup
      dist.run_commands()
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\wheel\bdist_wheel.py", line 192, in run
      self.run_command('build')
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\command\build.py", line 135, in run
      self.run_command(cmd_name)
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 974, in run_command
      cmd_obj.run()
    File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 129, in run
      cmake_version = self.get_cmake_version()
    File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 125, in get_cmake_version
      "\n*******************************************************************\n")
  RuntimeError:
  *******************************************************************
   CMake must be installed to build the following extensions: dlib
  *******************************************************************
  
  ----------------------------------------
  ERROR: Failed building wheel for dlib
  Running setup.py clean for dlib
Failed to build dlib
Installing collected packages: dlib
  Running setup.py install for dlib: started
    Running setup.py install for dlib: finished with status 'error'
    ERROR: Complete output from command 'c:\program files (x86)\microsoft visual studio\shared\python36_64\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\MY\\AppData\\Local\\Temp\\pip-install-w_rq9gi4\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\MY\AppData\Local\Temp\pip-record-qq6hu8se\install-record.txt' --single-version-externally-managed --compile --user --prefix=:
    ERROR: running install
    running build
    running build_py
    package init file 'dlib\__init__.py' not found (or not a regular file)
    running build_ext
    Traceback (most recent call last):
      File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 120, in get_cmake_version
        out = subprocess.check_output(['cmake', '--version'])
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 336, in check_output
        **kwargs).stdout
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 403, in run
        with Popen(*popenargs, **kwargs) as process:
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 709, in __init__
        restore_signals, start_new_session)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\subprocess.py", line 997, in _execute_child
        startupinfo)
    FileNotFoundError: [WinError 2] 지정된 파일을 찾을 수 없습니다
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 261, in <module>
        'Topic :: Software Development',
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\setuptools\__init__.py", line 129, in setup
        return distutils.core.setup(**attrs)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\core.py", line 148, in setup
        dist.run_commands()
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\site-packages\setuptools\command\install.py", line 61, in run
        return orig.install.run(self)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\command\install.py", line 545, in run
        self.run_command('build')
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\command\build.py", line 135, in run
        self.run_command(cmd_name)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "c:\program files (x86)\microsoft visual studio\shared\python36_64\lib\distutils\dist.py", line 974, in run_command
        cmd_obj.run()
      File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 129, in run
        cmake_version = self.get_cmake_version()
      File "C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\setup.py", line 125, in get_cmake_version
        "\n*******************************************************************\n")
    RuntimeError:
    *******************************************************************
     CMake must be installed to build the following extensions: dlib
    *******************************************************************
    
    ----------------------------------------
ERROR: Command "'c:\program files (x86)\microsoft visual studio\shared\python36_64\python.exe' -u -c 'import setuptools, tokenize;__file__='"'"'C:\\Users\\MY\\AppData\\Local\\Temp\\pip-install-w_rq9gi4\\dlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\MY\AppData\Local\Temp\pip-record-qq6hu8se\install-record.txt' --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in C:\Users\MY\AppData\Local\Temp\pip-install-w_rq9gi4\dlib\

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.