This strange fellow is a Balloonfish (Diodon holocanthus), one of several species of Porcupinefishes.  Note the very long spines on top of his head and the absence of spots on his fins, two of the distinguishing marks of this species.  If molested, they swallow water and inflate themselves; hence, the name "Balloonfish".  Another common name for this fish is "Spiny Puffer".