Esempio n. 1
0
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 "--------------------------------------------------------------"
Esempio n. 2
0
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
Esempio n. 3
0
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(
                "---------------------------------------------------------------"
            )
Esempio n. 4
0
    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")
Esempio n. 5
0
        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 "-----------------------------------------"
Esempio n. 6
0
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)