There are a few statements you made that need to be addressed first and foremost.
"I have (chosen) to stay with my boyfriend.."
"I still feel betrayed and (will never forget) the humilation"
"I (love him too much) to let him go..."
"How do I forget completely and just move on ...."
Essentially you are saying you're going to stay with this guy no matter what because you love him too much. You want to find a way to "pretend" that something never happened.
A mature person does not ignore the past but rather they choose to learn from it.
Anyone with a measure of self-esteem has "deal breakrs" or things they will not put up with from anyone. And yet you say, "I love him too much" (to ever leave him)
What you're really saying is you don't love yourself enough!
Had things been in reverse do you believe your boyfriend would be looking for a way to stay with you? To forget what you did?
You deserve to be with a man who won't betray or humilate you. In your question you don't mention if your man "asked for forgiveness" or has made efforts to reassure you that it will never happen again. Instead you say (he was unhappy) with you for not being (your usually happy self). At any rate his behavior doesn't exactly indicate serious contrition.
Since you have already decided you're not going to end the relationship I won't bother to tell you to move on. However I think one of my hubs may give you some insight to your "loving him too much."
As for forgeting what someone has done you first must find a way to trust them again. You do this by (choosing) to see only the good things they do and focusing on your future together.
Note: The reason why people have such a difficult time "forgiving" is because a part of them believes if they do so it's the same thing as giving the person "a free pass". Forgiveness is not about the other person. You forgive for your own sake so that you can move forward with your life.
Best of luck!