I have some experience with improving posture.
The problem is that most people do more horizontal pushing movements(bench press), then they do horizontal pulling movements(rows). This creates an imbalance and weak Scapulae muscles.
I have improved my posture significantly in physiotherapy with these exercises:
Pec Stretch: Bend your arms at 90 degree and and take a few steps forward.
Cable rows: VERY LIGHT WEIGHTS. I usually do 125lbs for 8-10 reps on these but for posture I used 50lbs for 15 reps. Make sure your form is perfect and that you squeeze your shoulder blades together.
Arm extensions: Use a light cable stack and the piece of equipment you use for cable crossovers, one arm at a time. Opposing foot in the front, shoulders back, chest up, and elbow straight bring your arm as far back as you can.
Make sure that you do as many horizontal pushing movements as you do horizontal pulling movements. Same intensity, same number of sets.