Image Classification Pipeline and the Nearest Neighbor and SVM/Softmax Classifier (Lab Report Sample)
In this assignment you will practice putting together a simple image classification pipeline based on the k-Nearest Neighbor or the SVM/Softmax classifier. The goals of this assignment are as follows:
Understand the basic Image Classification pipeline and the data-driven approach (train/predict stages).
Understand the train/val/test splits and the use of validation data for hyperparameter tuning.
Develop proficiency in writing efficient vectorized code with numpy.
Implement and apply a k-Nearest Neighbor (kNN) classifier.
Implement and apply a Multiclass Support Vector Machine (SVM) classifier.
Implement and apply a Softmax classifier.
Implement and apply a Two layer neural network classifier.
Understand the differences and tradeoffs between these classifiers.
Get a basic understanding of performance improvements from using higher-level representations as opposed to raw pixels, e.g. color histograms, Histogram of Gradient (HOG) features, etc.
Assignment 11
# from https://blog.csdn.net/qq_39025922/article/details/114889261
import matplotlib
from nuscenes.nuscenes import NuScenes
nusc = NuScenes(version='v1.0-mini',
dataroot='/data/users/chenjiaqi/dataset/nuScenes_mini', verbose=True)
# NuScenes()方法
======
Loading NuScenes tables for version v1.0-mini...
23 category,
8 attribute,
4 visibility,
911 instance,
12 sensor,
120 calibrated_sensor,
31206 ego_pose,
8 log,
10 scene,
404 sample,
31206 sample_data,
18538 sample_annotation,
4 map,
Done loading in 0.9 seconds.
======
Reverse indexing ...
Done reverse indexing in 0.1 seconds.
======
nusc.list_scenes()
scene-0061, Parked truck, construction, intersectio... [18-07-24 03:28:47] singapore-onenorth, #anns:4622
scene-0103, Many peds right, wait for turning car, ... [18-08-01 19:26:43] boston-seaport, #anns:2046
scene-0655, Parking lot, parked cars, jaywalker, be... [18-08-27 15:51:32] boston-seaport, #anns:2332
scene-0553, Wait at intersection, bicycle, large tr... [18-08-28 20:48:16] boston-seaport, #anns:1950
scene-0757, Arrive at busy intersection, bus, wait ... [18-08-30 19:25:08] boston-seaport, #anns:592
19s, 19s, 20s, 20s, 20s, 20s, 20s, 20s, 19s, 19s,
scene-0796, Scooter, peds on sidewalk, bus, cars, t... [18-10-02 02:52:24] singapore-queensto, #anns:708
scene-0916, Parking lot, bicycle rack, parked bicyc... [18-10-08 07:37:13] singapore-queensto, #anns:2387
scene-1077, Night, big street, bus stop, high speed... [18-11-21 11:39:27] singapore-hollandv, #anns:890
scene-1094, Night, after rain, many peds, PMD, ped ... [18-11-21 11:47:27] singapore-hollandv, #anns:1762
scene-1100, Night, peds in sidewalk, peds cross cro... [18-11-21 11:49:47] singapore-hollandv, #anns:935
my_scene = nusc.scene[0]
my_scene # 这是在colab里运行的语句,如果在本地请使用print()
{'token': 'cc8c0bf57f984915a77078b10eb33198',
'log_token': '7e25a2c8ea1f41c5b0da1e69ecfa71a2',
'nbr_samples': 39,
'first_sample_token': 'ca9a282c9e77460f8360f564131a8af5',
'last_sample_token': 'ed5fc18c31904f96a8f0dbb99ff069c0',
'name': 'scene-0061',
'description': 'Parked truck, construction, intersection, turn left, following a van'}
first_sample_token = my_scene['first_sample_token']
# 获取第一个sample的token,后续用此token获取first_sample的相关信息
# The rendering command below is commented out because it tends to crash in notebooks
# nusc.render_sample(first_sample_token)
# check its metadata ===========================
my_sample = nusc.get('sample', first_sample_token)
my_sample # 同上,这是在colab运行的。本地请用print()
{'token': 'ca9a282c9e77460f8360f564131a8af5','timestamp': 1532402927647951,
'prev': '',
'next': '39586f9d59004284a7114a68825e8eec',
'scene_token': 'cc8c0bf57f984915a77078b10eb33198',
'data': {'RADAR_FRONT': '37091c75b9704e0daa829ba56dfa0906',
'RADAR_FRONT_LEFT': '11946c1461d14016a322916157da3c7d',
'RADAR_FRONT_RIGHT': '491209956ee3435a9ec173dad3aaf58b',
'RADAR_BACK_LEFT': '312aa38d0e3e4f01b3124c523e6f9776',
'RADAR_BACK_RIGHT': '07b30d5eb6104e79be58eadf94382bc1',
'LIDAR_TOP': '9d9bf11fb0e144c8b446d54a8a00184f',
'CAM_FRONT': 'e3d495d4ac534d54b321f50006683844',
'CAM_FRONT_RIGHT': 'aac7867ebf4f446395d29fbd60b63b3b',
'CAM_BACK_RIGHT': '79dbb4460a6b40f49f9c150cb118247e',
'CAM_BACK': '03bea5763f0f4722933508d5999c5fd8',
'CAM_BACK_LEFT': '43893a033f9c46d4a51b5e08a67a1eb7',
'CAM_FRONT_LEFT': 'fe5422747a7d4268a4b07fc396707b23'},
'anns': ['ef63a697930c4b20a6b9791f423351da',
'6b89da9bf1f84fd6a5fbe1c3b236f809',
'924ee6ac1fed440a9d9e3720aac635a0',
'91e3608f55174a319246f361690906ba',
'cd051723ed9c40f692b9266359f547af',
'36d52dfedd764b27863375543c965376',
'70af124fceeb433ea73a79537e4bea9e',
'63b89fe17f3e41ecbe28337e0e35db8e',
'e4a3582721c34f528e3367f0bda9485d',
'fcb2332977ed4203aa4b7e04a538e309',
'a0cac1c12246451684116067ae2611f6',
'02248ff567e3497c957c369dc9a1bd5c',
'9db977e264964c2887db1e37113cddaa',
'ca9c5dd6cf374aa980fdd81022f016fd',
'179b8b54ee74425893387ebc09ee133d',
'5b990ac640bf498ca7fd55eaf85d3e12',
'16140fbf143d4e26a4a7613cbd3aa0e8',
'54939f11a73d4398b14aeef500bf0c23',
'83d881a6b3d94ef3a3bc3b585cc514f8',
'74986f1604f047b6925d409915265bf7',
'e86330c5538c4858b8d3ffe874556cc5',
'a7bd5bb89e27455bbb3dba89a576b6a1',
'fbd9d8c939b24f0eb6496243a41e8c41',
'198023a1fb5343a5b6fad033ab8b7057',
'ffeafb90ecd5429cba23d0be9a5b54ee',
'cc636a58e27e446cbdd030c14f3718fd',
'076a7e3ec6244d3b84e7df5ebcbac637',
'0603fbaef1234c6c86424b163d2e3141',
'd76bd5dcc62f4c57b9cece1c7bcfabc5',
'5acb6c71bcd64aa188804411b28c4c8f',
'49b74a5f193c4759b203123b58ca176d',
'77519174b48f4853a895f58bb8f98661',
'c5e9455e98bb42c0af7d1990db1df0c9',
'fcc5b4b5c4724179ab24962a39ca6d65',
'791d1ca7e228433fa50b01778c32449a',
'316d20eb238c43ef9ee195642dd6e3fe',
'cda0a9085607438c9b1ea87f4360dd64',
'e865152aaa194f22b97ad0078c012b21',
'7962506dbc24423aa540a5e4c7083dad',
'29cca6a580924b72a90b9dd6e7710d3e',
'a6f7d4bb60374f868144c5ba4431bf4c',
'f1ae3f713ba946069fa084a6b8626fbf',
'd7af8ede316546f68d4ab4f3dbf03f88',
'91cb8f15ed4444e99470d43515e50c1d','bc638d33e89848f58c0b3ccf3900c8bb','26fb370c13f844de9d1830f6176ebab6','7e66fdf908d84237943c833e6c1b317a','67c5dbb3ddcc4aff8ec5140930723c37','eaf2532c820740ae905bb7ed78fb1037','3e2d17fa9aa5484d9cabc1dfca532193','de6bd5ffbed24aa59c8891f8d9c32c44','9d51d699f635478fbbcd82a70396dd62','b7cbc6d0e80e4dfda7164871ece6cb71','563a3f547bd64a2f9969278c5ef447fd','df8917888b81424f8c0670939e61d885','bb3ef5ced8854640910132b11b597348','a522ce1d7f6545d7955779f25d01783b','1fafb2468af5481ca9967407af219c32','05de82bdb8484623906bb9d97ae87542','bfedb0d85e164b7697d1e72dd971fb72','ca0f85b4f0d44beb9b7ff87b1ab37ff5','bca4bbfdef3d4de980842f28be80b3ca','a834fb0389a8453c810c3330e3503e16','6c804cb7d78943b195045082c5c2d7fa','adf1594def9e4722b952fea33b307937','49f76277d07541c5a584aa14c9d28754','15a3b4d60b514db5a3468e2aef72a90c','18cc2837f2b9457c80af0761a0b83ccc','2bfcc693ae9946daba1d9f2724478fd4']}
sensor = 'CAM_FRONT'
cam_front_data = nusc.get('sample_data', my_sample['data'][sensor]) cam_front_data
{'token': 'e3d495d4ac534d54b321f50006683844',
'sample_token': 'ca9a282c9e77460f8360f564131a8af5',
'ego_pose_token': 'e3d495d4ac534d54b321f50006683844',
'calibrated_sensor_token': '1d31c729b073425e8e0202c5c6e66ee1',
'timestamp': 1532402927612460,
'fileformat': 'jpg',
'is_key_frame': True,
'height': 900,
'width': 1600,
'filename': 'samples/CAM_FRONT/n015-2018-07-24-11-22-
45+0800__CAM_FRONT__1532402927612460.jpg',
'prev': '',
'next': '68e8e98cf7b0487baa139df808641db7',
'sensor_modality': 'camera',
'channel': 'CAM_FRONT'}
nusc.render_sample_data(cam_front_data['token']) # 传入参数为sample_data的token
my_annotation_token = my_sample['anns'][18] # 取某个annotation的token my_annotation_metadata = nusc.get('sample_annotation', my_annotation_token) # 根 据token所属类别以及token,get到metadata
my_annotation_metadata # 本地请使用print()
{'token': '83d881a6b3d94ef3a3bc3b585cc514f8',
'sample_token': 'ca9a282c9e77460f8360f564131a8af5',
'instance_token': 'e91afa15647c4c4994f19aeb302c7179',
'visibility_token': '4',
'attribute_tokens': ['58aa28b1c2a54dc88e169808c07331e3'],
'translation': [409.989, 1164.099, 1.623],
'size': [2.877, 10.201, 3.595],
'rotation': [-0.5828819500503033, 0.0, 0.0, 0.812556848660791],
'prev': '',
'next': 'f3721bdfd7ee4fd2a4f94874286df471',
'num_lidar_pts': 495,
'num_radar_pts': 13,
'category_name': 'vehicle.truck'}
nusc.render_annotation(my_annotation_token) # 传入参数为annotation token
my_instance = nusc.instance[18]
my_instance
{'token': '1511e02cbd80490299371149ed7eb269',
'category_token': '1fa93b757fc74fb197cdd60001ad8abf',
'nbr_annotations': 20,
'first_annotation_token': '3e7ae3277eab49f6bba6a2b720c6a0e9',
'last_annotation_token': '8089f57cacf6473c88e95fda4e423735'}
instance_token = my_instance['token']
nusc.render_instance(instance_token)
print("First annotated sample of this instance:")
nusc.render_annotation(my_instance['first_annotation_token'])
print("Last annotated sample of this instance")
nusc.render_annotation(my_instance['last_a...
Other Topics:
- Image Classification Pipeline Based on K-nearest Neighbor or The Svm/Softmax ClassifierDescription: # from https://blog.csdn.net/qq_39025922/article/details/114889261 import matplotlib from nuscenes.nuscenes import NuScenes nusc = NuScenes(version='v1.0-mini', dataroot='/data/users/chenjiaqi/dataset/nuScenes_mini', verbose=True) # NuScenes()方法 ====== Loading NuScenes tables for version v1.0-mini....1 page/≈275 words| No Sources | APA | IT & Computer Science | Lab Report |
- Lab report: Multi-tasking Applications for Robots.Description: A basic component of modern robot systems is their capacity to carry out multiple tasks. Multitasking Robotic systems are implemented in line with their different functionalities....6 pages/≈1650 words| No Sources | APA | IT & Computer Science | Lab Report |
- Lab Report Network Assessment and Defense Training Manual Description: The manual shall provide some of the recommended network defense, mitigation and incidence response methods and strategies....1 page/≈275 words| 5 Sources | APA | IT & Computer Science | Lab Report |