I know in a portrait photo we use distance between camera and the subject in such a way as to create a pleasing and hopefully natural-looking perspective. I think it's good on 1 ~ 1.5 meter to get a best portrait photo.
I'm computer engineer and have a constraint in distance. The person (subject) and camera should be at 50 cm distance.
Is there any camera or lens or any hardware filter that I can use to get a best portrait (head-shot) and prevent perspective distortion with this distance limitation?
Update 1: this is my figure captured but I think all of them is not good as well (perspective distorted):
Classic standards have always been more like 2 meters Minimum distance for portraits. 3 meters is common in professional studios, for even better perspective. Too little distance (like 1 meter) will exaggerate and enlarge closer features like noses. This distortion will not please the subjects.
The standard notions are the 105 mm lens is good for head and shoulders portraits on full frame 35 mm film, simply because the field of view will demand and force the proper minimum distance for good perspective. And for example, a crop factor 1.5 camera would use the equivalent 105/1.5 = 70 mm equivalent focal length for proper perspective. The distance will be the same either way.
Perspective is NOT about the lens. Perspective is ONLY about the distance, i.e., where the camera stands, and the view it necessarily sees from there. If you want to improve perspective, you must change where you stand. The chosen lens might change where you must stand (for the desired field of view), but the perspective result is only about where you stand.
So stand back some. Zoom in all you want for the view you want, but stand back some if you want proper portrait perspective. Any kind of proper planning will include standing at the necessary distance. Perspective is the view seen standing at that distance.
There is no hardware solution, short of some crazy* arrangement of mirrors to extend the actual optical distance. That's because perspective distortion solely related to distance, but there might be a software one, if you're able to throw a computer at the problem and able to accept some limitations.
For a computational approach, see this paper: Perspective-aware Manipulation of Portrait Photos (pdf link) — the basic idea is that you build a 3D model of the head and then use that to distort the image to match a photograph taken from a different distance. Unlike many computer graphics or computational photography papers, this one is quite readable by the layperson (e.g. me), although I admit to glossing over the actual hard part about the tensor model.
This solution uses a single image; I'm not sure if that's part of your constraint. Having more information for doing this kind of sorcery in software is one of the uses for multiple simultaneous cameras — think some of the new smartphones.
* If you're got a fixed location, it doesn't actually have to be so crazy. Place a large mirror pointing up at a 45° angle against the wall. Mount your camera near the ceiling. Keep the mirror clean!