https://air.imag.fr/api.php?action=feedcontributions&user=RICM4-prj14-grp4&feedformat=atomair - User contributions [en]2024-03-29T09:28:14ZUser contributionsMediaWiki 1.35.13https://air.imag.fr/index.php?title=AngularJS&diff=19239AngularJS2014-11-04T09:08:40Z<p>RICM4-prj14-grp4: </p>
<hr />
<div>MVC for HTML5/Javascript SPA (Single Page Application).<br />
<br />
http://angularjs.org/<br />
<br />
part of [[MEAN]] framework<br />
<br />
see also<br />
* [[Angular-strap]] (ie Angular + [[Bootstrap]])<br />
* [[Angular-UI]]<br />
* [http://joshdmiller.github.io ng-boilerplate] ''Everything you need to kickstart AngularJS projects: a best-practice directory structure, an intelligent build system, and the best web design libraries around.''<br />
<br />
=Livres=<br />
* Brad Green, Shyam Seshadri, AngularJS, Pub OReilly http://shop.oreilly.com/product/0636920028055.do ([https://github.com/shyamseshadri/angularjs-book source code])<br />
<br />
=Tutoriel=<br />
<br />
Read :<br />
* https://docs.angularjs.org/tutorial/<br />
* https://github.com/angular/angular-phonecat<br />
<br />
<source lang="bash"><br />
git clone https://github.com/angular/angular-phonecat.git<br />
cd angular-phonecat<br />
<br />
# start the Karma unit test runner<br />
npm test<br />
<br />
# start the web server<br />
npm start<br />
</source><br />
<br />
Browse http://localhost:8000/app<br />
<br />
<br />
''Then in a separate terminal/command line window, we can run the Protractor test scripts against the application by running:''<br />
<source lang="bash"><br />
npm run protractor<br />
</source></div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18870Proj-2013-2014-Sign2Speech-English2014-10-21T20:36:02Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of the project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. The program should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The program should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18869Proj-2013-2014-Sign2Speech-English2014-10-21T20:35:43Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of the project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our program should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The program should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18868Proj-2013-2014-Sign2Speech-English2014-10-21T20:35:14Z<p>RICM4-prj14-grp4: /* Week 4 (February 10 - February 23) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The program should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18867Proj-2013-2014-Sign2Speech-English2014-10-21T20:34:49Z<p>RICM4-prj14-grp4: /* Tools */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The program should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18866Proj-2013-2014-Sign2Speech-English2014-10-21T20:21:32Z<p>RICM4-prj14-grp4: /* Work in progress */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The program should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18865Proj-2013-2014-Sign2Speech-English2014-10-21T20:09:55Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The program should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18864Proj-2013-2014-Sign2Speech-English2014-10-21T20:04:51Z<p>RICM4-prj14-grp4: /* Week 7 (March 10 - March 16) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral presentation<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18863Proj-2013-2014-Sign2Speech-English2014-10-21T20:01:56Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18862Proj-2013-2014-Sign2Speech-English2014-10-21T19:58:36Z<p>RICM4-prj14-grp4: /* The Team */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Author: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18861Proj-2013-2014-Sign2Speech-English2014-10-21T19:57:32Z<p>RICM4-prj14-grp4: /* The Team */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18860Proj-2013-2014-Sign2Speech-English2014-10-21T19:55:36Z<p>RICM4-prj14-grp4: /* Tools */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk SDK]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18859Proj-2013-2014-Sign2Speech-English2014-10-21T19:55:02Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow deaf people to communicate over the Internet with persons who don't understand sign language. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18858Proj-2013-2014-Sign2Speech-English2014-10-21T19:51:56Z<p>RICM4-prj14-grp4: /* = Tools */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=File:S2S-capture.png&diff=18857File:S2S-capture.png2014-10-21T19:51:31Z<p>RICM4-prj14-grp4: </p>
<hr />
<div></div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18856Proj-2013-2014-Sign2Speech-English2014-10-21T19:50:50Z<p>RICM4-prj14-grp4: /* Week 6 (March 3 - March 9) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools =<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:S2S-capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18855Proj-2013-2014-Sign2Speech-English2014-10-21T19:50:38Z<p>RICM4-prj14-grp4: /* Week 6 (March 3 - March 9) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools =<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:capture.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18854Proj-2013-2014-Sign2Speech-English2014-10-21T19:50:10Z<p>RICM4-prj14-grp4: /* Week 6 (March 3 - March 9) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools =<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18853Proj-2013-2014-Sign2Speech-English2014-10-21T19:49:02Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides (oral presentation)''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools =<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18852Proj-2013-2014-Sign2Speech-English2014-10-21T19:47:56Z<p>RICM4-prj14-grp4: /* Tools */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools =<br />
<br />
[[File:creative.jpeg|300px|right|Map]]<br />
We will use a special kind of camera, the Intel-Creative camera with [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18851Proj-2013-2014-Sign2Speech-English2014-10-21T19:46:21Z<p>RICM4-prj14-grp4: /* Week 2 (February 3 - February 9) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
We will use a special kind of camera :<br />
<br />
*The Creative camera of [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
[[File:creative.jpeg|300px|right|Map]]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
[[File:print.png|700px|center|Map]]<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18850Proj-2013-2014-Sign2Speech-English2014-10-21T19:46:02Z<p>RICM4-prj14-grp4: /* Week 2 (February 3 - February 9) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
We will use a special kind of camera :<br />
<br />
*The Creative camera of [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
[[File:creative.jpeg|300px|right|Map]]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
[[File:print.png|700px|center|Map]]<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18849Proj-2013-2014-Sign2Speech-English2014-10-21T19:45:08Z<p>RICM4-prj14-grp4: /* Tools */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
We will use a special kind of camera :<br />
<br />
*The Creative camera of [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
[[File:creative.jpeg|300px|right|Map]]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
[[File:print.png|400px|right|Map]]<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18848Proj-2013-2014-Sign2Speech-English2014-10-21T19:44:22Z<p>RICM4-prj14-grp4: /* Objective */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
[[Media:S2S-slides.pdf|'''Slides''']] <br />
<br />
[[Media:S2S-Flyer.pdf|'''Flyer-S2S''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
We will use two different technologies :<br />
<br />
*[https://www.leapmotion.com/ Leap Motion]<br />
[[File:leap-motion.png|300px|right|Map]]<br />
The Leap motion is a device that allow you to control your computer with your hands. But there is no physical contact and the communication with the computer is based on hand movements. You put the Leap motion under your hands, next to the keyboard.<br />
<br />
Compared to the Kinect, it is much smaller. The device has a size of 8 x 2,9 x 1,1 cm and a frame repetition rate of 200 Hz (the Kinect has a 30 Hz frame repetition rate). The Leap motion is composed of two webcams of 1,3 MP which film in stereoscopy and three infra-red light LED. It can detect the position of all ten fingers.<br />
<br />
The official website has a section for [https://developer.leapmotion.com/ developer]. You can download the SDK 1.0 (almost 47 Mo) which contains API for following langages: C++, C#, Java, Python, Objective C and JavaScript. The SDK also contains examples for libraries and functions of the SDK.<br />
<br />
<br />
*The Creative camera of [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
[[File:creative.jpeg|300px|right|Map]]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
[[File:print.png|400px|right|Map]]<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=Proj-2013-2014-Sign2Speech-English&diff=18847Proj-2013-2014-Sign2Speech-English2014-10-21T19:40:44Z<p>RICM4-prj14-grp4: /* Week 6 (March 3 - March 9) */</p>
<hr />
<div>[[File:sign-language.jpeg|300px|right|Map]]<br />
== Objective ==<br />
<br />
The goal of our project is to allow speechless people to communicate with a computer thanks to sign langage. Our programm should be able to understand sign langage in order to obey to orders given. Then orders should be displayed under literal form and transformed into vocal signal thanks to a speech synthesis technology.<br />
<br />
The programm should also be able to learn new hand movements to increase its database to recognize more ideas.<br />
<br />
[[Proj-2013-2014-Sign2Speech-SRS| '''Software Requirements Specification''']]<br />
<br />
== The Team ==<br />
<br />
*Tutor : Didier Donsez<br />
<br />
*Members: Arthur CLERC-GHERARDI, Patrick PEREA<br />
<br />
*Department : [http://www.polytech-grenoble.fr/ricm.html RICM 4], [[Polytech Grenoble]]<br />
<br />
== State of the Art ==<br />
<br />
[http://www.youtube.com/watch?v=khM5zCKf8Oc#t=73 Recognition of sign langage alphabet]<br />
<br />
[http://www.youtube.com/watch?v=ITeSHLVNXN8 Recognition of particular hand movements which mean ideas (ZCam camera)]<br />
<br />
[http://www.youtube.com/watch?v=cxHMgl2_5zg Recognition of particular hand movements which mean ideas, and the traduction in spanish (OpenCV)]<br />
<br />
[http://www.youtube.com/watch?v=AwOWCYj9qKQ Recognition of particular hand movements which mean ideas (Kinect)]<br />
<br />
== Tools ==<br />
<br />
We will use two different technologies :<br />
<br />
*[https://www.leapmotion.com/ Leap Motion]<br />
[[File:leap-motion.png|300px|right|Map]]<br />
The Leap motion is a device that allow you to control your computer with your hands. But there is no physical contact and the communication with the computer is based on hand movements. You put the Leap motion under your hands, next to the keyboard.<br />
<br />
Compared to the Kinect, it is much smaller. The device has a size of 8 x 2,9 x 1,1 cm and a frame repetition rate of 200 Hz (the Kinect has a 30 Hz frame repetition rate). The Leap motion is composed of two webcams of 1,3 MP which film in stereoscopy and three infra-red light LED. It can detect the position of all ten fingers.<br />
<br />
The official website has a section for [https://developer.leapmotion.com/ developer]. You can download the SDK 1.0 (almost 47 Mo) which contains API for following langages: C++, C#, Java, Python, Objective C and JavaScript. The SDK also contains examples for libraries and functions of the SDK.<br />
<br />
<br />
*The Creative camera of [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk Intel® Perceptual Computing SDK]<br />
[[File:creative.jpeg|300px|right|Map]]<br />
<br />
This camera is also a remote controller for the computer. You put it in front of people.<br />
<br />
The Creative is provided of depth recognition, which enable developer to do the difference between shots. <br />
This camera films at around 30 fps in 720p.<br />
<br />
Intel provides also a SDK for developers : [http://software.intel.com/en-us/vcsource/tools/perceptual-computing-sdk]. Some of the libraries will help us for hand and fingers tracking and facial recognition.<br />
<br />
== Gallery ==<br />
<br />
[http://sign2speech.picnpin.com/sign2speech Pictures Gallery]<br />
<br />
= Work in progress =<br />
<br />
We received the subject of the project the 21 of January (2014). This part will resume our progression.<br />
<br />
== Week 1 (January 27 - February 2) ==<br />
<br />
* Discovery of Intel Creative camera<br />
* Discovery and getting used to Intel SDK<br />
* Choice of programming language (C++)<br />
* First program of fingers recognition<br />
* First '''matter''' : Intel SDK is not finished. It gives us methods for fingertips, writs and hand center recognition. But, it can not make the difference between each fingers.<br />
* First bug detection with the camera : for each picture given by the depth sensor, a same finger can be detected more than once.<br />
<br />
== Week 2 (February 3 - February 9) ==<br />
[[File:print.png|400px|right|Map]]<br />
* Implementation of an "overlay" for the SDK to have a better fingers recognition. The goal is to know which finger the user is showing to the camera.<br />
* Correction of the bug : same finger dectected more than once.<br />
* Getting in contact with Intel through its developer forum.<br />
* Our camera may have an hardware problem which gives us turbulence on depth sensor picture. It remains to do more tests.<br />
* Adding of hand calibrator function (implementation not finished)<br />
* Definition of gestures made of symbols in sign language.<br />
* Choice of our data structure for symbols and gestures. When the user is doing a symbol with his hands, the program will look into symbols table if it exists. Therefore, the search should be efficient and quick to keep the real-time aspect. Symbols table can have more than hundred symbols.<br />
<br />
== Week 3 (February 10 - February 16) ==<br />
* Implementation of data structures and dichotomous algorithm (complexity O(log n))<br />
* Implementation of others search algorithm. Then we will compare times between all algorithm to choose ours.<br />
* Search of a world [http://www.signingsavvy.com/ dictionnary] for sign language.<br />
* "Skype"-like program implementation beginning which will allow a video communication between users on the network. Then, our program will permit yourself to communicate between a mute user and not-mute user. The textual translation will be send to the not-mute user and display on his screen.<br />
* First draw of program interface<br />
<br />
== Week 4 (February 10 - February 23) ==<br />
* First gesture recognition and display of its textual translation "'''Africa'''".<br />
* '''Matter''' : Since few years, Microsoft doesn't allow people to create skype plugins anymore. We wanted to integrate our functionnality ''Sign2Speech'' in Skype. So we direct ourselves in the development of "stand-alone" software.<br />
* Discovery of OpenCV technology to replace the Creative camera because of turbulences :<br />
'''Advantages :'''<br />
We can use any camera for hand recognition. Camera in every laptops should be fine. Then, users don't need to buy an Intel Creative camera to use our program.<br />
<br />
'''Disadvantages :'''<br />
A first problem can be detected : the speed of picture processing. Shape recognition as hand contour is slower than with Intel technology (with depth sensor).<br />
A second matter can be observed : hand position. If you want your hand be recognized, it must not be over user face. Hands and face have then same skin color so contours are not really detected.<br />
To have a good detection, the hand must be next to the face, in front of another coloured background. Constraints are too heavy to use this technology. We will stay on Intel technology.<br />
<br />
== Week 5 (February 24 - March 2) ==<br />
* Implementation of movements in our gesture recognition algorithm : thanks to mathematical equations, we can now detect rectilinear, elliptical movements or say if the user doesn't move.<br />
* Symbol recognition "closed fist", that we can find in many gestures.<br />
* Discussion about : how save the dictionnary in user HDD. We choose an XML file.<br />
* Implementation of encryption mecanism to prevent the user to see the XML file. Indead, this file shows how our program is functionning.<br />
<br />
== Week 6 (March 3 - March 9) ==<br />
[[File:print2.png|400px|right|Map]]<br />
* Implementation of user interface for our "Skype"-like program.<br />
* Encryption mecanism available<br />
* Creation of a program to try to send image data thanks to different methods<br />
* Writing of a complete report with technical details<br />
* Adding ''I LOVE YOU'' in the dictionnary<br />
* Matter to integrate interface with our recognition program did past weeks. A problem between the thread "interface" and thread "motor".<br />
<br />
== Week 7 (March 10 - March 16) ==<br />
<br />
* Mid-term oral<br />
* Integration of Thread Interface with Thread motor.<br />
<br />
== Week 8 (March 10 - March 23) ==<br />
<br />
* Adding '''AIRPLANE''' in the dictionnary<br />
* Adding '''ALL''' in the dictionnary<br />
* Creation of the dictionnary in XML<br />
* Integration of XML parser in the program and the gesture tree is built thanks to this dictionnary.<br />
<br />
== Week 9 (March 24 - March 30) ==<br />
<br />
* Adding the new feature : '''vocal synthesis'''<br />
* Adding '''UP''' in the dictionnary<br />
* Adding '''ACCIDENT''' in the dictionnary<br />
* Adding '''OBSTINATE''' in the dictionnary<br />
* Correcting bugs when adding nodes in the movement tree<br />
* Correcting bugs in Machine learning<br />
<br />
== Week 10 (March 31 - April 06) ==<br />
<br />
* Preparation of final oral<br />
* Flyers creation<br />
* Writing of developper manual</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=File:EA2014_Sim3D_AgentCubes.png&diff=18803File:EA2014 Sim3D AgentCubes.png2014-10-20T11:38:19Z<p>RICM4-prj14-grp4: </p>
<hr />
<div></div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18802EA2014 Sim3D education2014-10-20T11:38:02Z<p>RICM4-prj14-grp4: /* DEMONSTRATION : AgentCubes */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
Voici les principales comparaisons que nous avons développées précédemment, résumées sous forme de tableau : <br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
== DEMONSTRATION : AgentCubes ==<br />
<br />
Le logiciel AgentCubes développé dans le cadre du projet Scalable Game Design simule l’interaction de la lumière sur les objets, les ombres, les collisions, la caméra virtuelle dans l’espace 3D etc. L’écolier ne s’occupe que de spécifier et définir l’intelligence artificielle des personnages de son jeu.<br />
Il caractérise le comportement de chacun de ses personnages en leur ajoutant des conditions if…then. Pour cela il dispose d’un ensemble de conditions prédéfinies telles que « is selected » ou « once every 1 second »… ainsi qu’un ensemble d’actions telles que « move », « play sound » ou encore « show message »…<br />
<br />
[[File:EA2014_Sim3D_AgentCubes.png|center|thumb|500px]]<br />
<br />
Le projet a été testé sur 10000 écoliers, dont 45% de filles, sur 3 ans. Les résultats de l'expérience furent impressionnants : 64% des filles souhaitaient continuer dans l'informatique !<br />
<br />
Nous pouvons en conclure que l'utilisation des technologies de jeux vidéos adaptées à l'éducation ouvrent les portes d'une nouvelle manière d'enseigner, très prometteuses pour l'avenir.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18801EA2014 Sim3D education2014-10-20T10:44:30Z<p>RICM4-prj14-grp4: /* DEMONSTRATION : AgentCubes */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
Voici les principales comparaisons que nous avons développées précédemment, résumées sous forme de tableau : <br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
== DEMONSTRATION : AgentCubes ==<br />
<br />
Le logiciel AgentCubes développé dans le cadre du projet Scalable Game Design simule l’interaction de la lumière sur les objets, les ombres, les collisions, la caméra virtuelle dans l’espace 3D etc. L’écolier ne s’occupe que de spécifier et définir l’intelligence artificielle des personnages de son jeu.<br />
Il caractérise le comportement de chacun de ses personnages en leur ajoutant des conditions if…then. Pour cela il dispose d’un ensemble de conditions prédéfinies telles que « is selected » ou « once every 1 second »… ainsi qu’un ensemble d’actions telles que « move », « play sound » ou encore « show message »…<br />
<br />
Le projet a été testé sur 10000 écoliers, dont 45% de filles, sur 3 ans. Les résultats de l'expérience furent impressionnants : 64% des filles souhaitaient continuer dans l'informatique !<br />
<br />
Nous pouvons en conclure que l'utilisation des technologies de jeux vidéos adaptées à l'éducation ouvrent les portes d'une nouvelle manière d'enseigner, très prometteuses pour l'avenir.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18800EA2014 Sim3D education2014-10-20T10:44:06Z<p>RICM4-prj14-grp4: /* DEMONSTRATION : AgentCubes */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
Voici les principales comparaisons que nous avons développées précédemment, résumées sous forme de tableau : <br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
== DEMONSTRATION : AgentCubes ==<br />
<br />
Le logiciel AgentCubes développé dans le cadre du projet Scalable Game Design simule l’interaction de la lumière sur les objets, les ombres, les collisions, la caméra virtuelle dans l’espace 3D etc. L’écolier ne s’occupe que de spécifier et définir l’intelligence artificielle des personnages de son jeu.<br />
Il caractérise le comportement de chacun de ses personnages en leur ajoutant des conditions if…then. Pour cela il dispose d’un ensemble de conditions prédéfinies telles que « is selected » ou « once every 1 second »… ainsi qu’un ensemble d’actions telles que « move », « play sound » ou encore « show message »…<br />
<br />
Le projet a été testé sur 10000 écoliers, dont 45% de filles, sur 3 ans. Les résultats de l'expérience furent impressionnants : 64% des filles souhaitaient continuer dans l'informatique !<br />
<br />
Nous pouvons en conclure que l'utilisation des technologies de jeux vidéos, adaptées à l'éducation ouvrent les portes d'une nouvelle manière d'enseigner, très prometteuses pour l'avenir.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18799EA2014 Sim3D education2014-10-20T10:43:53Z<p>RICM4-prj14-grp4: /* Un exemple atypique : le projet Scalable Game Design */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
Voici les principales comparaisons que nous avons développées précédemment, résumées sous forme de tableau : <br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
== DEMONSTRATION : AgentCubes ==<br />
<br />
Le logiciel AgentCubes développé dans le cadre du projet Scalable Game Design simule l’interaction de la lumière sur les objets, les ombres, les collisions, la caméra virtuelle dans l’espace 3D etc. L’écolier ne s’occupe que de spécifier et définir l’intelligence artificielle des personnages de son jeu.<br />
Il caractérise le comportement de chacun de ses personnages en leur ajoutant des conditions if…then. Pour cela il dispose d’un ensemble de conditions prédéfinies telles que « is selected » ou « once every 1 second »… ainsi qu’un ensemble d’actions telles que « move », « play sound » ou encore « show message »…<br />
<br />
Le projet a été testé sur 10000 écoliers, dont45% de filles, sur 3 ans. Les résultats de l'expérience furent impressionnants : 64% des filles souhaitaient continuer dans l'informatique !<br />
<br />
Nous pouvons en conclure que l'utilisation des technologies de jeux vidéos, adaptées à l'éducation ouvrent les portes d'une nouvelle manière d'enseigner, très prometteuses pour l'avenir.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18798EA2014 Sim3D education2014-10-20T10:39:32Z<p>RICM4-prj14-grp4: /* Technologies utilisées */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
Voici les principales comparaisons que nous avons développées précédemment, résumées sous forme de tableau : <br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014&diff=18759EA20142014-10-17T12:40:53Z<p>RICM4-prj14-grp4: /* Séance Ven. 17/10 */</p>
<hr />
<div>[[EA2013|<< Etudes 2013]] [[EA|Sommaire]] [[EA2015|Etudes 2015 >>]]<br />
<br />
<br />
<br />
=Etudes d'approfondissement=<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* UE/Module: EAM (HPRJ9R6B) et EAR (HPRJ9R4B) en RICM5<br />
<br />
L'objectif des études approfondissement est de réaliser un travail de synthèse et d’évaluation sur une technologie / spécification / tendance<br />
<br />
Dans votre futur vie d'ingénieur, vous aurez à d'une part, vous former par vous-même sur une technologie émergente et d'autre part à réaliser une veille technologique (et stratégique) par rapport à votre entreprise et projet.<br />
Il s'agira de réaliser<br />
* le positionnement par rapport au marché<br />
* d'être critique<br />
<br />
Votre synthèse fait l'objet d'une présentation orale convaincante devant un auditoire (dans le futur, vos collègues, vos chefs ou vos clients) avec des transparents et un discours répété.<br />
Pour finir de convaincre (Saint Thomas), vous ferez la présentation d'une démonstration.<br />
<br />
Votre présentation sera noté et commenté par tous vos camarades via un formulaire (téléphone mobile). Leurs notes et leurs commentaires seront notés en fonction de leur exactitude de jugement.<br />
<br />
La présentation peut être réalisée avec [[reveal.js]]<br />
<br />
[[File:presentation-EA-RICM5-1314.pdf|transparents d'introduction à l'UE]]<br />
<br />
[http://imag-moodle.e.ujf-grenoble.fr/course/view.php?id=64 Site Moodle]<br />
<br />
=Planning des séances=<br />
<br />
==Séance Ven. 3/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 19: Flavien Peyre, [[Firefox OS]] (démo d'une app eCOM avec un téléphone ZTE Open C prété, mise en place sur le Marketplace FFOS). [[EA2014FirefoxOS|Fiche de synthèse]] [http://slides.com/darkskull/firefoxos#/ Tranparents]<br />
* 21: Pierre-Henri Ginoux, [[Elastic Search]] ([[Lucene]], Marvel, Kibana, Logstach) Démo: intégration à votre projet [[ECOM-RICM]] [[EA2014_Elastic_Search|Fiche de synthèse]] [[Media:ElasticSearch.pdf|Transparents]]<br />
* Clément VALENTIN, [[Open Data]] : [[OData]], ... ([[Watchdogs We Are Data]]) [[EA2014_Open_Data|Fiche de synthèse]] Tranparents<br />
<br />
==Séance Ven. 10/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 3: FREBY Rodolphe, Protocoles de communication pour l'IoT et le M2M : [[MQTT]], [[XMPP]] IoT, CoAP, [[Adaptive Machine Messaging Protocol (AMMP)|AMMP]] ... : démonstration de [[MQTT]] avec [[Mosquitto]] et [[Node-RED]] et [[CoAP]] avec démonstration de [[Copper]] et [[Californium]] (démo avec [[Arduino Yún]]). [[EA2014ProtforIoT|Fiche de synthèse]]<br />
* 10: El Hadji Malick FALL, [[OS for WSN]] (dont [[Mbed OS]]). Démo de [[TinyOS]] avec le simulateur [[TOSSIM]] [[EA2014_OSforWSN|Fiche de synthèse]]<br />
* 8. Radhoane Ben younes, [[Business Process Management]]. Démonstration de BonitaSoft dans le projet [[eCOM]].<br />
<br />
==Séance Ven. 17/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 5. Paul Labat, [[Speech Recognition]], [[EA2014_speech_recognition | Fiche de synthèse]]<br />
* 15. Patrick Perea, Simulateurs 3D : [[SGD]], [[Anarchy]] ... [[EA2014_Sim3D_education | Fiche de synthèse]] [http://slides.com/patrick91perea/simulateurs3d/live#/ Tranparents]<br />
* 16. William Bobo , GPGPU et Programmation de GPGPU [[EA2014_GPGPU|Fiche de synthèse]] [[https://slides.com/willbobo/gpgpu Transparents]]<br />
<br />
==Séance Ven. 24/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 9: Adam TIAMIOU, [[Smart City]]<br />
* 18. Jérôme BARBIER, Communications longue distance pour l'[[Internet des Choses]] : [[SigFox]], [[LoRa]], ... Démonstration avec les starter kits Semtech et une passerelle Kerlink (disponible à [[FabMSTIC]]).<br />
* 6. Paul Mariage, [[BitCoin]] : principes, vices et vertus<br />
<br />
==Séance Ven. 7/11==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 12. Arthur Clerc-Gherardi, [[Reactive Programming]]<br />
* 11. Adji SAMBE, [[Scalatra]]<br />
* 14. Augustin Husson, Conteneurs Linux ([[LXC]], [[Docker]], [[FreeBSD Jails]], [[OpenVZ]], [[Solaris Zones]] ...) : démonstration de [[Docker]] et de [[Docker OAR Cluster]].<br />
<br />
==Séance Ven. 14/11==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 7: Lionel, BOEY , [[NoSQL]] : [http://en.wikipedia.org/wiki/Shard_%28database_architecture%29 Sharding], [http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP Theoreme de Brewer], MongoDB, GigaSpaces, Cassandra, BigTable/GAE DataStore, ...<br />
* Tiaming GUO, Solutions [[Publish-Subscribe]] : Event Admin, [[ROS]], [[AMQP]] ([[RabbitMQ]] ...), [[MQTT]], [[XMPP]], [[UPnP]] GENA, [[PubNub]], [[PubSubHubbub]], [[Apache Kafka]], Siena ... (?) : démonstration de [[PubNub]] et [[PubSubHubbub]], démonstration du déploiement d'[[Apache Kafka]] sur le cloud [[Azure]]<br />
<br />
<br />
==Sujets non choisis==<br />
# (Complex) [[Event Stream Processing]] : démonstration de [[Apache Storm]] et de [[Spark Streaming]] sur le cloud [[Azure]]. Démo supplémentaire du SaaS [[IFTTT]]<br />
# [[BPM]] : démonstration de l'outil OW2 Bonita sur le processus de suivi des stages (?)<br />
# [[Speech Recognition]]<br />
# Simulateurs 3D : [[SGD]], [[Anarchy]] ...<br />
# [[Software Forensics]] : cas d'étude Linagora vs Bluemind (vous compléterez les pages en et fr de Wikipédia sur ce sujet).<br />
# [[Continuous Delivery]]<br />
# [[Privacy policy guidelines]] : Démo: application à votre projet [[ECOM-RICM]]<br />
# Protocoles, Formats et Plateformes pour le bâtiment intelligent : [[oBIX]], ... démonstration d'[[IoTSys]]</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014&diff=18758EA20142014-10-17T12:40:27Z<p>RICM4-prj14-grp4: /* Séance Ven. 17/10 */</p>
<hr />
<div>[[EA2013|<< Etudes 2013]] [[EA|Sommaire]] [[EA2015|Etudes 2015 >>]]<br />
<br />
<br />
<br />
=Etudes d'approfondissement=<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* UE/Module: EAM (HPRJ9R6B) et EAR (HPRJ9R4B) en RICM5<br />
<br />
L'objectif des études approfondissement est de réaliser un travail de synthèse et d’évaluation sur une technologie / spécification / tendance<br />
<br />
Dans votre futur vie d'ingénieur, vous aurez à d'une part, vous former par vous-même sur une technologie émergente et d'autre part à réaliser une veille technologique (et stratégique) par rapport à votre entreprise et projet.<br />
Il s'agira de réaliser<br />
* le positionnement par rapport au marché<br />
* d'être critique<br />
<br />
Votre synthèse fait l'objet d'une présentation orale convaincante devant un auditoire (dans le futur, vos collègues, vos chefs ou vos clients) avec des transparents et un discours répété.<br />
Pour finir de convaincre (Saint Thomas), vous ferez la présentation d'une démonstration.<br />
<br />
Votre présentation sera noté et commenté par tous vos camarades via un formulaire (téléphone mobile). Leurs notes et leurs commentaires seront notés en fonction de leur exactitude de jugement.<br />
<br />
La présentation peut être réalisée avec [[reveal.js]]<br />
<br />
[[File:presentation-EA-RICM5-1314.pdf|transparents d'introduction à l'UE]]<br />
<br />
[http://imag-moodle.e.ujf-grenoble.fr/course/view.php?id=64 Site Moodle]<br />
<br />
=Planning des séances=<br />
<br />
==Séance Ven. 3/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 19: Flavien Peyre, [[Firefox OS]] (démo d'une app eCOM avec un téléphone ZTE Open C prété, mise en place sur le Marketplace FFOS). [[EA2014FirefoxOS|Fiche de synthèse]] [http://slides.com/darkskull/firefoxos#/ Tranparents]<br />
* 21: Pierre-Henri Ginoux, [[Elastic Search]] ([[Lucene]], Marvel, Kibana, Logstach) Démo: intégration à votre projet [[ECOM-RICM]] [[EA2014_Elastic_Search|Fiche de synthèse]] [[Media:ElasticSearch.pdf|Transparents]]<br />
* Clément VALENTIN, [[Open Data]] : [[OData]], ... ([[Watchdogs We Are Data]]) [[EA2014_Open_Data|Fiche de synthèse]] Tranparents<br />
<br />
==Séance Ven. 10/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 3: FREBY Rodolphe, Protocoles de communication pour l'IoT et le M2M : [[MQTT]], [[XMPP]] IoT, CoAP, [[Adaptive Machine Messaging Protocol (AMMP)|AMMP]] ... : démonstration de [[MQTT]] avec [[Mosquitto]] et [[Node-RED]] et [[CoAP]] avec démonstration de [[Copper]] et [[Californium]] (démo avec [[Arduino Yún]]). [[EA2014ProtforIoT|Fiche de synthèse]]<br />
* 10: El Hadji Malick FALL, [[OS for WSN]] (dont [[Mbed OS]]). Démo de [[TinyOS]] avec le simulateur [[TOSSIM]] [[EA2014_OSforWSN|Fiche de synthèse]]<br />
* 8. Radhoane Ben younes, [[Business Process Management]]. Démonstration de BonitaSoft dans le projet [[eCOM]].<br />
<br />
==Séance Ven. 17/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 5. Paul Labat, [[Speech Recognition]], [[EA2014_speech_recognition | Fiche de synthèse]]<br />
* 15. Patrick Perea, Simulateurs 3D : [[SGD]], [[Anarchy]] ... [[EA2014_Sim3D_education | Fiche de synthèse]] [slides.com/patrick91perea/simulateurs3d/live#/ Tranparents]<br />
* 16. William Bobo , GPGPU et Programmation de GPGPU [[EA2014_GPGPU|Fiche de synthèse]] [[https://slides.com/willbobo/gpgpu Transparents]]<br />
<br />
==Séance Ven. 24/10==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 9: Adam TIAMIOU, [[Smart City]]<br />
* 18. Jérôme BARBIER, Communications longue distance pour l'[[Internet des Choses]] : [[SigFox]], [[LoRa]], ... Démonstration avec les starter kits Semtech et une passerelle Kerlink (disponible à [[FabMSTIC]]).<br />
* 6. Paul Mariage, [[BitCoin]] : principes, vices et vertus<br />
<br />
==Séance Ven. 7/11==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 12. Arthur Clerc-Gherardi, [[Reactive Programming]]<br />
* 11. Adji SAMBE, [[Scalatra]]<br />
* 14. Augustin Husson, Conteneurs Linux ([[LXC]], [[Docker]], [[FreeBSD Jails]], [[OpenVZ]], [[Solaris Zones]] ...) : démonstration de [[Docker]] et de [[Docker OAR Cluster]].<br />
<br />
==Séance Ven. 14/11==<br />
* Enseignants: Georges-Pierre Bonneau, Didier Donsez<br />
* 7: Lionel, BOEY , [[NoSQL]] : [http://en.wikipedia.org/wiki/Shard_%28database_architecture%29 Sharding], [http://fr.wikipedia.org/wiki/Th%C3%A9or%C3%A8me_CAP Theoreme de Brewer], MongoDB, GigaSpaces, Cassandra, BigTable/GAE DataStore, ...<br />
* Tiaming GUO, Solutions [[Publish-Subscribe]] : Event Admin, [[ROS]], [[AMQP]] ([[RabbitMQ]] ...), [[MQTT]], [[XMPP]], [[UPnP]] GENA, [[PubNub]], [[PubSubHubbub]], [[Apache Kafka]], Siena ... (?) : démonstration de [[PubNub]] et [[PubSubHubbub]], démonstration du déploiement d'[[Apache Kafka]] sur le cloud [[Azure]]<br />
<br />
<br />
==Sujets non choisis==<br />
# (Complex) [[Event Stream Processing]] : démonstration de [[Apache Storm]] et de [[Spark Streaming]] sur le cloud [[Azure]]. Démo supplémentaire du SaaS [[IFTTT]]<br />
# [[BPM]] : démonstration de l'outil OW2 Bonita sur le processus de suivi des stages (?)<br />
# [[Speech Recognition]]<br />
# Simulateurs 3D : [[SGD]], [[Anarchy]] ...<br />
# [[Software Forensics]] : cas d'étude Linagora vs Bluemind (vous compléterez les pages en et fr de Wikipédia sur ce sujet).<br />
# [[Continuous Delivery]]<br />
# [[Privacy policy guidelines]] : Démo: application à votre projet [[ECOM-RICM]]<br />
# Protocoles, Formats et Plateformes pour le bâtiment intelligent : [[oBIX]], ... démonstration d'[[IoTSys]]</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18744EA2014 Sim3D education2014-10-17T11:13:48Z<p>RICM4-prj14-grp4: /* Notes et références */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18743EA2014 Sim3D education2014-10-17T11:13:14Z<p>RICM4-prj14-grp4: /* Notes et références */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons<br />
<br />
- http://unity3d.com<br />
<br />
- http://www.unrealengine.com<br />
<br />
- http://www.projectanarchy.com<br />
<br />
- http://www.ambientinsight.com<br />
<br />
- http://videogames.procon.org</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18727EA2014 Sim3D education2014-10-17T10:35:01Z<p>RICM4-prj14-grp4: /* Notes et références */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
- http://www.developereconomics.com/top-game-development-tools-pros-cons/<br />
<br />
- http://unity3d.com<br />
<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18726EA2014 Sim3D education2014-10-17T10:30:23Z<p>RICM4-prj14-grp4: </p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
- [http://www.developereconomics.com/top-game-development-tools-pros-cons/]<br />
- [http://unity3d.com]<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18690EA2014 Sim3D education2014-10-16T21:02:14Z<p>RICM4-prj14-grp4: /* Technologies utilisées */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|700px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18689EA2014 Sim3D education2014-10-16T21:01:54Z<p>RICM4-prj14-grp4: /* Technologies utilisées */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|800px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=File:EA2014_Sim3D_comparaison.png&diff=18688File:EA2014 Sim3D comparaison.png2014-10-16T21:01:30Z<p>RICM4-prj14-grp4: </p>
<hr />
<div></div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18687EA2014 Sim3D education2014-10-16T21:01:09Z<p>RICM4-prj14-grp4: /* Technologies utilisées */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
[[File:EA2014_Sim3D_comparaison.png|center|thumb|500px]]<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18686EA2014 Sim3D education2014-10-16T20:59:59Z<p>RICM4-prj14-grp4: </p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
== Introduction ==<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18685EA2014 Sim3D education2014-10-16T20:58:22Z<p>RICM4-prj14-grp4: /* CliniSpace */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|center|thumb|500px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=File:EA2014_Sim3D_SGD.png&diff=18684File:EA2014 Sim3D SGD.png2014-10-16T20:57:27Z<p>RICM4-prj14-grp4: </p>
<hr />
<div></div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=File:EA2014_Sim3D_CliniSpace.png&diff=18683File:EA2014 Sim3D CliniSpace.png2014-10-16T20:56:59Z<p>RICM4-prj14-grp4: </p>
<hr />
<div></div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18682EA2014 Sim3D education2014-10-16T20:56:40Z<p>RICM4-prj14-grp4: /* Synthèse */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.png|right|thumb|150px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
[[File:EA2014_Sim3D_SGD.png|right|thumb|200px]]<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18681EA2014 Sim3D education2014-10-16T20:54:16Z<p>RICM4-prj14-grp4: </p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
== Mots Clés ==<br />
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes<br />
<br />
= Synthèse =<br />
<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.jpg|right|thumb|150px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18680EA2014 Sim3D education2014-10-16T20:41:59Z<p>RICM4-prj14-grp4: /* Etude de marché */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
= Résumé =<br />
-<br />
<br />
== Mots Clés ==<br />
-<br />
<br />
= Abstract =<br />
-<br />
== Key Words ==<br />
-<br />
<br />
= Synthèse =<br />
<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|200px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.jpg|right|thumb|150px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=EA2014_Sim3D_education&diff=18679EA2014 Sim3D education2014-10-16T20:41:48Z<p>RICM4-prj14-grp4: /* Etude de marché */</p>
<hr />
<div>= Présentation =<br />
<br />
* Enseignants : Georges-Pierre Bonneau, Didier Donsez ([[EA2014]])<br />
* Sujet : Simulateurs 3D pour l'éducation<br />
* Date : 17 octobre 2014<br />
* Auteur : Patrick PEREA<br />
<br />
= Résumé =<br />
-<br />
<br />
== Mots Clés ==<br />
-<br />
<br />
= Abstract =<br />
-<br />
== Key Words ==<br />
-<br />
<br />
= Synthèse =<br />
<br />
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse.<br />
Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :<br />
<br />
- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues) <br />
<br />
[[File:EA2014_Sim3D_DAT.gif|center|thumb|500px]]<br />
<br />
- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.<br />
<br />
- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple. <br />
<br />
Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.<br />
<br />
== Motivations ==<br />
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.<br />
<br />
Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique. <br />
<br />
L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.<br />
<br />
== Etude de marché ==<br />
<br />
[[File:EA2014_Sim3D_etudeM.png|right|thumb|100px]]<br />
<br />
On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.<br />
<br />
Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.<br />
<br />
== Technologies utilisées ==<br />
<br />
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement.<br />
Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.<br />
<br />
'''Unity 3D'''<br />
[[File:EA2014_Sim3D_Unity.png|right|thumb|300px]]<br />
Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.<br />
<br />
Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.<br />
<br />
Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.<br />
<br />
'''Unreal Engine'''<br />
[[File:EA2014_Sim3D_Unreal.png|right|thumb|150px]]<br />
Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage. <br />
<br />
Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.<br />
<br />
En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.<br />
<br />
HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013. <br />
<br />
'''Project Anarchy'''<br />
[[File:EA2014_Sim3D_PAnarchy.png|right|thumb|150px]]<br />
Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.<br />
<br />
Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.<br />
<br />
Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.<br />
<br />
== CliniSpace ==<br />
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.<br />
<br />
[[File:EA2014_Sim3D_CliniSpace.jpg|right|thumb|150px]]<br />
<br />
== Un exemple atypique : le projet Scalable Game Design ==<br />
<br />
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.<br />
<br />
L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. <br />
<br />
A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.<br />
<br />
= Notes et références =<br />
-</div>RICM4-prj14-grp4https://air.imag.fr/index.php?title=File:EA2014_Sim3D_etudeM.png&diff=18678File:EA2014 Sim3D etudeM.png2014-10-16T20:41:29Z<p>RICM4-prj14-grp4: </p>
<hr />
<div></div>RICM4-prj14-grp4