예제 #1
0
    def run_simulation(self):

        num_client = int(self.num_client.text())
        num_severs = int(self.num_server.text())
        iterations = int(self.num_iterations.text())
        ml_algo_index = self.selectMLAlgorithm.currentIndex()
        method = 'log_reg'  # default
        if ml_algo_index == 0:
            method = 'log_reg'
        elif ml_algo_index == 1:
            method = 'perceptron'
        else:
            method = 'mlp'

        random.seed(0)
        np.random.seed(0)
        initializer = Initializer(
            num_clients=num_client,
            iterations=iterations,
            num_servers=num_severs,
            method=method,
            simulation_output_view=self.simulation_output)
        # can use any amount of iterations less than config.ITERATIONS but the
        # initializer has only given each client config.ITERATIONS datasets for training.
        a = datetime.datetime.now()
        initializer.run_simulation(iterations,
                                   self.simulation_output,
                                   server_agent_name='server_agent0')
        b = datetime.datetime.now()
예제 #2
0
    def instance(cls):
        if cls._instance is None:
            init = Initializer()
            init.load_config()

            cls._instance = Simulator(init.get("signal-time"),
                                      init.get("script-name"),
                                      init.get("error-detection"))
        return cls._instance
예제 #3
0
    def reset(self):
        self.initializer = Initializer("braak1", self.numNodes, self.params)
        self.concentration = self.initializer.get()
        self.concentrationHistory = np.copy(self.concentration)

        self.producer = Producer(self.types)
        self.diffusor = Diffusor("euclidean",
                                 self.params,
                                 EuclideanAdjacency=self.euclideanAdjacency)
예제 #4
0
    def __init__(self, camera, tracker, grountruth=None):
        self.cam = camera

        self.map = Map()

        Frame.set_tracker(tracker)  # set the static field of the class

        # camera info
        self.W, self.H = camera.width, camera.height
        self.K = camera.K
        self.Kinv = camera.Kinv
        self.D = camera.D  # distortion coefficients [k1, k2, p1, p2, k3]

        self.stage = SLAMStage.NO_IMAGES_YET

        self.intializer = Initializer()

        self.cur_R = None  # current rotation w.r.t. world frame
        self.cur_t = None  # current translation w.r.t. world frame

        self.num_matched_kps = None  # current number of matched keypoints
        self.num_inliers = None  # current number of matched inliers
        self.num_vo_map_points = None  # current number of valid VO map points (matched and found valid in current pose optimization)

        self.trueX, self.trueY, self.trueZ = None, None, None
        self.grountruth = grountruth

        self.mask_match = None

        self.velocity = None

        self.init_history = True
        self.poses = []  # history of poses
        self.t0_est = None  # history of estimated translations
        self.t0_gt = None  # history of ground truth translations (if available)
        self.traj3d_est = [
        ]  # history of estimated translations centered w.r.t. first one
        self.traj3d_gt = [
        ]  # history of estimated ground truth translations centered w.r.t. first one

        self.timer_verbose = kTimerVerbose  # set this to True if you want to print timings
        self.timer_main_track = TimerFps('Track',
                                         is_verbose=self.timer_verbose)
        self.timer_pose_opt = TimerFps('Pose optimization',
                                       is_verbose=self.timer_verbose)
        self.timer_match = TimerFps('Match', is_verbose=self.timer_verbose)
        self.timer_pose_est = TimerFps('Pose estimation',
                                       is_verbose=self.timer_verbose)
        self.timer_frame = TimerFps('Frame', is_verbose=self.timer_verbose)
        self.timer_seach_map = TimerFps('Search Map',
                                        is_verbose=self.timer_verbose)
        self.timer_triangulation = TimerFps('Triangulation',
                                            is_verbose=self.timer_verbose)
        self.time_local_opt = TimerFps('Local optimization',
                                       is_verbose=self.timer_verbose)
예제 #5
0
 def initialize_repo(self):
     # 初始化应用配置
     support_languages = []
     for k,v in self.support_languages.items():
         if v.get():
             for language in appConfig.languages[k]:
                 support_languages.append(language)
     # 初始化项目仓库
     init = Initializer()
     init.initialize(self.android_resources_dir.get(), self.ios_resources_dir.get(), support_languages)
     # 初始化完毕
     result = askokcancel(title = '初始化完成', message='已完成项目仓库初始化,请重启程序')
     if result:
         self.root.quit()
