Detecting unstable periodic orbits (UPOs) from chaotic dynamic systems is a challenging problem. For a large number of complex systems, we can collect some experimental time series data but cannot find theoretical models to describe them. Thus, detecting unstable periodic orbits from experimental data can help us understand the chaotic properties of physical phenomenon without using theoretical models. We, in this paper, first use the dynamical transformation (DT) algorithm to detect unstable periodic orbits from chaotic systems, and find that the original DT algorithm can detect the UPOs from the time series of chaotic discrete map, but it is infeasible for the time series from continuous chaotic flow. In this regard, we then propose an improved DT algorithm that is based on the Poincare section method to detect the UPOs from continuous chaotic flow. In particular, we transform the continuous flow data into discrete map time series in terms of Poincare section, and then detect unstable periodic orbits from the transformed discrete map time series. In addition, we take Rössler and Lorenz chaotic systems as examples to demonstrate the effectiveness of our proposed method.