Well you have yet to say how you approach the opposite sex. You need to stop worrying about how the rest of the world is and just work for yourself now. If you want a relationship then build up some confidence and start talking to girls. I didn't start my first relationship until a month before I turned 20. Yes it bothered me for a awhile, so I started trying. And at the start it didn't work and I got down some, but I realized the only one who can do anything about it was me. So I kept trying, and the more I tried the more I realized how being in a relationship wasn't really all that important to me, so I started to not worry about it. And once I stopped worrying about what I was "missing" and how I was perceived.. I met her. Because I stopped worrying about it I was more confident, I let my good qualities shine to the world.
Fast forward: Now I've been in a wonderful relationship for over a year and everything is good. I realized the only thing holding me back was me, but honestly I was glad I didn't find anyone, because well... I'm in an amazing relationship now and well anything different in my past could have changed what I have now and there is nothing I would do to let that happen.
Stop worrying about being with someone, get to know yourself first and be happy with who you are... the confidence will show (everyone wants a partner who is confident with themselves... it's attractive) and your good qualities will show. Just be happy with who you are and you will find yours where you least expect it.