Pytorch Implementation of Unsupervised Learning of Object Landmarks through Conditional Image Generation and Unsupervised Learning of Object Keypoints for Perception and Control for landmarks generation from images with unsupervised learning.
-
PointNet in Unsupervised Learning of Object Landmarks through Conditional Image Generation:
python pointnet.py --train/test
-
Transporter in Unsupervised Learning of Object Keypoints for Perception and Control:
python transporter.py --train/test
-
Transporter for RL in Unsupervised Learning of Object Keypoints for Perception and Control, using soft actor-critic (SAC) instead of neural fitted Q-iteration (NFQ):
python transporter_sac.py
for training a reinforcement learning algorithm SAC with landmarks coordinates extracted by the Transporter.
On the test dateset with screenshot of Reacher environment.
- PointNet
Source image:
Source iamge with landmarks (red rectangles):
Target image:
Generated target image with landmarks (same as on source image):
- Transporter:
Source image:
Source iamge with landmarks (red rectangles):
Target image:
Generated target image with landmarks (same as on source image):
- Transporter for RL:
Some RL training curves with Transporter:
Experiments show that, with the landmarks extraced from the pre-trained Transporter as observation, RL algorithms like SAC can learn a relatively good policy (near optimal, but shaking around it) very quickly, but not the optimal policy. However, as the landmark positions from the Transporter are not very accurately describing the structure of the agent (e.g. joints of the 'reacher'), it cannot learn a very good policy in the end no matter the Transporter is keep being trained or not during the RL learning process.