This paper presents a novel approach to detect persons in video by combining optical flow based motion analysis and silhouette based recognition. A new fast optical flow computation method is described, and its application in a motion based analysis framework unifying human tracking and detection is outlined. Our optical flow algorithm represents optical flow by grid based motion vectors, which are computed very efficiently and robustly applying template matching. We model the motion patterns of the tracked human and non-human objects by the positions, velocities, motion magnitudes, and motion directions of their optical flow vectors, and build a random forest on these features. For recognition, the random forest computes a normalized score measuring the similarity of a track to a human track. Using edge detection on a motion image for each motion blob its silhouette is computed. Recognition scores are computed, which measure the similarity of the silhouettes with human silhouettes. The optical flow classifier and the silhouette classifier are used as a combined classifier. We analyze the ROC curve to set different decision thresholds on the recognition score for different scenarios. The experiments on the VIRAT test set demonstrate that for human detection the combination of the optical flow based motion method with one based on human silhouette analysis, obtains superior results, compared to the constituent methods.