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. 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 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. 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.m which calles 3 subscripts: Initialize, GenerateDistanceRatioFile and TestAll_MV_fromFile. A very important parameter "r" defining the sliding window size is also set here. Generally speaking, Initialize.m will initialize the environment, train the classifier and save the training results in files. Then GenerateDistanceRatioFile.m will calculate the distance map according to the weights learned before 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.m Initialize the environment and start learning process Learning_MV.m main script for learning IRELIEF.m I-relief feature weighting algorithm GenerateDistanceRatioFile.m main script for generating the distance ratio map from the given images. GetMask_Dist_Ratio.cpp codes in C++ for calculating the distance ratio for one specific image. We wrote it in C++ for higher speed. Please type "mex GetMask_Dist_Ratio.cpp" in matlab to generate GetMask_Dist_Ratio.dll which can be called in matlab directly. 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.