Difference between revisions of "Dice Statistics"

From wwwelab
Jump to navigation Jump to search
Line 47: Line 47:
 
=Protocol=
 
=Protocol=
 
The experience execution protocol is simple because it consists in stimulating the platform conveniently,  so that it can scramble the dice. The main features of the configurator control room are described below for a better understanding.
 
The experience execution protocol is simple because it consists in stimulating the platform conveniently,  so that it can scramble the dice. The main features of the configurator control room are described below for a better understanding.
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="width:600px">
 +
'''User Manual'''
 +
<div class="mw-collapsible-content">
 +
 +
 +
The user can change the parameters of the image recognition process.
 +
 +
* ''Black&White Threshold'': the value, in grayscale, above which the pixels are considered white.
 +
 +
* Hough Transform
 +
** ''Threshold1'': value above which a pixel from the Hough Transform image is taken to post processing.
 +
** ''Threshold2'': averages the pixels near the one that passed the previous test and, if that value is above Threshold2, this pixel is taken to post processing.
 +
** ''Threshold3'': in theory, any pixel in a white zone is ignored but, if the average (calculated in the previous test) is above Threshold3, the pixel is NOT ignored. This is used because some of the dice have white spots inside the black marks.
 +
 +
* ''Convolution Threshold'': the value above which a pixel from the convolution image is taken to post processing.
 +
 +
* ''Dice specifications'':
 +
** ''Mark radius'': the expected radius, given in pixels, of the marks (note that this algorithm expects the marks to be circular).
 +
** ''Dice width'': the maximum distance, in pixels, between marks. For example, in the 6-side of the dice, this value would be diagonal distance from one corner to the other.
 +
** ''Expected number of dice'': the number of dice in the experiment. If the algorithm finds more "dice" (i.e. sets of marks) than expected, and some of those sets are not considered "compatible" with dice, then these sets are eliminated ('''Note:''' The algorithm compares the relative position and distance between marks to create a set. These sets are then compared to what is expected in a dice; if the comparison is positive, the set is marked as "compatible", if not, some marks are switched or eliminated until a "compatible" set is achieved).
 +
</div>
 +
</div>
 +
  
 
<!-- [[File:EstatDados-interface.gif|thumb|Picture 4: The experiment "Control room" configuration ]] -->
 
<!-- [[File:EstatDados-interface.gif|thumb|Picture 4: The experiment "Control room" configuration ]] -->
Line 92: Line 116:
  
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:600px">
 
<div class="toccolours mw-collapsible mw-collapsed" style="width:600px">
'''User Manual'''
+
'''Estudo da frequância ideal para excitar os dados'''
 
<div class="mw-collapsible-content">
 
<div class="mw-collapsible-content">
  
 +
Suposições:
 +
# O dado que parte do repouso acompanha o movimento ascendente da plataforma;
 +
# O dado apenas se separa da plataforma quando esta começa a descer, ou seja, o dado fica em queda livre, com velocidade inicial vertical nula;
 +
# O choque do dado com a plataforma é inelástico, ou seja, volta a acompanhar a plataforma até à seguinte posição máxima desta.
 +
 +
Assim, partindo do momento em que o dado larga a plataforma, ou seja, quando esta começa a descer, podem-se escrever as seguintes expressões para os movimentos do dado e da plataforma:
 +
 +
Dado: \( y(t) = \frac{A}{2} - \frac{g ^2}{2} \)
 +
 +
