got an idea to capture faces at high speed, need to check concept.

Home Forums Lounge Discussion got an idea to capture faces at high speed, need to check concept.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
  • #7585

      Imagine somebody ask you to create a DFM file for him with his face. Lots of work because you need tons of pictures.
      I got an idea for a setup that could provide the pictures needed in almost no time.

      imagine you put the subject seated on a stool, in front of a big TV screen. Like 1 meter (3 feet) of a 55 inches screen.
      on the screen you got a word that is moving across the screen. The subject is supposed to follow the word with eyes and head while telling repeating the word until it changes.
      the screen is also displaying big spots of differents colors, so the face of the subject get the light, coming from differents sides.
      you install several cameras around the screen, so you shoot the head of the subject with different angles, speeding the number of sample pictures.
      With 2 cameras at 12 fps, you got 24 pictures per secondes, 1440 pictures per minutes and 20.000 pictures in just 15 minutes.

      other lights could be added (like a string of led, installed as a ring over the top of the head). the light could move on the led string so the light comes also from differents angles. but i think the screen would be enough.

      Do you think this setup could be ok ?
      I can easily write a program running on a pc to do that. the first part would be the word’s list and random position (like some screensaver do), and the second part would be displaying the color spots (different size, position and colors) to create lighting.
      Then connecting a simple laptop with HDMI on the screen is ok.
      For image capture, the same PC could use 2 webcams, or we could use 2 camcorders.


        here is the autoit code i mentionned in the precedent post
        words and actions are in French, you need to change for your own needs.
        Also colors are not set to the good ones.Suggestions welcome here.
        I think orange is a must, also light blue and green (many movies have a green cast)
        white could be also needed to mimic overexposed pictures (flashes)
        In general i do not expect the screen providing the full lighting, it is just
        to have a changing lighting (color and position)
        But some movies have really dark lighting, with light coming form only one side
        (usually with reddish/blueish cast) so we could use the screen for that.

        #include <GuiConstantsEx.au3>
        #include <WindowsConstants.au3>
        #include <ColorConstants.au3>
        #Include <ScreenCapture.au3>
        #Include <Misc.au3>

        Global $iXL, $iYL, $iXP, $iYP, $iBar, $iCol, $sColbackgnd, $Label1, $iWord, $iAction
        Dim $word[25]

        Dim $action[11]
        $action[2]=”(fermer les yeux)”
        $action[3]=”(tirer la langue)”
        $action[4]=”(pencher la tete en avant)”
        $action[5]=”(regarder a gauche)”
        $action[6]=”(regarder a droite)”
        $action[7]=”(regarder en bas)”
        $action[8]=”(froncer les sourcils)”
        $action[9]=”(lever les sourcils)”

        Local $hDLL = DllOpen(“user32.dll”)
        ;create fixed light for text and picture
        $hFixed_GUI = GUICreate(“”, 640, 360 ,640 , 360, $WS_POPUP)
        ;create label to display text
        $Label1=GUICtrlCreateLabel(“a dire”, 200, 100 , 600, 300)
        GUICtrlSetFont(-1, 40, 400, 0, “Arial Rounded MT Bold”)
        $Label2=GUICtrlCreateLabel(“(a faire)”, 200, 160 , 600, 300)
        GUICtrlSetFont(-1, 25, 400, 0, “Arial Rounded MT Bold”)
        ; Create moving GUI for light
        $hBitmap_GUI = GUICreate(“”, 240, 50, 0, 0, $WS_POPUP)

        While 1
        GUISetState(@SW_SHOW, $hBitmap_GUI)
        If _IsPressed(“20″, $hDLL) Then
        Sleep (2000)
        $iBar=random (1, 4, 1)
        switch $iBar
        case 1
        case 2
        case 3
        case 4
        $iCol=random (1, 10, 1)
        switch $iCol
        case 1
        case 2
        case 3
        case 4
        case 5
        case 6
        case 7
        case 8
        case 9
        case 10
        $iWord=random (1, 24, 1)
        if $iCol=5 or $iCol=3 then
        $iAction=random (2, 10, 1)
        GUICtrlSetData($Label1, $word[$iWord])
        GUICtrlSetData($Label2, $action[$iAction])
        GUISetBkColor ( $sColbackgnd, $hBitmap_GUI )
        WinMove ( “”, “”, $iXP, $iYP, $iXL , $iYL , 5 )

      Viewing 2 posts - 1 through 2 (of 2 total)
      • You must be logged in to reply to this topic.