My boy did this, and a couple of times he did it on people, backwards, to the extent that I thought he would break their nose (luckily, he didn't).
There are two schools of thought - one, is that you just remove him from the situation which makes him headbang ,eg change high chair, as you are doing, but first check it isn't because he has a headache (my boy was non verbal, so the only way I cculd check was by giving him calpol, then seeing an hour later whether he headbanged in same situation or whether it made him better).
The second school of thought, which is mine, is that at 15 months you can still change his habitual behaviours, and you should therefore gently but firmly physically stop him every single time he headbangss, with a firm "no". I mean literally every time, consistency being the key. Even if you have to hold his head for 20 mins, with him wailing to let him headbang. Eventually, it becomes so annoying to him that you are spoiling whatever feedback he is getting from headbanging, that he works out the behaviour isn't worth pursuing any more as it gets him the same, irritating result each time.
I did have some heated debates with my boy's ABA tutors, who at some stages said I should ignore the headbanging as it was possibly just attention-seeking. But having seen him bang his head once on a concrete floor, I wasn't going to let it continue and didn't got for the ignoring idea.
My advice, fwiw, is tackle it now, tackle it hard, even if stopping it every time drives you insane for a few weeks. It will be WELL worth it in the end. My boy doesn't head bang any more. Good luck!