People's perceptions of most occupations come directly from personal experience. That is why everyone knows what a teacher does. Most can relate to a doctor, but the when asked what a certain type of doctor does, (say a Otorhinolaryngologist) most either don't know or respond, "Uh, they take care of sick people?"
Perceptions also come from the media. There are scores of TV shows on teachers, doctors, lawyers, and cops, but I don't recall ever seeing one on engineers (except on TLC or the Discovery channel). Not that I think there should be one. Engineering is not exactly a profession one would enjoy seeing as a mini-series... it's not really an occupation you can sensationalize.
I think the solution to the problem lies in education. Most people either don't understand or care about engineering because they don't see it having an immediate impact on their everyday life. All they know is that the city requires an engineer to sign off on the deck the want to build.
A good way to raise interest in the profession is to target children. At the engineering school I went to, we had an "engineering expo" every year. At expo, all the departments set up stations with demonstrations or experiments to show what an engineer does. Kids from grade school to high school were invited and toured from classroom to classroom learning about the different engineering disciplines.
Though this may help future generations, one has to realize that most people (adults) lead busy lives and don't have the time or interest required to understand how their entire way of life is facilitated by engineers.
Regards,
jproj