Description: Given some VHF SAR ground surveillance images as input, this program will first train the classifier through learning on labeled targets and then automatically detect the objects matching the labeled targets. It uses features that are invariant to rotations. Functionality: This program takes small number of labeled target images as training data to train a maximum-margin classifier. Then, it will try to detect objects, with possible different rotations in new images using the trained classifier. It also take multiple images taken on the same scene at different time to suppress the static background and emphasis the moving objects through differencing and diversity combining. The performance is improved with multiple shoots. How it works: Since this program was tested on the VHF SAR challenge dataset, all the settings are based on that dataset. But it can be easily modified to work for other datasets. The data should be stored in folders named as Mission2, Mission3, Mission4, Mission5 which means images from different target deployments and rotations. In each folder, different image shoots of the same scene are stored as pass1 through pass6. Another folder named target_lists contains 4 txt files specifying the specific target locations and target type for each deployment. The main script is MyRun_Rotation.m which calles 3 subscripts: Initialize_Rotation, GenerateDistanceRatioFile_Rotation and TestAll_MV_fromFile. A very important parameter "r" defining the sliding window size is also set here. Generally speaking, Initialize_Rotation.m will initialize the environment, train the classifier with rotation invariant features and save the training results in files. Then GenerateDistanceRatioFile_Rotation.m will calculate the distance map according to the weights learned before and the same rotation invariant features and save then into files. Finally, TestAll_MV_fromFile.m will use the saved distance map file and the trained classifier to detect the targets, save the target images into Output folder and estimate the detection rates. File list: MyRun.m main script Initialize_Rotation.m Initialize the environment and start learning process. Learning_RotationTrans.m main script for learning based on ratation invariant features ( radon and Fourier transforms) IRELIEF.m I-relief feature weighting algorithm GenerateDistanceRatioFile_Rotation.m main script for generating the distance ratio map from the given images. GetDR_Rotation.m calculating the distance ratio for one specific image. TestAll_MV_fromFile.m main script for detecting targets using the trained classifier and saved distance files Testing_fromFile.m testing script for one image Following files comes with the VHF SAR dataset. VHF_get_image_info.m Returns image size and coordinate info VHF_read_image.m Reads an image stored as IEEE floating point with big-endian byte ordering. VHF_read_target_list.m Reads a target list (ground truth) and returns a structure with info for each target in the list.