I'm looking for a programmer experienced in rendering 3D objects for which this will be a piece of cake. This project involves Linux, C++ and any 3D library you wish.
Basically, I need a library that generates 3D images of the human hand, along with the depth and coordinates of the joints. Below you will find the full description of the project.
I should be able to specify parameters such as:
* dimensions of image (i.e. 320x240)
* hand position - the coordinates in millimieters of the center of the hand, lets say the center of the palm (i.e. x=0, y=0, z=1000 one meter away from the camera). The camera is at (0,0,0) at is looking towards (0,0,1);
* hand orientation - Euler angles or pitch yaw roll (i.e. 30' by 0' by 90')
* hand texture file - although I do not have any textures yet (i.e. [url removed, login to view])
* hand pose parameters - joint bend, side-to-side movement of the fingers wrist bend
* hand shape parameters - I would like a way to make the hand look different: fingers longer/shorter, fatter/slimer. One way is to supply parameters for each of these, the other is to supply different models for man/woman, child/adult, fat/skinny.
Then after calling a RENDER function, I should be able to get these three structures:
* a color image representing the rendering of the hand with the selected texture in white normal ambient light. I want the colors of the texture to match exactly the colors in the image. Also the background should be black.
* a depth image: gray scale image that expresses the distance, in millimeters to all pixels in the image.
* the set of 3D coordinates of all the joints of the hand: finger joints, knucles, wrist, end of arm segment and center of palm, even if it's not technically a joint
To illustrate, I should be able to something like this in C++:
// instantiate the class
HR = new HandRender();
// set parameters, I should be able to set each parameter individually
// also individual functions would be useful, such as [url removed, login to view](320, 240)
for (int i=0; i < num_params; i++)
[url removed, login to view](parameter_name[i], parameter_value[i]);
// render the thing and keep the data in memory
[url removed, login to view]();
// retrieve the important data
color = [url removed, login to view]();
depth = [url removed, login to view]();
coordinates = [url removed, login to view]();
You should supply a model and a texture of the hand. It can be a free model available on the internet. The model should also have a little bit of arm beyond the wrist. For example like this: [url removed, login to view]
It's very important to make this program work as efficiently as possible. One optimization would be to clip the returned images (depth and color) to eliminate useless black background. So only the rectangle that encompasses the hand is needed. In this case a function should also return the coordinates, in the returned images of the (0,0) point.
Also extremely important is the speed. Please give details on how fast you could make it work, in frames per second at 320x240 at 1 meter distance. And how you could achieve this.
Finally you should deliver a library and a simple program that demonstrates the program's capabilities. The code should be compilable on a standard Ubuntu system. It should be extremely easy to install. Also the library code should be readable.
The 3D library you chose can be anything, even open source.
For extra credit, you could add an option for two hands to be rendered.
Also I don't know if/how it is possible, but if you can do GPU acceleration for this, please also talk about this.
Looking to make some money?
- Set your budget and the time frame
- Outline your proposal
- Get paid for your work
Bids on this Project
We are Modeo Media, a vibrant and interactive media agency that specializes in creating fun yet compelling promotional videos. Our team is composed of highly qualified and innovative writers, illustrators, animators and composers. Modeo Media was established for a reason. With a passion for startups and promoting businesses, our objective is to helpcompanies attract targeted customers, effectively promote products and services and increase their profit. All this we can achieve while putting the “fun factor” in every video. Our beliefs are simple. Our values keep us strong. With a wealth of knowledge in animation, graphic design, illustration, voice production, advertising and marketing, our vision is clear. We are the Global Standard in delivering promotional video services tailored to the unique needs of our clients. To be recognized across the world as pioneers in promo media services which produce superior Return on Investment. We have the burning drive to make things better. We honor our commitments and strive for the utmost quality. We engage, motivate and work effectively with others. Recognizing and rewarding superior performance is one of our best practices. We involve a good measure of learning by doing. We sail into uncharted waters with a high level of tolerance for ambiguity. Exceeding a client’s expectations is a milestone we are proud of achieving. We celebrate and embrace each long term business relationship brought out by our wealth of experience and expertise.
I am a IT worker in Beijing. Glad to do developing work in my area.
Embedded system developer My team leads new frontiers on the Android/iOS world. We are experts in multi-platform programming using QT solution developer and system administrator.