I'm using standard notation (reviewed here) where uppercase letters are for the outside layers, and lowercase are for the inner layers. I'm using your picture to denote the white face as up, and the green face as front.
If we do something like $(r b' r' b)$ we move $6$ centers, one from each side to a different side, in $2$ different $3$-cycles. Let's call this $X = (r b' r' b)$.
If instead we move the top a quarter turn, do $X$, move the top back a quarter turn, then undo $X$, the net result is a $3$-cycle of centers on the top and front faces in certain positions. Let's call this $Y = (U X U' X')$
We now need to use setup moves $(lF^2U')$ to get the pieces we want to move into the positions that $Y$ actually moves, then we do $Y$, then we undo our setup moves $(UF^2l')$.
All together we get $(lF^2U'YUF^2l')$.
If we write this all out, we get our final algorithm, which simplifies slightly due to a cancellation between $Y$ and our initial setup move.
$(lF^2rb'r'bU'b'rbr'UF^2l')$