{"id":1104,"date":"2020-08-03T05:53:08","date_gmt":"2020-08-02T22:53:08","guid":{"rendered":"http:\/\/www.miai.vn\/?p=1104"},"modified":"2020-08-03T05:53:08","modified_gmt":"2020-08-02T22:53:08","slug":"phan-loai-bien-bao-giao-thong-bang-deep-learning-cnn","status":"publish","type":"post","link":"https:\/\/miai.vn\/?p=1104","title":{"rendered":"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN)"},"content":{"rendered":"\n<p>Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng nh\u00e9!<\/p>\n\n\n\n<p>H\u00f4m tr\u01b0\u1edbc co m\u1ed9t b\u1ea1n tr\u00ean M\u00ec Ai y\u00eau c\u1ea7u vi\u1ebft v\u1ec1 b\u00e0i to\u00e1n bi\u1ec3n b\u00e1o giao th\u00f4ng n\u00ean M\u00ec AI \u0111\u00e1p \u1ee9ng li\u1ec1n. V\u1ec1 bi\u1ec3n b\u00e1o giao th\u00f4ng th\u00ec th\u01b0\u1eddng c\u00f3 2 b\u00e0i to\u00e1n l\u00e0:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Nh\u1eadn di\u1ec7n bi\u1ec3n b\u00e1o<\/li><li>Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o<\/li><\/ul>\n\n\n\n<p>V\u1edbi b\u00e0i to\u00e1n nh\u1eadn di\u1ec7n bi\u1ec3n b\u00e1o th\u00ec b\u1ea1n v\u1eeba ph\u1ea3i detect bi\u1ec3n b\u00e1o trong h\u00ecnh v\u00e0 \u0111\u1ed3ng th\u1eddi nh\u1eadn di\u1ec7n \u0111\u01b0\u1ee3c \u0111\u00f3 l\u00e0 bi\u1ec3n b\u00e1o lo\u1ea1i g\u00ec. C\u00f2n v\u1edbi b\u00e0i Ph\u00e2n lo\u1ea1i th\u00ec input \u0111\u1ea7u v\u00e0o s\u1ebd l\u00e0 c\u00e1c \u1ea3nh bi\u1ec3n b\u00e1o v\u00e0 ch\u00fang ta s\u1ebd ph\u00e2n lo\u1ea1i xem bi\u1ec3n b\u00e1o \u0111\u00f3 l\u00e0 bi\u1ec3n g\u00ec? V\u00ed d\u1ee5: gi\u1edbi h\u1ea1n t\u1ed1c \u0111\u1ed9, c\u1ea5m r\u1ebd tr\u00e1i, c\u1ea5m quay \u0111\u1ea7u&#8230;.<\/p>\n\n\n\n<p>H\u00f4m nay ch\u00fang ta s\u1ebd l\u00e0m b\u00e0i to\u00e1n Ph\u00e2n lo\u1ea1i bi\u1ec3n s\u1ed1 tr\u01b0\u1edbc nh\u00e9!<\/p>\n\n\n\n<p>Let&#8217;s go!<\/p>\n\n\n\n<ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-5095883280136027\" data-ad-slot=\"7735063137\" data-ad-format=\"auto\" data-full-width-responsive=\"true\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u1ea7n 1 &#8211; Ph\u00e2n t\u00edch b\u00e0i to\u00e1n<\/h2>\n\n\n\n<p>B\u00e0i to\u00e1n c\u1ee7a ch\u00fang ta nh\u01b0 m\u00ecnh \u0111\u00e3 n\u00f3i s\u1ebd l\u00e0 input l\u00e0 1 \u1ea3nh, output l\u00e0 \u1ea3nh \u0111\u00f3 l\u00e0 \u1ea3nh g\u00ec, hay c\u1ee5 th\u1ec3 h\u01a1n l\u00e0 bi\u1ec3n b\u00e1o g\u00ec.<\/p>\n\n\n\n<p>V\u1ec1 d\u1eef li\u1ec7u ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng b\u1ed9 d\u1eef li\u1ec7u bi\u1ec3n b\u00e1o giao th\u00f4ng n\u1ed5i ti\u1ebfng \u0111\u00f3 l\u00e0 German Traffic Sign.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png\" alt=\"ph\u00e2n lo\u1ea1i bi\u1ec3n s\u1ed1\"\/><figcaption>Ngu\u1ed3n: <a href=\"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png\" target=\"_blank\" aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener nofollow\">T\u1ea1i \u0111\u00e2y<\/a><\/figcaption><\/figure>\n\n\n\n<p>Ch\u00fang ta s\u1ebd s\u1eed d\u1ee5ng b\u1ed9 d\u1eef li\u1ec7u training t\u1ea3i v\u1ec1 t\u00e0i <strong><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/sid.erda.dk\/public\/archives\/daaeac0d7ce1152aea9b61d9f1e19370\/GTSRB_Final_Training_Images.zip\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">link n\u00e0y<\/a><\/strong> .<\/p>\n\n\n\n<p>B\u1ed9 d\u1eef li\u1ec7u n\u00e0y g\u1ed3m kho\u1ea3ng g\u1ea7n 40k \u1ea3nh chia th\u00e0nh 43 folder l\u00e0 43 lo\u1ea1i bi\u1ec3n b\u00e1o kh\u00e1c nhau. M\u1ed7i folder s\u1ebd c\u00f3 1 file CSV ch\u1ee9a th\u00f4ng tin c\u00e1c \u1ea3nh trong th\u01b0 m\u1ee5c. Ch\u00fang ta ch\u00fa \u00fd v\u00e0i th\u00f4ng tin sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>ROI: l\u00e0 v\u00f9ng \u1ea3nh ch\u1ee9a bi\u1ec3n s\u1ed1 v\u1edbi c\u00e1c th\u00f4ng tin X1, Y1, X2, Y2<\/li><li>ClassID: l\u00e0 nh\u00e3n c\u1ee7a bi\u1ec3n s\u1ed1 (t\u1eeb 1 \u0111\u1ebfn 43)<\/li><\/ul>\n\n\n\n<p>Do \u0111\u00f3, ch\u00fang ta s\u1ebd train 1 model CNN \u0111\u1ec3 khi input l\u00e0 1 \u1ea3nh th\u00ec s\u1ebd predict ra 1 trong 43 class kia nh\u00e9.<\/p>\n\n\n\n<p>C\u00e1c b\u1ea1n clone git c\u1ee7a m\u00ecnh v\u1ec1 b\u1eb1ng l\u1ec7nh:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/thangnch\/MiAi_Traffic_Sign_Classify<\/code><\/pre>\n\n\n\n<p>Sau \u0111\u00f3 t\u1ea3i data, gi\u1ea3i n\u00e9n v\u00e0 copy folder GTSRB v\u00e0o th\u01b0 m\u1ee5c g\u1ed1c c\u1ee7a project lu\u00f4n nha.<\/p>\n\n\n\n<p>V\u00e0 b\u01b0\u1edbc cu\u1ed1i c\u00f9ng  l\u00e0 \u0111\u1eebng qu\u00ean c\u00e0i th\u01b0 vi\u1ec7n nh\u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pip install -r setup.txt<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u1ea7n 2 &#8211; \u0110\u1ecdc v\u00e0 x\u1eed l\u00fd d\u1eef li\u1ec7u<\/h2>\n\n\n\n<p>Vi\u1ec7c \u0111\u1ea7u ti\u00ean l\u00e0 ph\u1ea3i \u0111\u1ecdc d\u1eef li\u1ec7u t\u1eeb th\u01b0 m\u1ee5c GTSRB \u0111\u00e3, ch\u00fang ta s\u1ebd l\u1eb7p qua c\u00e1c th\u01b0 m\u1ee5c con, \u0111\u1ecdc v\u00e0 add v\u00e0o c\u00e1c list.<\/p>\n\n\n\n<p>\u1ede \u0111\u00e2y s\u1ebd c\u00f3 2 list l\u00e0:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>pixels: Ch\u1ee9a t\u1ea5t c\u1ea3 c\u00e1c \u1ea3nh trong b\u1ed9 d\u1eef li\u1ec7u<\/li><li>labels: Ch\u1ee9a nh\u00e3n c\u1ee7a c\u00e1c \u1ea3nh trong b\u1ed9 d\u1eef li\u1ec7u<\/li><\/ul>\n\n\n\n<p>\u0110\u1ec3 \u0111\u1ecdc d\u1eef li\u1ec7u ta d\u00f9ng \u0111o\u1ea1n code:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ndef load_data(input_size = (64,64), data_path =  'GTSRB\/Final_Training\/Images'):\n\n    pixels = &#91;]\n    labels = &#91;]\n    # Loop qua c\u00e1c th\u01b0 m\u1ee5c trong th\u01b0 m\u1ee5c Images\n    for dir in os.listdir(data_path):\n        if dir == '.DS_Store':\n            continue\n\n        # \u0110\u1ecdc file csv \u0111\u1ec3 l\u1ea5y th\u00f4ng tin v\u1ec1 \u1ea3nh\n        class_dir = os.path.join(data_path, dir)\n        info_file = pd.read_csv(os.path.join(class_dir, \"GT-\" + dir + '.csv'), sep=';')\n\n        # L\u0103p trong file\n        for row in info_file.iterrows():\n            # \u0110\u1ecdc \u1ea3nh\n            pixel = imread(os.path.join(class_dir, row&#91;1].Filename))\n            # Tr\u00edch ph\u1ea7n ROI theo th\u00f4ng tin trong file csv\n            pixel = pixel&#91;row&#91;1]&#91;'Roi.X1']:row&#91;1]&#91;'Roi.X2'], row&#91;1]&#91;'Roi.Y1']:row&#91;1]&#91;'Roi.Y2'], :]\n            # Resize v\u1ec1 k\u00edch c\u1ee1 chu\u1ea9n\n            img = cv2.resize(pixel, input_size)\n\n            # Th\u00eam v\u00e0o list d\u1eef li\u1ec7u\n            pixels.append(img)\n\n            # Th\u00eam nh\u00e3n cho \u1ea3nh\n            labels.append(row&#91;1].ClassId)\n\n    return pixels, labels<\/code><\/pre>\n\n\n\n<ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-5095883280136027\" data-ad-slot=\"7735063137\" data-ad-format=\"auto\" data-full-width-responsive=\"true\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p>Xong con ong! B\u00e2y gi\u1edd sau khi \u0111\u1ecdc xong ta s\u1ebd ti\u1ebfn h\u00e0nh chia d\u1eef li\u1ec7u train, test v\u00e0 val.<\/p>\n\n\n\n<p>Nh\u01b0 c\u00e1c b\u1ea1n \u0111\u00e3 bi\u1ebft, v\u1edbi m\u1ed9t b\u00e0i to\u00e1n Deep Learning th\u00ec v\u1edbi d\u1eef li\u1ec7u c\u00f3 \u0111\u01b0\u1ee3c ta hay chia th\u00e0nh 3 b\u1ed9:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Train: \u0110\u1ec3 train model<\/li><li>Val: \u0110\u1ec3 validation model trong qu\u00e1 tr\u00ecnh train<\/li><li>Test: \u0110\u1ec3 ki\u1ec3m th\u1eed model sau khi train xong<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.brainstobytes.com\/content\/images\/2020\/01\/Sets.png\" alt=\"data split \"\/><figcaption>Ngu\u1ed3n: <a href=\"https:\/\/www.brainstobytes.com\/content\/images\/2020\/01\/Sets.png\" target=\"_blank\" aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener nofollow\">T\u1ea1i \u0111\u00e2y<\/a><\/figcaption><\/figure>\n\n\n\n<p>\u1ede \u0111\u00e2y m\u00ecnh chia theo t\u1ef7 l\u1ec7 60% &#8211; 20% &#8211; 20%, ngh\u0129a l\u00e0 60% d\u1eef li\u1ec7u m\u00ecnh d\u00f9ng \u0111\u1ec3 train, 20% cho validation v\u00e0 20% c\u00f2n l\u1ea1i \u0111\u1ec3 test. Vi\u1ec7c chia d\u1eef li\u1ec7u test ri\u00eang r\u1ea5t c\u1ea7n thi\u1ebft \u0111\u1ec3 xem model s\u1ebd treat nh\u01b0 n\u00e0o v\u1edbi c\u00e1c d\u1eef li\u1ec7u unseen &#8211; ch\u01b0a nh\u00ecn th\u1ea5y bao gi\u1edd.<\/p>\n\n\n\n<p>\u0110\u1ec3 th\u1ef1c hi\u1ec7n vi\u1ec7c \u0111\u00f3 m\u00ecnh s\u1eed d\u1ee5ng h\u00e0m sau:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>def split_train_val_test_data(pixels, labels):\n\n    # Chu\u1ea9n ho\u00e1 d\u1eef li\u1ec7u pixels v\u00e0 labels\n    pixels = np.array(pixels)\n    labels = keras.utils.np_utils.to_categorical(labels)\n\n    # Nh\u00e0o tr\u1ed9n d\u1eef li\u1ec7u ng\u1eabu nhi\u00ean\n    randomize = np.arange(len(pixels))\n    np.random.shuffle(randomize)\n    X = pixels&#91;randomize]\n    print(\"X=\", X.shape)\n    y = labels&#91;randomize]\n\n    # Chia d\u1eef li\u1ec7u theo t\u1ef7 l\u1ec7 60% train v\u00e0 40% c\u00f2n l\u1ea1i cho val v\u00e0 test\n    train_size = int(X.shape&#91;0] * 0.6)\n    X_train, X_val = X&#91;:train_size], X&#91;train_size:]\n    y_train, y_val = y&#91;:train_size], y&#91;train_size:]\n\n    val_size = int(X_val.shape&#91;0] * 0.5) # 50% c\u1ee7a ph\u1ea7n 40% b\u00ean tr\u00ean\n    X_val, X_test = X_val&#91;:val_size], X_val&#91;val_size:]\n    y_val, y_test = y_val&#91;:val_size], y_val&#91;val_size:]\n\n    return X_train, y_train, X_val, y_val, X_test, y_test<\/code><\/pre>\n\n\n\n<p>R\u1ed3i! Sau b\u01b0\u1edbc n\u00e0y th\u00ec c\u00f3 \u0111\u1ee7 c\u1ea3 X v\u00e0 y cho c\u00e1c \u00f4ng train, val v\u00e0 test r\u1ed3i. Sang b\u01b0\u1edbc x\u00e2y d\u1ef1ng model th\u00f4i.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u1ea7n 3 &#8211; X\u00e2y d\u1ef1ng model ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o<\/h2>\n\n\n\n<ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-5095883280136027\" data-ad-slot=\"7735063137\" data-ad-format=\"auto\" data-full-width-responsive=\"true\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p>B\u00e0i n\u00e0y c\u00e1c b\u1ea1n ho\u00e0n to\u00e0n c\u00f3 th\u1ec3 s\u1eed d\u1ee5ng Transfer Learning v\u1edbi c\u00e1c m\u1ea1ng n\u1ed5i ti\u1ebfng nh\u01b0 VGG16, VGG19&#8230; nh\u01b0ng \u1edf \u0111\u00e2y m\u00ecnh xin demo vi\u1ec7c t\u1ef1 x\u00e2y m\u1ed9t m\u1ea1ng \u0111\u01a1n gi\u1ea3n \u0111\u1ec3 c\u00e1c b\u1ea1n hi\u1ec3u t\u1eebng b\u01b0\u1edbc cho d\u1ec5.<\/p>\n\n\n\n<p>N\u1ebfu c\u1ea7n transfer learning, c\u00e1c b\u1ea1n c\u00f3 th\u1ec3 \u0111\u1ecdc b\u00e0i nh\u1eadn di\u1ec7n ti\u1ec1n c\u1ee7a m\u00ecnh <strong><a aria-label=\"undefined (opens in a new tab)\" href=\"https:\/\/www.miai.vn\/2020\/04\/21\/nhan-dang-tien-viet-nam-voi-transfer-learning-vgg16-cnn-classify\/\" target=\"_blank\" rel=\"noreferrer noopener\">t\u1ea1i \u0111\u00e2y<\/a><\/strong><\/p>\n\n\n\n<p>Ta c\u00f9ng x\u00e2y d\u1ef1ng model \u0111\u01a1n gi\u1ea3n:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\ndef build_model(input_shape=(64,64,3), filter_size = (3,3), pool_size = (2, 2), output_size = 43):\n    model = Sequential(&#91;\n        Conv2D(16, filter_size, activation='relu', input_shape=input_shape, padding='same'),\n        BatchNormalization(),\n        Conv2D(16, filter_size, activation='relu', padding='same'),\n        BatchNormalization(),\n        MaxPooling2D(pool_size=pool_size),\n        Dropout(0.2),\n        Conv2D(32, filter_size, activation='relu', padding='same'),\n        BatchNormalization(),\n        Conv2D(32, filter_size, activation='relu', padding='same'),\n        BatchNormalization(),\n        MaxPooling2D(pool_size=pool_size),\n        Dropout(0.2),\n        Conv2D(64, filter_size, activation='relu', padding='same'),\n        BatchNormalization(),\n        Conv2D(64, filter_size, activation='relu', padding='same'),\n        BatchNormalization(),\n        MaxPooling2D(pool_size=pool_size),\n        Dropout(0.2),\n        Flatten(),\n        Dense(2048, activation='relu'),\n        Dropout(0.3),\n        Dense(1024, activation='relu'),\n        Dropout(0.3),\n        Dense(128, activation='relu'),\n        Dropout(0.3),\n        Dense(output_size, activation='softmax')\n    ])\n\n    model.compile(loss='categorical_crossentropy', optimizer=Adam(lr=1e-4), metrics=&#91;'accuracy'])\n    return model<\/code><\/pre>\n\n\n\n<p>Model n\u00e0y c\u00f3 m\u1ea5y \u0111i\u1ec3m c\u00e1c b\u1ea1n c\u1ea7n ch\u00fa \u00fd:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Model c\u00f3 input size l\u00e0 64x64x3, ngh\u0129a l\u00e0 c\u00e1c \u1ea3nh \u0111\u1ea7u v\u00e0o \u0111\u1ec1u ph\u1ea3i resize v\u1ec1 64&#215;64.<\/li><li>Model c\u00f3 output = 43 &#8211; l\u00e0 s\u1ed1 class bi\u1ec3n b\u00e1o ta c\u00f3.<\/li><li>Model c\u00f3 s\u1eed d\u1ee5ng Dropout \u0111\u1ec3 tr\u00e1nh Overfit<\/li><\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Model: \"sequential_1\"\n_________________________________________________________________\nLayer (type)                 Output Shape              Param #   \n=================================================================\nconv2d_1 (Conv2D)            (None, 64, 64, 16)        448       \n_________________________________________________________________\nbatch_normalization_1 (Batch (None, 64, 64, 16)        64        \n_________________________________________________________________\nconv2d_2 (Conv2D)            (None, 64, 64, 16)        2320      \n_________________________________________________________________\nbatch_normalization_2 (Batch (None, 64, 64, 16)        64        \n_________________________________________________________________\nmax_pooling2d_1 (MaxPooling2 (None, 32, 32, 16)        0         \n_________________________________________________________________\ndropout_1 (Dropout)          (None, 32, 32, 16)        0         \n_________________________________________________________________\nconv2d_3 (Conv2D)            (None, 32, 32, 32)        4640      \n_________________________________________________________________\nbatch_normalization_3 (Batch (None, 32, 32, 32)        128       \n_________________________________________________________________\nconv2d_4 (Conv2D)            (None, 32, 32, 32)        9248      \n_________________________________________________________________\nbatch_normalization_4 (Batch (None, 32, 32, 32)        128       \n_________________________________________________________________\nmax_pooling2d_2 (MaxPooling2 (None, 16, 16, 32)        0         \n_________________________________________________________________\ndropout_2 (Dropout)          (None, 16, 16, 32)        0         \n_________________________________________________________________\nconv2d_5 (Conv2D)            (None, 16, 16, 64)        18496     \n_________________________________________________________________\nbatch_normalization_5 (Batch (None, 16, 16, 64)        256       \n_________________________________________________________________\nconv2d_6 (Conv2D)            (None, 16, 16, 64)        36928     \n_________________________________________________________________\nbatch_normalization_6 (Batch (None, 16, 16, 64)        256       \n_________________________________________________________________\nmax_pooling2d_3 (MaxPooling2 (None, 8, 8, 64)          0         \n_________________________________________________________________\ndropout_3 (Dropout)          (None, 8, 8, 64)          0         \n_________________________________________________________________\nflatten_1 (Flatten)          (None, 4096)              0         \n_________________________________________________________________\ndense_1 (Dense)              (None, 2048)              8390656   \n_________________________________________________________________\ndropout_4 (Dropout)          (None, 2048)              0         \n_________________________________________________________________\ndense_2 (Dense)              (None, 1024)              2098176   \n_________________________________________________________________\ndropout_5 (Dropout)          (None, 1024)              0         \n_________________________________________________________________\ndense_3 (Dense)              (None, 128)               131200    \n_________________________________________________________________\ndropout_6 (Dropout)          (None, 128)               0         \n_________________________________________________________________\ndense_4 (Dense)              (None, 43)                5547      \n=================================================================\nTotal params: 10,698,555\nTrainable params: 10,698,107\nNon-trainable params: 448\n<\/code><\/pre>\n\n\n\n<p>T\u1ed5ng s\u1ed1 tham s\u1ed1 l\u00e0 10,698,555!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u1ea7n 4 &#8211; Train model ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o v\u00e0 ki\u1ec3m th\u1eed<\/h2>\n\n\n\n<p>Th\u00f4i th\u00ec nguy\u00ean v\u1eadt li\u1ec7u \u0111\u00e3 xong, n\u1ed3i ni\u00eau xong ch\u1ea3o c\u0169ng \u0111\u1ee7 c\u1ea3 th\u00ec gi\u1edd n\u1ea5u M\u00ec th\u00f4i anh em!<\/p>\n\n\n\n<p>Ch\u00fang ta s\u1ebd train kho\u1ea3ng 10 epochs v\u1edbi batch_size l\u00e0 16.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\n# Train model\nepochs = 10\nbatch_size = 16\n\nmodel.fit(X_train, y_train, epochs=epochs, batch_size=batch_size,\n                               validation_data=(X_val, y_val))\n\nmodel.save(\"traffic_sign_model.h5\")<\/code><\/pre>\n\n\n\n<ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-5095883280136027\" data-ad-slot=\"7735063137\" data-ad-format=\"auto\" data-full-width-responsive=\"true\"><\/ins>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script>\n\n\n\n<p>Sau khi train xong th\u00ec save l\u1ea1i file h5 \u0111\u1ec3 l\u1ea7n sau c\u00f2n s\u1eed d\u1ee5ng \ud83d\ude00<\/p>\n\n\n\n<p>Model \u0111\u1ea1t val_accuracy l\u00e0 0.9939 sau 10 epochs, m\u1ed9t k\u1ebft qu\u1ea3 kh\u00e1 t\u1ed1t:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nTrain on 23525 samples, validate on 7842 samples\nEpoch 1\/10\n23525\/23525 &#91;==============================] - 662s 28ms\/step - loss: 2.5743 - accuracy: 0.3046 - val_loss: 1.2445 - val_accuracy: 0.6483\nEpoch 2\/10\n23525\/23525 &#91;==============================] - 652s 28ms\/step - loss: 1.0229 - accuracy: 0.6851 - val_loss: 0.2815 - val_accuracy: 0.9162\nEpoch 3\/10\n23525\/23525 &#91;==============================] - 648s 28ms\/step - loss: 0.3962 - accuracy: 0.8767 - val_loss: 0.1033 - val_accuracy: 0.9684\nEpoch 4\/10\n23525\/23525 &#91;==============================] - 650s 28ms\/step - loss: 0.1999 - accuracy: 0.9375 - val_loss: 0.0726 - val_accuracy: 0.9770\nEpoch 5\/10\n23525\/23525 &#91;==============================] - 664s 28ms\/step - loss: 0.1278 - accuracy: 0.9588 - val_loss: 0.0446 - val_accuracy: 0.9855\nEpoch 6\/10\n23525\/23525 &#91;==============================] - 660s 28ms\/step - loss: 0.0880 - accuracy: 0.9730 - val_loss: 0.0407 - val_accuracy: 0.9861\nEpoch 7\/10\n23525\/23525 &#91;==============================] - 664s 28ms\/step - loss: 0.0669 - accuracy: 0.9788 - val_loss: 0.0528 - val_accuracy: 0.9850\nEpoch 8\/10\n23525\/23525 &#91;==============================] - 664s 28ms\/step - loss: 0.0502 - accuracy: 0.9845 - val_loss: 0.0290 - val_accuracy: 0.9908\nEpoch 9\/10\n23525\/23525 &#91;==============================] - 663s 28ms\/step - loss: 0.0435 - accuracy: 0.9866 - val_loss: 0.0224 - val_accuracy: 0.9938\nEpoch 10\/10\n23525\/23525 &#91;==============================] - 646s 27ms\/step - loss: 0.0377 - accuracy: 0.9895 - val_loss: 0.0212 - val_accuracy: 0.9939<\/code><\/pre>\n\n\n\n<p>B\u00e2y gi\u1edd ta th\u1eed eval tr\u00ean d\u1eef li\u1ec7u test &#8211; d\u1eef li\u1ec7u unseen- xem k\u1ebft qu\u1ea3 ra sao nh\u00e9:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Ki\u1ec3m tra model v\u1edbi d\u1eef li\u1ec7u m\u1edbi\nmodel.evaluate(X_test, y_test)<\/code><\/pre>\n\n\n\n<p>K\u1ebft qu\u1ea3 eval v\u1edbi loss = 0.011 v\u00e0 accuracy kh\u00e1 cao 0.996:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>7842\/7842 &#91;==============================] - 21s 3ms\/step\n&#91;0.011262154533938626, 0.9968120455741882]<\/code><\/pre>\n\n\n\n<p>Nh\u01b0 v\u1eady l\u00e0 model c\u0169ng kh\u00e1 \u1ed5n r\u1ed3i! Vui qu\u00e1 anh em ah!<\/p>\n\n\n\n<p>OK! Nh\u01b0 v\u1eady m\u00ecnh \u0111\u00e3 guide anh em l\u00e0m m\u1ed9t model classify bi\u1ec3n b\u00e1o \u0111\u01a1n gi\u1ea3n. Anh em c\u00f3 th\u1ec3 modify, \u00e1p d\u1ee5ng transfer learning hay b\u01a1m d\u1eef li\u1ec7u bi\u1ec3n b\u00e1o Vi\u1ec7t Nam v\u00e0o cho th\u1ef1c t\u1ebf!<\/p>\n\n\n\n<p>H\u1eb9n g\u1eb7p l\u1ea1i c\u00e1c b\u1ea1n trong c\u00e1c b\u00e0i ti\u1ebfp theo nh\u00e9!<\/p>\n\n\n\n<p><strong><em>H\u00e3y join c\u00f9ng c\u1ed9ng \u0111\u1ed3ng M\u00ec AI nh\u00e9!<\/em><\/strong><\/p>\n\n\n\n<p>Fanpage:&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/facebook.com\/miaiblog\" target=\"_blank\">http:\/\/facebook.com\/miaiblog<\/a><br>Group trao \u0111\u1ed5i, chia s\u1ebb:&nbsp;<a rel=\"noreferrer noopener\" href=\"https:\/\/www.facebook.com\/groups\/miaigroup\" target=\"_blank\">https:\/\/www.facebook.com\/groups\/miaigroup<\/a><br>Website:&nbsp;<a href=\"https:\/\/miai.vn\/\">https:\/\/miai.vn\/<\/a><br>Youtube:&nbsp;<a rel=\"noreferrer noopener\" href=\"http:\/\/bit.ly\/miaiyoutube\" target=\"_blank\">http:\/\/bit.ly\/miaiyoutube<\/a><\/p>\n\n\n\n<p>C\u1ea3m \u01a1n b\u00e0i tham kh\u1ea3o tuy\u1ec7t v\u1eddi <a href=\"https:\/\/towardsdatascience.com\/traffic-sign-detection-using-convolutional-neural-network-660fb32fe90e\" target=\"_blank\" aria-label=\"undefined (opens in a new tab)\" rel=\"noreferrer noopener nofollow\">t\u1ea1i \u0111\u00e2y<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng nh\u00e9! H\u00f4m tr\u01b0\u1edbc co m\u1ed9t b\u1ea1n tr\u00ean M\u00ec Ai y\u00eau c\u1ea7u vi\u1ebft v\u1ec1 b\u00e0i to\u00e1n bi\u1ec3n b\u00e1o giao th\u00f4ng n\u00ean M\u00ec AI \u0111\u00e1p \u1ee9ng li\u1ec1n. V\u1ec1 bi\u1ec3n b\u00e1o giao th\u00f4ng th\u00ec th\u01b0\u1eddng c\u00f3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[355,356,40,21,357,358,359,360,361],"class_list":["post-1104","post","type-post","status-publish","format-standard","hentry","category-computer-vision","tag-bien-bao","tag-bien-bao-giao-thong","tag-cnn","tag-deep-learning","tag-detection","tag-nhan-dien-bien-bao","tag-phan-loai-bien-bao-giao-thong","tag-traffic-sign","tag-traffic-sign-classify"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN) - M\u00ec AI<\/title>\n<meta name=\"description\" content=\"Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng m\u1ea1ng CNN c\u00f9ng M\u00cc AI nh\u00e9!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/miai.vn\/?p=1104\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN) - M\u00ec AI\" \/>\n<meta property=\"og:description\" content=\"Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng m\u1ea1ng CNN c\u00f9ng M\u00cc AI nh\u00e9!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/miai.vn\/?p=1104\" \/>\n<meta property=\"og:site_name\" content=\"M\u00ec AI\" \/>\n<meta property=\"article:published_time\" content=\"2020-08-02T22:53:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png\" \/>\n<meta name=\"author\" content=\"Ch\u1ee7 ti\u1ec7m M\u00ec\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ch\u1ee7 ti\u1ec7m M\u00ec\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104\"},\"author\":{\"name\":\"Ch\u1ee7 ti\u1ec7m M\u00ec\",\"@id\":\"https:\\\/\\\/miai.vn\\\/#\\\/schema\\\/person\\\/cc8bc24bb90bd3f596add82f3a59948c\"},\"headline\":\"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN)\",\"datePublished\":\"2020-08-02T22:53:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104\"},\"wordCount\":1262,\"commentCount\":21,\"publisher\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.researchgate.net\\\/profile\\\/Reghunadhan_Rajesh\\\/publication\\\/252048039\\\/figure\\\/fig1\\\/AS:650847071502351@1532185442921\\\/43-classes-of-German-Traffic-Sign.png\",\"keywords\":[\"bi\u1ec3n b\u00e1o\",\"bi\u1ec3n b\u00e1o giao th\u00f4ng\",\"CNN\",\"deep learning\",\"detection\",\"nh\u1eadn di\u1ec7n bi\u1ec3n b\u00e1o\",\"ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng\",\"traffic sign\",\"traffic sign classify\"],\"articleSection\":[\"Computer Vision\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/miai.vn\\\/?p=1104#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104\",\"url\":\"https:\\\/\\\/miai.vn\\\/?p=1104\",\"name\":\"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN) - M\u00ec AI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.researchgate.net\\\/profile\\\/Reghunadhan_Rajesh\\\/publication\\\/252048039\\\/figure\\\/fig1\\\/AS:650847071502351@1532185442921\\\/43-classes-of-German-Traffic-Sign.png\",\"datePublished\":\"2020-08-02T22:53:08+00:00\",\"description\":\"Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng m\u1ea1ng CNN c\u00f9ng M\u00cc AI nh\u00e9!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/miai.vn\\\/?p=1104\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#primaryimage\",\"url\":\"https:\\\/\\\/www.researchgate.net\\\/profile\\\/Reghunadhan_Rajesh\\\/publication\\\/252048039\\\/figure\\\/fig1\\\/AS:650847071502351@1532185442921\\\/43-classes-of-German-Traffic-Sign.png\",\"contentUrl\":\"https:\\\/\\\/www.researchgate.net\\\/profile\\\/Reghunadhan_Rajesh\\\/publication\\\/252048039\\\/figure\\\/fig1\\\/AS:650847071502351@1532185442921\\\/43-classes-of-German-Traffic-Sign.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=1104#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/miai.vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/miai.vn\\\/#website\",\"url\":\"https:\\\/\\\/miai.vn\\\/\",\"name\":\"M\u00ec AI\",\"description\":\"H\u1ecdc AI theo c\u00e1ch M\u00ec \u0103n li\u1ec1n!\",\"publisher\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/miai.vn\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/miai.vn\\\/#organization\",\"name\":\"M\u00ec AI\",\"url\":\"https:\\\/\\\/miai.vn\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/miai.vn\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/miai.vn\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-Logo_w_slogan.png\",\"contentUrl\":\"https:\\\/\\\/miai.vn\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/cropped-Logo_w_slogan.png\",\"width\":240,\"height\":193,\"caption\":\"M\u00ec AI\"},\"image\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/miai.vn\\\/#\\\/schema\\\/person\\\/cc8bc24bb90bd3f596add82f3a59948c\",\"name\":\"Ch\u1ee7 ti\u1ec7m M\u00ec\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b0b5124b0d2c0a8054d7127d2c236bdc3dc7a50e2d4e8728ab32eee5b122a8d1?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b0b5124b0d2c0a8054d7127d2c236bdc3dc7a50e2d4e8728ab32eee5b122a8d1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/b0b5124b0d2c0a8054d7127d2c236bdc3dc7a50e2d4e8728ab32eee5b122a8d1?s=96&d=mm&r=g\",\"caption\":\"Ch\u1ee7 ti\u1ec7m M\u00ec\"},\"sameAs\":[\"https:\\\/\\\/miai.vn\"],\"url\":\"https:\\\/\\\/miai.vn\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN) - M\u00ec AI","description":"Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng m\u1ea1ng CNN c\u00f9ng M\u00cc AI nh\u00e9!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/miai.vn\/?p=1104","og_locale":"en_US","og_type":"article","og_title":"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN) - M\u00ec AI","og_description":"Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng m\u1ea1ng CNN c\u00f9ng M\u00cc AI nh\u00e9!","og_url":"https:\/\/miai.vn\/?p=1104","og_site_name":"M\u00ec AI","article_published_time":"2020-08-02T22:53:08+00:00","og_image":[{"url":"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png","type":"","width":"","height":""}],"author":"Ch\u1ee7 ti\u1ec7m M\u00ec","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ch\u1ee7 ti\u1ec7m M\u00ec","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/miai.vn\/?p=1104#article","isPartOf":{"@id":"https:\/\/miai.vn\/?p=1104"},"author":{"name":"Ch\u1ee7 ti\u1ec7m M\u00ec","@id":"https:\/\/miai.vn\/#\/schema\/person\/cc8bc24bb90bd3f596add82f3a59948c"},"headline":"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN)","datePublished":"2020-08-02T22:53:08+00:00","mainEntityOfPage":{"@id":"https:\/\/miai.vn\/?p=1104"},"wordCount":1262,"commentCount":21,"publisher":{"@id":"https:\/\/miai.vn\/#organization"},"image":{"@id":"https:\/\/miai.vn\/?p=1104#primaryimage"},"thumbnailUrl":"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png","keywords":["bi\u1ec3n b\u00e1o","bi\u1ec3n b\u00e1o giao th\u00f4ng","CNN","deep learning","detection","nh\u1eadn di\u1ec7n bi\u1ec3n b\u00e1o","ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng","traffic sign","traffic sign classify"],"articleSection":["Computer Vision"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/miai.vn\/?p=1104#respond"]}]},{"@type":"WebPage","@id":"https:\/\/miai.vn\/?p=1104","url":"https:\/\/miai.vn\/?p=1104","name":"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN) - M\u00ec AI","isPartOf":{"@id":"https:\/\/miai.vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/miai.vn\/?p=1104#primaryimage"},"image":{"@id":"https:\/\/miai.vn\/?p=1104#primaryimage"},"thumbnailUrl":"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png","datePublished":"2020-08-02T22:53:08+00:00","description":"Ch\u00e0o tu\u1ea7n m\u1edbi c\u00e1c member th\u00e2n y\u00eau, h\u00f4m nay anh em ta c\u00f9ng n\u1ea5u b\u00e1t m\u00ec Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng m\u1ea1ng CNN c\u00f9ng M\u00cc AI nh\u00e9!","breadcrumb":{"@id":"https:\/\/miai.vn\/?p=1104#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/miai.vn\/?p=1104"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/miai.vn\/?p=1104#primaryimage","url":"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png","contentUrl":"https:\/\/www.researchgate.net\/profile\/Reghunadhan_Rajesh\/publication\/252048039\/figure\/fig1\/AS:650847071502351@1532185442921\/43-classes-of-German-Traffic-Sign.png"},{"@type":"BreadcrumbList","@id":"https:\/\/miai.vn\/?p=1104#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/miai.vn\/"},{"@type":"ListItem","position":2,"name":"Ph\u00e2n lo\u1ea1i bi\u1ec3n b\u00e1o giao th\u00f4ng b\u1eb1ng Deep Learning (CNN)"}]},{"@type":"WebSite","@id":"https:\/\/miai.vn\/#website","url":"https:\/\/miai.vn\/","name":"M\u00ec AI","description":"H\u1ecdc AI theo c\u00e1ch M\u00ec \u0103n li\u1ec1n!","publisher":{"@id":"https:\/\/miai.vn\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/miai.vn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/miai.vn\/#organization","name":"M\u00ec AI","url":"https:\/\/miai.vn\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/miai.vn\/#\/schema\/logo\/image\/","url":"https:\/\/miai.vn\/wp-content\/uploads\/2026\/05\/cropped-Logo_w_slogan.png","contentUrl":"https:\/\/miai.vn\/wp-content\/uploads\/2026\/05\/cropped-Logo_w_slogan.png","width":240,"height":193,"caption":"M\u00ec AI"},"image":{"@id":"https:\/\/miai.vn\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/miai.vn\/#\/schema\/person\/cc8bc24bb90bd3f596add82f3a59948c","name":"Ch\u1ee7 ti\u1ec7m M\u00ec","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/b0b5124b0d2c0a8054d7127d2c236bdc3dc7a50e2d4e8728ab32eee5b122a8d1?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/b0b5124b0d2c0a8054d7127d2c236bdc3dc7a50e2d4e8728ab32eee5b122a8d1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b0b5124b0d2c0a8054d7127d2c236bdc3dc7a50e2d4e8728ab32eee5b122a8d1?s=96&d=mm&r=g","caption":"Ch\u1ee7 ti\u1ec7m M\u00ec"},"sameAs":["https:\/\/miai.vn"],"url":"https:\/\/miai.vn\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/miai.vn\/index.php?rest_route=\/wp\/v2\/posts\/1104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miai.vn\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/miai.vn\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/miai.vn\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1104"}],"version-history":[{"count":0,"href":"https:\/\/miai.vn\/index.php?rest_route=\/wp\/v2\/posts\/1104\/revisions"}],"wp:attachment":[{"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}