Plataforma: \( y'(t) = A cos(2 \pi f t) \)
 +
 +
Nestas expressões: A é a amplitude com que a plataforma vibra; g é a aceleração da gravidade; f é a frequência de vibração da plataforma e t é o tempo desde o momento indicado anteriormente.
 +
 +
Igualando e resolvendo em ordem a t, obtém-se a seguinte equação implítcita:
 +
 +
\[
 +
t = \sqrt{\frac{A- 2 A cos (2 \pi f t)}{g}}
 +
\]
 +
 +
Para resolver esta equação, usou-se um método numérico que, essencialmente, tendo um valor de t inicial, avalia a raiz e atribui o valor encontrado à variável t. Volta a repetir este processo até que o valor de t convirja. Obviamente, tem que se ter os valores da amplitude, da frequência e da aceleração da gravidade fixos; usou-se, para a amplitude, 3 mm; para a frequência, usaram-se várias entre 1 e 500 Hz e para a aceleração da graviadade, usou-se 9,81 \(ms^{-2}\).
 +
 +
O valor de t usado para a primeira iterada é de 1/4f, para que o coseno, dentro da raiz, dê zero e a primeira iterada dê um valor real.
 +
 +
Na seguinte tabela estão indicadas as frequências e t para as quais o método convergiu, tal como os cos e sin correspondentes:
  
The user can change the parameters of the image recognition process.
 
  
* ''Black&White Threshold'': the value, in grayscale, above which the pixels are considered white.
 
  
* Hough Transform
+
{| border="1"
** ''Threshold1'': value above which a pixel from the Hough Transform image is taken to post processing.
+
! scope="col" | f (Hz) 
** ''Threshold2'': averages the pixels near the one that passed the previous test and, if that value is above Threshold2, this pixel is taken to post processing.
+
! scope="col" | t (miliseg.)
** ''Threshold3'': in theory, any pixel in a white zone is ignored but, if the average (calculated in the previous test) is above Threshold3, the pixel is NOT ignored. This is used because some of the dice have white spots inside the black marks.
+
! scope="col" | cos(2p f t )
 +
! scope="col" | - sin(2p f t )
 +
|-
 +
| 14
 +
| 27.91
 +
| -0.7732
 +
| -0.6341
 +
|-
 +
| 15
 +
|  29.70
 +
|  -0.9418
 +
|  -0.3362
 +
|-
 +
|  16
 +
|  30.24
 +
|  -0.9948
 +
|  -0.1017
 +
|-
 +
|  17
 +
|  30.25
 +
|  -0.9960
 +
|  0.0893
 +
|-
 +
|  18
 +
|  29.98
 +
|  -0.9692
 +
|  0.2462
 +
|-
 +
|  19
 +
|  29.54
 +
|  -0.9268
 +
|  0.3756
 +
|-
 +
|  20
 +
|  29.01
 +
|  -0.8758
 +
|  0.4827
 +
|-
 +
|  21
 +
|  28.42
 +
|  -0.8206
 +
|  0.5715
 +
|-
 +
|  49
 +
|  30.21
 +
|  -0.9924
 +
|  0.1227
 +
|-
 +
|  50
 +
|  30.26
 +
|  -0.9968
 +
|  0.0805
 +
|-
 +
|  51
 +
|  30.06
 +
|  -0.9781
 +
|  0.2083
 +
|-
 +
|  83
 +
|  30.26
 +
|  -0.9973
 +
|  0.0736
 +
|-
 +
|  116
 +
|  30.27
 +
|  -0.9977
 +
|  0.0680
 +
|-
 +
|  149
 +
|  30.27
 +
|  -0.9980
 +
|  0.0632
 +
|-
 +
|  182
 +
|  30.27
 +
|  -0.9983
 +
|  0.0591
 +
|-
 +
|  215
 +
|  30.27
 +
|  -0.9985
 +
|  0.0554
 +
|-
 +
|  248
 +
|  30.28
 +
|  -0.9986
 +
|  0.0521
 +
|-
 +
|  281
 +
|  30.28
 +
|  -0.9988
 +
|  0.0491
 +
|}
  
* ''Convolution Threshold'': the value above which a pixel from the convolution image is taken to post processing.
 
  
* ''Dice specifications'':
+
De notar que, regra geral, as trajectórias cruzam-se perto do mínimo da trajectória da plataforma (cos(2pf t ) >> -1), já quando esta vai a subir (-sin(2p f t ) >0).
** ''Mark radius'': the expected radius, given in pixels, of the marks (note that this algorithm expects the marks to be circular).
 
** ''Dice width'': the maximum distance, in pixels, between marks. For example, in the 6-side of the dice, this value would be diagonal distance from one corner to the other.
 
** ''Expected number of dice'': the number of dice in the experiment. If the algorithm finds more "dice" (i.e. sets of marks) than expected, and some of those sets are not considered "compatible" with dice, then these sets are eliminated ('''Note:''' The algorithm compares the relative position and distance between marks to create a set. These sets are then compared to what is expected in a dice; if the comparison is positive, the set is marked as "compatible", if not, some marks are switched or eliminated until a "compatible" set is achieved).  
 
 
</div>
 
</div>
 
</div>
 
</div>

Revision as of 16:56, 18 October 2013

Description

This experiment consists of an apparatus that automatically shuffles a set of six-sided dice. To count the spots, it acquires and processes an image recognition pattern from the top side of each dice.

By recording the number of times each side appears, you can study the law of probability and develop a statistical study of random phenomena. Using the images produced by this experiment, you can also develop your own algorithms using them in the study of computer recognition software.

Links

  • Video: [unavailable]
  • Laboratory: Básico em e-lab.ist.eu[1]
  • Control room: Aleatorio
  • Grade: ***


<swf height="320" width="320">http://www.elab.tecnico.ulisboa.pt/anexos/descricoes-flash/EstatisticaDados.swf</swf>


The #evp parser function was deprecated in EmbedVideo 2.0. Please convert your parser function tag to #ev.

Experimental Apparatus

In this experiment there is a loudspeaker positioned horizontally with a platform on top of the cone made of k-line (structured light cardboard with polyurethane), where fourteen dice are spread. Above it, at 300mm from the platform, there is a video camera equipped with a white high brightness LED to illuminate it.

Apparatus for the Dice Statistics experiment
Apparatus

The release (i.e. shuffling) of the dice is achieved through the speaker's stimulus with a sound wave, which makes the platform vibrate with the same frequency of the wave.

This platform has a wall that prevents the dice from leaving the platform (and the web-cam field of view). The wall is quite high to block the entry of light from the outside of the lighting system.

With this apparatus, pictures are obtained as we can see in figure 2.

The image processing is made according to the flowchart below and the result of this process leads to an image like the one in picture 3.

Figure 2: Photograph of the dice
Figure 3: Figure 2 after software recognition
Fluxogram


Protocol

The experience execution protocol is simple because it consists in stimulating the platform conveniently, so that it can scramble the dice. The main features of the configurator control room are described below for a better understanding.

User Manual


The user can change the parameters of the image recognition process.

  • Black&White Threshold: the value, in grayscale, above which the pixels are considered white.
  • Hough Transform
    • Threshold1: value above which a pixel from the Hough Transform image is taken to post processing.
    • Threshold2: averages the pixels near the one that passed the previous test and, if that value is above Threshold2, this pixel is taken to post processing.
    • Threshold3: in theory, any pixel in a white zone is ignored but, if the average (calculated in the previous test) is above Threshold3, the pixel is NOT ignored. This is used because some of the dice have white spots inside the black marks.
  • Convolution Threshold: the value above which a pixel from the convolution image is taken to post processing.
  • Dice specifications:
    • Mark radius: the expected radius, given in pixels, of the marks (note that this algorithm expects the marks to be circular).
    • Dice width: the maximum distance, in pixels, between marks. For example, in the 6-side of the dice, this value would be diagonal distance from one corner to the other.
    • Expected number of dice: the number of dice in the experiment. If the algorithm finds more "dice" (i.e. sets of marks) than expected, and some of those sets are not considered "compatible" with dice, then these sets are eliminated (Note: The algorithm compares the relative position and distance between marks to create a set. These sets are then compared to what is expected in a dice; if the comparison is positive, the set is marked as "compatible", if not, some marks are switched or eliminated until a "compatible" set is achieved).


Dice shuffling

The dice are released (shuffled) by the oscillating movement of the platform where they are located. The user can select the starting and the ending frequencies of the sound wave that will be transmitted to the platform. This sound wave is synthesized on demand, there are no pre-recorded sound files.

The frequency can be chosen between 20Hz and 150Hz. Bellow 20Hz there is no response from the hardware to vibrate the platform; above 150Hz, the inertia "forces" a low amplitude motion, so the dice don't move.

The user can also choose the duration of the sound wave from 1.5 to 10 seconds. The lower value is enough to shuffle some of the dice at lower frequency but it will ultimately result in a small randomization. The upper limit allows very high randomization and is not even necessary in some cases.

Images

The user chooses how many frames should be analysed by choosing the number of samples between 1 and 20.

One sample can be used to check how the recognition software works (what are the steps and how long they take). With 20 samples the results start to show a distribution that evolves towards the Gaussian distribution (even though, in theory, this only happens after 30 samples, minimum).

Video

The user can choose whether to watch or not to watch the shuffling process video.

This video is composed of a series of .jpg pictures, which means that it is not an actual video, and the rate of display can change substantially with the connection quality.

Since the video feed has a high demand on the internet connection, the user is advised to use it only once, as its purpose is merely to satisfy curiosity.


Advanced Protocol

After a number of samples a graph can be constructed with the number of times each number is recorded in each bin and a Gaussian distribution can be fitted:

\[ p(x) = y_0 + A e ^{- \frac{(x- \mu)^2}{\sigma ^2}} \]

Figure 5: Example distribution

Since there are 14 dice, the expected mean value is 49 (why?), which is confirmed by the build-up of values fitting.

The best way to conduct this study is to merge the results of several users and see if the fit is improved by an increasing number of samples.

The expected value for the average of N 6-sided dice is:

\[ \bar{\mu} = \frac{6N+N}{2} \]


Estudo da frequância ideal para excitar os dados

Suposições:

  1. O dado que parte do repouso acompanha o movimento ascendente da plataforma;
  2. O dado apenas se separa da plataforma quando esta começa a descer, ou seja, o dado fica em queda livre, com velocidade inicial vertical nula;
  3. O choque do dado com a plataforma é inelástico, ou seja, volta a acompanhar a plataforma até à seguinte posição máxima desta.

Assim, partindo do momento em que o dado larga a plataforma, ou seja, quando esta começa a descer, podem-se escrever as seguintes expressões para os movimentos do dado e da plataforma:

Dado: \( y(t) = \frac{A}{2} - \frac{g ^2}{2} \)

Plataforma: \( y'(t) = A cos(2 \pi f t) \)

Nestas expressões: A é a amplitude com que a plataforma vibra; g é a aceleração da gravidade; f é a frequência de vibração da plataforma e t é o tempo desde o momento indicado anteriormente.

Igualando e resolvendo em ordem a t, obtém-se a seguinte equação implítcita:

\[ t = \sqrt{\frac{A- 2 A cos (2 \pi f t)}{g}} \]

Para resolver esta equação, usou-se um método numérico que, essencialmente, tendo um valor de t inicial, avalia a raiz e atribui o valor encontrado à variável t. Volta a repetir este processo até que o valor de t convirja. Obviamente, tem que se ter os valores da amplitude, da frequência e da aceleração da gravidade fixos; usou-se, para a amplitude, 3 mm; para a frequência, usaram-se várias entre 1 e 500 Hz e para a aceleração da graviadade, usou-se 9,81 \(ms^{-2}\).

O valor de t usado para a primeira iterada é de 1/4f, para que o coseno, dentro da raiz, dê zero e a primeira iterada dê um valor real.

Na seguinte tabela estão indicadas as frequências e t para as quais o método convergiu, tal como os cos e sin correspondentes:


f (Hz) t (miliseg.) cos(2p f t ) - sin(2p f t )
14 27.91 -0.7732 -0.6341
15 29.70 -0.9418 -0.3362
16 30.24 -0.9948 -0.1017
17 30.25 -0.9960 0.0893
18 29.98 -0.9692 0.2462
19 29.54 -0.9268 0.3756
20 29.01 -0.8758 0.4827
21 28.42 -0.8206 0.5715
49 30.21 -0.9924 0.1227
50 30.26 -0.9968 0.0805
51 30.06 -0.9781 0.2083
83 30.26 -0.9973 0.0736
116 30.27 -0.9977 0.0680
149 30.27 -0.9980 0.0632
182 30.27 -0.9983 0.0591
215 30.27 -0.9985 0.0554
248 30.28 -0.9986 0.0521
281 30.28 -0.9988 0.0491


De notar que, regra geral, as trajectórias cruzam-se perto do mínimo da trajectória da plataforma (cos(2pf t ) >> -1), já quando esta vai a subir (-sin(2p f t ) >0).


Links