예제 #6
0
파일: slam.py 프로젝트: jsBrique/pyslam-1
    def __init__(self, system):

        if kDebugDrawMatches:
            Frame.is_store_imgs = True

        self.system = system
        self.camera = system.camera
        self.map = system.map

        self.local_mapping = system.local_mapping

        self.intializer = Initializer()

        self.motion_model = MotionModel(
        )  # motion model for current frame pose prediction without damping
        #self.motion_model = MotionModelDamping()  # motion model for current frame pose prediction with damping

        self.dyn_config = SLAMDynamicConfig()
        self.descriptor_distance_sigma = Parameters.kMaxDescriptorDistance
        self.reproj_err_frame_map_sigma = Parameters.kMaxReprojectionDistanceMap

        self.max_frames_between_kfs = int(system.camera.fps)
        self.min_frames_between_kfs = 0

        self.state = SlamState.NO_IMAGES_YET

        self.num_matched_kps = None  # current number of matched keypoints
        self.num_inliers = None  # current number of matched points
        self.num_matched_map_points = None  # current number of matched map points (matched and found valid in current pose optimization)
        self.num_kf_ref_tracked_points = None  # number of tracked points in k_ref (considering a minimum number of observations)

        self.mask_match = None

        self.pose_is_ok = False
        self.predicted_pose = None
        self.velocity = None

        self.f_cur = None
        self.idxs_cur = None
        self.f_ref = None
        self.idxs_ref = None

        self.kf_ref = None  # reference keyframe (in general, different from last keyframe depending on the used approach)
        self.kf_last = None  # last keyframe
        self.kid_last_BA = -1  # last keyframe id when performed BA

        self.local_keyframes = []  # local keyframes
        self.local_points = []  # local points

        self.tracking_history = TrackingHistory()

        self.timer_verbose = kTimerVerbose  # set this to True if you want to print timings
        self.timer_main_track = TimerFps('Track',
                                         is_verbose=self.timer_verbose)
        self.timer_pose_opt = TimerFps('Pose optimization',
                                       is_verbose=self.timer_verbose)
        self.timer_seach_frame_proj = TimerFps('Search frame by proj',
                                               is_verbose=self.timer_verbose)
        self.timer_match = TimerFps('Match', is_verbose=self.timer_verbose)
        self.timer_pose_est = TimerFps('Ess mat pose estimation',
                                       is_verbose=self.timer_verbose)
        self.timer_frame = TimerFps('Frame', is_verbose=self.timer_verbose)
        self.timer_seach_map = TimerFps('Search map',
                                        is_verbose=self.timer_verbose)

        self.init_history = True
        self.poses = []  # history of poses
        self.t0_est = None  # history of estimated translations
        self.t0_gt = None  # history of ground truth translations (if available)
        self.traj3d_est = [
        ]  # history of estimated translations centered w.r.t. first one
        self.traj3d_gt = [
        ]  # history of estimated ground truth translations centered w.r.t. first one

        self.cur_R = None  # current rotation w.r.t. world frame
        self.cur_t = None  # current translation w.r.t. world frame
        self.trueX, self.trueY, self.trueZ = None, None, None
        self.groundtruth = system.groundtruth  # not actually used here; could be used for evaluating performances

        if kLogKFinfoToFile:
            self.kf_info_logger = Logging.setup_file_logger(
                'kf_info_logger',
                'kf_info.log',
                formatter=Logging.simple_log_formatter)
예제 #7
0
def __config_logging():
    '''配置日志'''
    LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
    DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"
    logging.basicConfig(filename='app.log',
                        filemode='a',
                        level=logging.DEBUG,
                        format=LOG_FORMAT,
                        datefmt=DATE_FORMAT)
    logging.FileHandler(filename='app.log', encoding='utf-8')


if __name__ == "__main__":
    __config_logging()
    # 加载多语言资源
    factory = LanguageFactory()
    factory.load_languages()
    # Tk
    root = Tk()
    root.title(factory.get_entry("app_title"))
    # 进行项目初始化
    initializer = Initializer()
    if not initializer.is_repo_initialized():
        # 进入项目初始化页面
        RepoInitDialog(root).pack()
    else:
        # 进入正常编辑页面
        MainDialog(root).pack()
    root.mainloop()
예제 #8
0
def init():
    """交互式初始化Graia项目"""
    initializer = Initializer()
    initializer.run()
예제 #9
0
import random
import warnings
import datetime
import config
import numpy as np

from initializer import Initializer

if __name__ == '__main__':
    random.seed(0)
    np.random.seed(0)
    initializer = Initializer(num_clients=config.NUM_CLIENTS,
                              iterations=config.ITERATIONS,
                              num_servers=config.NUM_SERVERS)
    # can use any amount of iterations less than config.ITERATIONS but the
    #  initializer has only given each client config.ITERATIONS datasets for training.
    a = datetime.datetime.now()
    initializer.run_simulation(config.ITERATIONS,
                               server_agent_name='server_agent0')
    b = datetime.datetime.now()