def main(): # print "generate_distribution_csv_files" directory_path_list = [ # "./clustering_results/k_means/complete_video/", # "./clustering_results/k_means/video/", # "./clustering_results/k_means/shot/", # "./clustering_results/birch/complete_video/", # "./clustering_results/birch/video/", # "./clustering_results/db_scan/complete_video/", # "./clustering_results/db_scan/video/", # "./clustering_results/mean_shift/complete_video/", # "./clustering_results/mean_shift/video/", "./clustering_results/k-medoid/shot/" ] clear("./evaluation_results") for directory_path in directory_path_list: evaluation_manager = EvaluationManager(directory_path) clustering_results_file_name_list = utl.get_file_name_list(directory_path) for file_name in clustering_results_file_name_list: if file_name != "merged-with-features" \ and file_name != "cluster-per-category" \ and file_name != "category-per-cluster": print ("generating " + file_name) evaluation_manager.generate_distribution_files(file_name) evaluation_manager.generate_precision_files(file_name) print ("---------------------------------------------------------------") evaluation_manager.generate_mean_average_precision_files() evaluation_manager.generate_accuracy_files() print "--------------------------------------------------------------"
def add_category_to_test_data(): video_with_category_dictionary = get_video_with_category_dictionary("category_with_video.csv") test_directory_path = "C:/code/features/input/structure_analysis/test/" for i in range(1, 5): directory = test_directory_path + str(i) + "/" file_name_list = utility.get_file_name_list(directory) iteration = 1 max_value = len(file_name_list) print "" print "normalizing " + directory for file_name in file_name_list: input_path = directory + file_name output_path = test_directory_path + "normalized/" + str(i) + "/" + file_name add_category_to_xml(input_path, output_path, file_name, video_with_category_dictionary) utility.print_progress_bar(iteration, max_value) iteration += 1
def generate_complete_video_merged_files_normalized(): features_file_path = "./features/normalized_complete_video_features.csv" clustering_results_file_path = "./clustering_results/k_means/complete_video/normalized-intra-inter/" output_file_path = "./mean-average-precision/k_means/complete_video/normalized-intra-inter/merged-with-features/" clustering_results_file_name_list = utl.get_file_name_list( clustering_results_file_path) for clustering_result_file_name in clustering_results_file_name_list: if clustering_result_file_name != "merged-with-features": print("generating " + clustering_result_file_name) merge_features_with_clustering_results_normalized( features_file_path, clustering_results_file_path + clustering_result_file_name, output_file_path + clustering_result_file_name) print( "---------------------------------------------------------------" )
def __generate_mean_average_precision_category_per_cluster_csv(self): print "generate_mean_average_precision_category_per_cluster_csv..." precision_category_per_cluster_directory = self.__input_directory_path.replace("clustering_results", "evaluation_results") \ + "precision_category_per_cluster/" file_name_list = utl.get_file_name_list(precision_category_per_cluster_directory) accuracy_list = {} max_value = len(file_name_list) for file_name in file_name_list: key = file_name.replace(".csv", "") \ .replace("_k_means", "") \ .replace("_birch", "") \ .replace("_mean_shift", "") \ .replace("_db_scan", "").replace("k_medoids_results_", "") category_per_cluster_csv = precision_category_per_cluster_directory + file_name accuracy_list[int(key)] = EvaluationManager.__get_mean_average_precision(category_per_cluster_csv) output_path = precision_category_per_cluster_directory.replace("precision_category_per_cluster/", "") with open(output_path + "mean_average_precision_category_per_cluster.csv", 'wb') as f: the_writer = csv.writer(f) headers = [ "file_name", "map", ] the_writer.writerow(headers) iteration = 1 accuracy_list = collections.OrderedDict( sorted(accuracy_list.items())) for key, accuracy in accuracy_list.iteritems(): vector = [key, accuracy] the_writer.writerow(vector) utl.print_progress_bar(iteration, max_value) iteration += 1 f.close() print("") print("csv file has been created successfully")
f_name = f_name.replace(substring_to_remove, "") return f_name def rename_file(directory, old_name, new_name): old_file = os.path.join(directory, old_name) new_file = os.path.join(directory, new_name) os.rename(directory + str(old_name), directory + str(new_name)) # for folder in folders: # # print ("rename: " + folder) # # file_name_list = utility.get_file_name_list(folder) # for old_name in file_name_list: # print ("old name: " + old_name) # new_name = rename(str(old_name)) # print ("new name: " + new_name) # rename_file(folder, old_name, new_name) # print "-----------------------------------------" folder = "./" file_name_list = utility.get_file_name_list(folder) for old_name in file_name_list: print ("old name: " + old_name) new_name = rename(str(old_name)) print ("new name: " + new_name) rename_file(folder, old_name, new_name) print "-----------------------------------------"
import utility import csv from feature_manager import FeatureManager directory_path = "C:/code/features/output/video/structure-analysis-video-dev/" feature_files = utility.get_file_name_list(directory_path) feature_vector_list = [] iteration = 1 max_value = len(feature_files) for file_name in feature_files: fm = FeatureManager(directory_path, file_name) feature_vector_list = feature_vector_list + fm.get_feature_vector_list() utility.print_progress_bar(iteration, max_value) iteration += 1 print "start csv" with open('complete_video_features.csv', 'wb') as f: the_writer = csv.writer(f) headers = [ "video", "shot_number", "category", "interactions_number_speakers_2", "interactions_number_speakers_3", "interactions_number_speakers_4", "interactions_number_speakers_4+", "intervention_short", "intervention_long", "speakers_type_ponctuel", "speakers_type_localise", "speakers_type_present", "speakers_type_regulier", "speakers_type_important", "speaker_distribution", "mean_number_of_faces", "std_number_of_faces", "inter_intensity_variation1", "inter_intensity_variation2", "inter_intensity_variation3", "inter_intensity_variation4", "inter_intensity_variation5", "inter_intensity_variation6", "inter_intensity_variation7", "inter_intensity_variation8", "inter_intensity_variation9", "intra_intensity_variation1", "intra_intensity_variation2", "intra_intensity_variation3",
import combineLowLevelFeatures as combineLowLevelFeatures import utility input_directory_path = "C:/code/features/input/structure_analysis/test/1/" output_directory_path = "C:/code/features/output/video/structure-analysis-video-test/" shots_directory_path = "C:/code/features/input/shots_files/test_normalized/" shot_file_name_list = utility.get_file_name_list(shots_directory_path) generated_files = utility.get_file_name_list(output_directory_path) feature_files = utility.get_file_name_list(input_directory_path) print input_directory_path i = 1 l = len(feature_files) for shot_file_name in shot_file_name_list: shot_list = utility.get_shots(shots_directory_path + shot_file_name) if len( shot_list ) > 0 and shot_file_name not in generated_files and shot_file_name in feature_files: input_file_path = input_directory_path + shot_file_name output_file_path = output_directory_path + shot_file_name combineLowLevelFeatures.generate_percentage_descriptors( input_file_path, output_file_path) utility.print_progress_bar(i, l) i += 1
# max_shot_duration: 11367.0 # max_shot_word_length: 7640 # 255 import utility output_directory_path = "C:/features/structure-analysis-shots-test/" output_file_name_list = utility.get_file_name_list(output_directory_path) max_shot_duration = 0 max_shot_word_length = 0 i = 0 l = len(output_file_name_list) for file_name in output_file_name_list: i = i + 1 utility.print_progress_bar(i, l)