Fine details are outright lost comparing something 480p to 1080p. 1080p (1920x1080) is 6x the pixels of 480p (720x480). And it's a bigger jump if you're using 640x480 as a reference point.
A really good algorithm might be able to do some really good anti-aliasing, but there's no way for it to take something from 480p and make it look like a 1080p source.
The 480p upconversion process has to take each and every single pixel on the screen, and some how spit out 6 pixels in place of it. Fine details can't be extracted out of that. A lot of details like sand, gravel, small text, pours on a face, etc simply can't be regained in the upconversion process.
If an algorithm were designed to detect a face, and reconstruct the face with pours and fine hair etc, the reconstruction may look good, but it will not match the original because it's using its own programming to reconstruct something and not the source.
If the comparison is cell shaded 480p to 1080p, then I reckon there'd be pretty minimal difference between the 480p upconverted to 1080p, and a 1080p source, but that's just the nature of cell shaded material (cartoony material).
When I've encoded cartoony material, I've always found I've been able to get away with significantly less resolution and still be satisfied with the result.