0
$\begingroup$

Can you advise me what kind of machine learning to achieve? ... I had thought, for example, to make a face and, by varying the expression through the "manipulate" function (I do not know if it is possible to do so), the machine will tell me if it is sad, happy, etc. This is the code that allows me to manipulate the face:

    Manipulate[
 eyeMat = {{1/(eyeRadius - pupilRadius/2), 0}, {0, 
    1/(0.15 + eyes - pupilRadius/2)}};
 If[Norm[eyeMat.(pup - eyeCenter[[left]])] < 1, 
  pupNow = pup - eyeCenter[[left]];];
 If[Norm[eyeMat.(pup - eyeCenter[[right]])] < 1, 
  pupNow = pup - eyeCenter[[right]];];
 Graphics[{face, eye[left, eyes], eye[right, eyes], Blue, 
   pupil[left, pupNow, eyes], pupil[right, pupNow, eyes], Black, 
   browDraw[left, brows, eyes], browDraw[right, brows, eyes], 
   Inset[mouthDraw[mouth], {0, -0.5}]}, 
  ImageSize -> {400, 450}], {{brows, {-Pi/20, 0}}, {-0.6, 0}, {0.6, 
   0.15}, ControlPlacement -> Left}, {{eyes, 0}, -0.07, 0.07, 
  ControlPlacement -> Left, 
  ControlType -> VerticalSlider}, {{mouth, 0.15}, -0.401, 0.4, 0.01, 
  ControlPlacement -> Left, 
  ControlType -> VerticalSlider}, {{pup, {0, 0}}, Locator, 
  Appearance -> None}, 
 Initialization :> (face = Circle[{0, 0}, {1, 1.2}]; pupNow = {0, 0};
   left = 1; right = 2;
   eyeRadius = 0.18; eyeCenter = {{-0.4, 0.15}, {0.4, 0.15}};
   pupilRadius = 0.09;
   browUp = 0.25; browW = 0.2; browAng = Pi/20;
   eye[side_, eccen_] := {Black, 
     Circle[eyeCenter[[side]], {eyeRadius + 0.05, eyeRadius + eccen}]};
   pupil[side_, pup_, 
     eccen_] := {Disk[eyeCenter[[side]] + pup + {0, pup[[2]] eccen}, 
      pupilRadius + Max[0, eccen/3]], Black, 
     Disk[eyeCenter[[side]] + pup + {0, pup[[2]] eccen}, 0.03]};
   browDraw[side_, {browAng_, browLift_}, eccen_] := 
    Rotate[{Thickness[0.01], 
      Line[{{eyeCenter[[side]] + {-browW, 
           browLift + browUp + 0.5 eccen}, 
         eyeCenter[[side]] + {browW, 
           browLift + browUp + 0.5 eccen}}}]}, 2 (side - 1.5) browAng];
   mouthDraw[s_] := 
    ParametricPlot[{Cos[u], -s Sin[u]}, {u, Pi/6, Pi - Pi/6}, 
     Axes -> False, PlotStyle -> {Red, Thickness[0.02]}, 
     PlotRange -> All];)]

Now, How can I teach the car to say what kind of expression the face has (sad, happy, etc.)?

$\endgroup$

closed as too broad by Niki Estner, Daniel Lichtblau, m_goldberg, bobthechemist, Αλέξανδρος Ζεγγ Dec 20 '18 at 10:43

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    $\begingroup$ Hey Pasquale, welcome to Mathematica.SE! This is certainly possible, but at the moment your question is too vague. To get meaningful answers you should show what you already tried in code or ask very specific questions what you want to achieve with your code. $\endgroup$ – Thies Heidecke Dec 17 '18 at 16:12
  • $\begingroup$ I entered the code $\endgroup$ – Pasquale Dec 17 '18 at 17:06
1
$\begingroup$

You can try the built-in facial expression classifier with Mathematica version 11.3.

EDIT Question was crossposted here, and I provided a very naive solution.

$\endgroup$
  • $\begingroup$ How can I make a code that allows me to output an image from my computer? $\endgroup$ – Pasquale Dec 17 '18 at 16:08
  • $\begingroup$ @Pasquale - Look at the documentation for Export $\endgroup$ – Bob Hanlon Dec 17 '18 at 16:45

Not the answer you're looking for? Browse other questions tagged or ask your own question.