My Latin teacher has said that osculum is the diminutive of os, describing the way one puckers one's mouth when kissing, and that the -culus ending is a diminutive. So what is oculus a diminutive of?
According to Sihler, New comparative grammar of Greek and Latin, the PIE root is *H3ekw, 'see'; according to OLD, the (theoretical) original Latin form is *oquelos. Presumably, the (u)lus that looks like a diminutive suffix is actually one of the suffixes that are added to verb roots and used to indicate instrument/means (Gildersleeve and Lodge, Latin grammar §181.6). Therefore, an oculus is 'a means of seeing' (cf. capulus, 'handle' [literally, 'a means of taking hold'], cingulum, 'girdle' [literally, 'a means of encircling']).
Indo-European *ekʷ (or h³ekʷ) is the source of the word for “eye” in many IE languages (possibly including English, though this is debated). The /l/ suffix is found only in Latin, so it is certainly possible that the Latin form is a diminutive. In this case, ocellus “little eye” would be doubly diminutive, like the words discussed here: Can there be double diminutives in Latin?