Giter Site home page Giter Site logo

rmhsawyer / ec601-final-project-mapping_user_face_to_emoji Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 3.0 106.44 MB

Project Description: an App that translates user's expression into emoji based on Android

License: Apache License 2.0

Python 1.17% TeX 0.07% Jupyter Notebook 97.27% Java 1.49% PureBasic 0.01%

ec601-final-project-mapping_user_face_to_emoji's People

Contributors

615105327 avatar jasmine424 avatar rmhsawyer avatar sherrie12 avatar

Watchers

 avatar

ec601-final-project-mapping_user_face_to_emoji's Issues

real-time.py "magic" numbers

Lines 38-55 contains a lot of code that is not commented. A lot of numbers are hard coded here without any explanation/reason for the numbers.

Starting and Stopping buttons

Tested program (on 11/12/2017) and found that starting the program properly initialized the webcam and worked fine. However, after hitting stop and then start again, webcam would not reappear. Reset button only helped some of the time, but did not always fix this issue.

Tested on Windows 10, Firefox 57.0 (64-bit).

getting an error at this line when trying to run your code

https://github.com/rmhsawyer/EC601-Final-Project/blob/874055bd07443f7a51d2ca022c200a1cf506b154/real-time.py#L35

I am getting the following error when I try to run your code:

cv2.error: /opt/conda/conda-bld/opencv_1491943970124/work/opencv-3.1.0/modules/imgproc/src/color.cpp:7456: error: (-215) scn == 3 || scn == 4 in function ipp_cvtColor

Is it maybe because you need to give a time delay between when you start the videocapture and when you call the while loop? Or you can also try this:

if ret is True:
img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
else:
continue

process_dataset.py

Hi in your process.py file the start up script may have an improvement in your start up scripts by having single_face and useMean set to true outside the if statements.

Emojis File

In the Emoji file if the .png files are imported from some where and you did not make them yourself you may want to credit where the artwork came from.

Code Review #2

I am glad to see that you have resolved most of the issues that I had bought up previously. There are still a few issues that I found that needs to be rectified.

  1. You have improved your GitHub Readme from before. However, it still needs to explain the project
    pipeline and major technologies being used properly.
  2. In the file emoji.py, you have used a threshold of 0.8. However, it is not clear as to how or why you
    used this threshold.
  3. In the same file emoji.py, you have used the scaling factor to be 1.1. Why have you used this value?
    Also, shouldn’t the scaling factor be dynamic, so that it can be viewed on different screens? I have
    the same issue with the next 2 lines of code as well, where you have arbitrarily assigned 5 to
    minNeighbors without explaining why, and used the size of 30 by 30 for minSize.
  4. When I try to run your code using the commandline command python real-time.py haar-
    cascade_frontalface_default.xml, it gives me an error saying: error: (-215) scn == 3 || scn == 4 in
    function ipp_cvtColor. Is it maybe because you need to give a time delay between when you start
    the videocapture and when you call the while loop? Or you can also try this:
    if ret is True:
    img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    else:
    continue

Overall, I think your project is very interesting and you have done a very good job in carrying it out. I am looking forward to see your finished project during the poster presentation. Good luck!

Jaffe Dataset

This project uses the Jaffe dataset, however it does not link to this set nor mentions any licensing/usage terms for this dataset. Could be problematic depending on their usage terms.

Code Review Two

I am happy to see that most of the problems I raised last time were fixed and the python code you now have is very clean.

I was unable to get your app to run in andriod studio so I did not focus on that as there are no directions saying how I would go about that (maybe you could put some if you would like feel back on that.

As the issues I raised individually state the problems in your code are limited this time around

1 https://github.com/rmhsawyer/EC601-Final-Project/blob/master/live-plotting.py#L11

This function could use a comment or two describing what it does so its not as hard to understand

2 in the Emoji.py file You can delete line 72. Its declared and not returned. It looks like it was going to be used but was commented out.

3 In the realtime.py file the faces varible could use a comment to explain what is going on with faces and why the values used were chosen

Overall this is a very neatly organized program with good code and you guys did a really good job at making a fun program for communicating with friends.

Packages required and versions?

Tried to run real-time.py but could not figure out which combinations of packages were needed to run it. Should list in README.md which versions of Python, Keras, OpenCV, etc. are required to run.

landmarkrecognition.py line 77

In landmarkrecognition.py, line 77

face_name = []

This line is intending to empty the list declared in line 61. This actually declares a new empty list and binds it to variable face_name. Might be better to use:

face_name[:] = []

This will empty the list of values without creating a new empty list.

Summary of code review by Harish N Sathishchandra

Well done. Your project looks great. However, I found some isuues which needs some improvement.

  1. Your GitHub Readme should be more detailed. Explain more about your project here and also
    explain what each module of your project does.
  2. The file organization in your GitHub page needs improvement. For instance, the OpenCV and Caffe
    functions can be grouped into one folder. The dataset related files can also be grouped into a
    single folder. The same goes for all the WAV files as well.
  3. The codes in general are well commented. However, I found the function listfile.py needs to be
    better commented to make it more understandable.
  4. In caffe_functions.py, line 30 it isn’t clear why you have chosen vmin=0 and vmax=0.2.

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.