Source code for menpo.landmark.labels.car

from collections import OrderedDict
import numpy as np

from .base import labeller_func, validate_input, connectivity_from_array


[docs]@labeller_func(group_label="car_streetscene_view_0_8") def car_streetscene_20_to_car_streetscene_view_0_8(pcloud): r""" Apply the 8-point semantic labels of "view 0" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - front - bonnet - windshield References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) front_indices = np.array([0, 1, 3, 2]) bonnet_indices = np.array([2, 3, 5, 4]) windshield_indices = np.array([4, 5, 7, 6]) front_connectivity = connectivity_from_array(front_indices, close_loop=True) bonnet_connectivity = connectivity_from_array(bonnet_indices, close_loop=True) windshield_connectivity = connectivity_from_array( windshield_indices, close_loop=True ) all_connectivity = np.vstack( [front_connectivity, bonnet_connectivity, windshield_connectivity] ) mapping = OrderedDict() mapping["front"] = front_indices mapping["bonnet"] = bonnet_indices mapping["windshield"] = windshield_indices ind = np.arange(8) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_1_14") def car_streetscene_20_to_car_streetscene_view_1_14(pcloud): """ Apply the 14-point semantic labels of "view 1" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - front - bonnet - windshield - left_side References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) front_indices = np.array([0, 1, 3, 2]) bonnet_indices = np.array([2, 3, 5, 4]) windshield_indices = np.array([4, 5, 7, 6]) left_side_indices = np.array([0, 2, 4, 6, 8, 9, 10, 11, 13, 12]) front_connectivity = connectivity_from_array(front_indices, close_loop=True) bonnet_connectivity = connectivity_from_array(bonnet_indices, close_loop=True) windshield_connectivity = connectivity_from_array( windshield_indices, close_loop=True ) left_side_connectivity = connectivity_from_array(left_side_indices, close_loop=True) all_connectivity = np.vstack( [ front_connectivity, bonnet_connectivity, windshield_connectivity, left_side_connectivity, ] ) mapping = OrderedDict() mapping["front"] = front_indices mapping["bonnet"] = bonnet_indices mapping["windshield"] = windshield_indices mapping["left_side"] = left_side_indices ind = np.hstack((np.arange(9), np.array([10, 12, 14, 16, 18]))) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_2_10") def car_streetscene_20_to_car_streetscene_view_2_10(pcloud): r""" Apply the 10-point semantic labels of "view 2" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - left_side References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) left_side_indices = np.array([0, 1, 2, 3, 4, 5, 6, 7, 9, 8]) left_side_connectivity = connectivity_from_array(left_side_indices, close_loop=True) all_connectivity = left_side_connectivity mapping = OrderedDict() mapping["left_side"] = left_side_indices ind = np.array([0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_3_14") def car_streetscene_20_to_car_streetscene_view_3_14(pcloud): r""" Apply the 14-point semantic labels of "view 3" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - left_side - rear windshield - trunk - rear References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) left_side_indices = np.array([0, 1, 2, 3, 4, 6, 8, 10, 13, 12]) rear_windshield_indices = np.array([4, 5, 7, 6]) trunk_indices = np.array([6, 7, 9, 8]) rear_indices = np.array([8, 9, 11, 10]) left_side_connectivity = connectivity_from_array(left_side_indices, close_loop=True) rear_windshield_connectivity = connectivity_from_array( rear_windshield_indices, close_loop=True ) trunk_connectivity = connectivity_from_array(trunk_indices, close_loop=True) rear_connectivity = connectivity_from_array(rear_indices, close_loop=True) all_connectivity = np.vstack( [ left_side_connectivity, rear_windshield_connectivity, trunk_connectivity, rear_connectivity, ] ) mapping = OrderedDict() mapping["left_side"] = left_side_indices mapping["rear_windshield"] = rear_windshield_indices mapping["trunk"] = trunk_indices mapping["rear"] = rear_indices ind = np.array([0, 2, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18]) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_4_14") def car_streetscene_20_to_car_streetscene_view_4_14(pcloud): r""" Apply the 14-point semantic labels of "view 4" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - front - bonnet - windshield - right_side References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) front_indices = np.array([0, 1, 3, 2]) bonnet_indices = np.array([2, 3, 5, 4]) windshield_indices = np.array([4, 5, 7, 6]) right_side_indices = np.array([8, 9, 10, 11, 13, 12, 1, 3, 5, 7]) front_connectivity = connectivity_from_array(front_indices, close_loop=True) bonnet_connectivity = connectivity_from_array(bonnet_indices, close_loop=True) windshield_connectivity = connectivity_from_array( windshield_indices, close_loop=True ) right_side_connectivity = connectivity_from_array( right_side_indices, close_loop=True ) all_connectivity = np.vstack( [ front_connectivity, bonnet_connectivity, windshield_connectivity, right_side_connectivity, ] ) mapping = OrderedDict() mapping["front"] = front_indices mapping["bonnet"] = bonnet_indices mapping["windshield"] = windshield_indices mapping["right_side"] = right_side_indices ind = np.hstack([np.arange(8), np.array([9, 11, 13, 15, 17, 19])]) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_5_10") def car_streetscene_20_to_car_streetscene_view_5_10(pcloud): r""" Apply the 10-point semantic labels of "view 5" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - right_side References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) right_side_indices = np.array([0, 1, 2, 3, 4, 5, 6, 7, 9, 8]) right_side_connectivity = connectivity_from_array( right_side_indices, close_loop=True ) all_connectivity = right_side_connectivity mapping = OrderedDict() mapping["right_side"] = right_side_indices ind = np.array([1, 3, 5, 7, 9, 11, 13, 15, 17, 19]) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_6_14") def car_streetscene_20_to_car_streetscene_view_6_14(pcloud): r""" Apply the 14-point semantic labels of "view 6" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - right_side - rear_windshield - trunk - rear References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) right_side_indices = np.array([0, 1, 2, 3, 5, 7, 9, 11, 13, 12]) rear_windshield_indices = np.array([4, 5, 7, 6]) trunk_indices = np.array([6, 7, 9, 8]) rear_indices = np.array([8, 9, 11, 10]) right_side_connectivity = connectivity_from_array( right_side_indices, close_loop=True ) rear_windshield_connectivity = connectivity_from_array( rear_windshield_indices, close_loop=True ) trunk_connectivity = connectivity_from_array(trunk_indices, close_loop=True) rear_connectivity = connectivity_from_array(rear_indices, close_loop=True) all_connectivity = np.vstack( [ right_side_connectivity, rear_windshield_connectivity, trunk_connectivity, rear_connectivity, ] ) mapping = OrderedDict() mapping["right_side"] = right_side_indices mapping["rear_windshield"] = rear_windshield_indices mapping["trunk"] = trunk_indices mapping["rear"] = rear_indices ind = np.array([1, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19]) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping
[docs]@labeller_func(group_label="car_streetscene_view_7_8") def car_streetscene_20_to_car_streetscene_view_7_8(pcloud): r""" Apply the 8-point semantic labels of "view 7" from the MIT Street Scene Car dataset (originally a 20-point markup). The semantic labels applied are as follows: - rear_windshield - trunk - rear References ---------- .. [1] http://www.cs.cmu.edu/~vboddeti/alignment.html """ from menpo.shape import LabelledPointUndirectedGraph n_expected_points = 20 validate_input(pcloud, n_expected_points) rear_windshield_indices = np.array([0, 1, 3, 2]) trunk_indices = np.array([2, 3, 5, 4]) rear_indices = np.array([4, 5, 7, 6]) rear_windshield_connectivity = connectivity_from_array( rear_windshield_indices, close_loop=True ) trunk_connectivity = connectivity_from_array(trunk_indices, close_loop=True) rear_connectivity = connectivity_from_array(rear_indices, close_loop=True) all_connectivity = np.vstack( [rear_windshield_connectivity, trunk_connectivity, rear_connectivity] ) mapping = OrderedDict() mapping["rear_windshield"] = rear_windshield_indices mapping["trunk"] = trunk_indices mapping["rear"] = rear_indices ind = np.arange(8, 16) new_pcloud = LabelledPointUndirectedGraph.init_from_indices_mapping( pcloud.points[ind], all_connectivity, mapping ) return new_pcloud, mapping