{"id":789,"date":"2020-04-02T08:09:40","date_gmt":"2020-04-02T01:09:40","guid":{"rendered":"http:\/\/ainoodle.vn\/?p=789"},"modified":"2020-04-02T08:09:40","modified_gmt":"2020-04-02T01:09:40","slug":"mua-covid-thu-xay-dung-he-thong-cham-diem-trac-nghiem-tu-dong","status":"publish","type":"post","link":"https:\/\/miai.vn\/?p=789","title":{"rendered":"M\u00f9a COVID, th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng"},"content":{"rendered":"\n<p>Ch\u00e0o to\u00e0n th\u1ec3 anh em. \u0110ang l\u00e0 m\u00f9a cao \u0111i\u1ec3m COVID, nh\u00e0 nh\u00e0 ng\u01b0\u1eddi ng\u01b0\u1eddi th\u1ef1c hi\u1ec7n Work from home n\u00ean c\u00f3 t\u00fd th\u1eddi gian. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 nh\u00e9.<\/p>\n\n\n\n<script async=\"\" src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- InPost_Ad -->\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>\u1ede \u0111\u00e2y m\u00ecnh c\u0169ng xin n\u00f3i tr\u01b0\u1edbc l\u00e0 \u1edf m\u1ee9c \u0111\u1ed9 c\u01a1 b\u1ea3n \u0111\u1ec3 c\u00e1c b\u1ea1n n\u1eafm \u0111\u01b0\u1ee3c c\u00e1ch th\u1ee9c l\u00e0m vi\u1ec7c, k\u1ebft h\u1ee3p c\u00e1c th\u1ee7 thu\u1eadt. Khi \u00e1p d\u1ee5ng th\u1ef1c t\u1ebf s\u1ebd c\u1ea7n nhi\u1ec1u bi\u1ec7n ph\u00e1p ri\u00eang, ph\u00f9 h\u1ee3p v\u1edbi \u0111i\u1ec1u ki\u1ec7n th\u1ef1c t\u1ebf c\u1ee7a b\u00e0i to\u00e1n c\u1ee7a c\u00e1c b\u1ea1n nh\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u1ea7n 1 &#8211; T\u01b0 t\u01b0\u1edfng b\u00e0i to\u00e1n<\/h2>\n\n\n\n<p>\u0110\u1ec1 b\u00e0i c\u1ee7a b\u00e0i to\u00e1n n\u00e0y nh\u01b0 sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Ch\u00fang ta s\u1ebd ch\u1ee5p \u1ea3nh m\u1ed9t form tr\u1eafc nghi\u1ec7m \u0111\u00e3 \u0111\u01b0\u1ee3c h\u1ecdc sinh t\u00f4 m\u00e0u ch\u1ecdn c\u00e1c \u00f4 \u0111\u00e1p \u00e1n.<\/li><li>Sau \u0111\u00f3 ph\u1ea7n m\u1ec1m t\u1ef1 \u0111\u1ed9ng nh\u1eadn d\u1ea1ng \u0111\u00e1p \u00e1n \u0111\u01b0\u1ee3c ch\u1ecdn, t\u00ednh \u0111i\u1ec3m v\u00e0 hi\u1ec3n th\u1ecb l\u00ean m\u00e0n h\u00ecnh.<\/li><\/ul>\n\n\n\n<p>V\u00ed d\u1ee5 v\u1ec1 m\u1ed9t form tr\u1eafc nghi\u1ec7m nh\u01b0 sau:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true\" alt=\"ch\u1ea5m \u0111i\u1ec3m t\u1ef1 \u0111\u1ed9ng\"\/><\/figure>\n\n\n\n<p>B\u00e2y gi\u1edd ch\u00fang ta c\u00f9ng b\u1eaft \u0111\u1ea7u t\u00ecm c\u00e1ch l\u00e0m nh\u00e9!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ph\u1ea7n 2 &#8211; Thu\u1eadt to\u00e1n cho b\u00e0i to\u00e1n ch\u1ea5m \u0111i\u1ec3m t\u1ef1 \u0111\u1ed9ng<\/h2>\n\n\n\n<p>M\u1ed9t s\u1ed1 b\u00e0i to\u00e1n c\u1ea7n ph\u1ea3i c\u00f3 c\u00e1c \u0111i\u1ec3m \u0111\u1ecbnh v\u1ecb tr\u00ean t\u1edd gi\u1ea5y, m\u1ed9t s\u1ed1 kh\u00e1c th\u00ec c\u1ea7n ph\u1ea3i k\u1ebb b\u1ea3ng r\u00f5 r\u00e0ng m\u1edbi c\u00f3 th\u1ec3 \u0111\u1ecbnh v\u1ecb. B\u00e0i n\u00e0y m\u00ecnh l\u00e0m linh ho\u1ea1t m\u1ed9t ch\u00fat l\u00e0 s\u1ebd ko c\u1ea7n \u0111i\u1ec3m \u0111\u1ecbnh v\u1ecb, kh\u00f4ng c\u1ea7n k\u1ebb b\u1ea3ng nh\u00e9.<\/p>\n\n\n\n<p>C\u00e1ch l\u00e0m s\u1ebd nh\u01b0 sau:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>B\u01b0\u1edbc 1<\/strong>: C\u00e1c b\u1ea1n c\u1ea7n x\u1eed l\u00fd tr\u01b0\u1eddng h\u1ee3p ch\u1ee5p m\u1ed9t t\u1edd gi\u1ea5y thi tr\u00ean m\u1eb7t b\u00e0n. <\/li><li><strong>B\u01b0\u1edbc 2<\/strong>: T\u00ecm contour v\u00e0 ch\u00fang ta c\u1ea7n x\u00e1c \u0111\u1ecbnh \u0111\u01b0\u1ee3c \u0111\u00e2u l\u00e0 t\u1edd gi\u1ea5y, sau \u0111\u00f3 th\u1ef1c hi\u1ec7n crop v\u00e0 xoay t\u1edd gi\u1ea5y cho th\u1eb3ng ra. Ph\u1ea7n n\u00e0y ch\u00fang ta t\u00ecm contour l\u1edbn th\u1ee9 2 (lo\u1ea1i tr\u1eeb contour l\u1edbn nh\u1ea5t l\u00e0 contour bao quanh b\u1ee9c \u1ea3nh) trong \u1ea3nh l\u00e0 okie.<\/li><li><strong>B\u01b0\u1edbc 3<\/strong>: Ch\u00fang ta th\u1ef1c hi\u1ec7n t\u00ecm c\u00e1c \u00f4 tick trong c\u00e1c c\u00e2u h\u1ecfi. V\u1edbi m\u00f3n n\u00e0y th\u00ec c\u1ee9 duy\u1ec7t h\u1ebft contours v\u00e0 t\u00ecm c\u00e1c contour ph\u00f9 h\u1ee3p v\u1edbi handcraft features nh\u01b0: w v\u00e0 h tr\u00ean 30 pixel, v\u00e0 l\u00e0 h\u00ecnh tr\u00f2n ngh\u0129a l\u00e0 t\u1ef7 l\u1ec7 gi\u1eefa w\/h t\u1ea7m x\u1ea5p x\u1ec9 1.0 l\u00e0 \u0111\u01b0\u1ee3c (c\u00e1i n\u00e0y t\u00f9y b\u00e0i s\u1ebd do ng\u01b0\u1eddi d\u00f9ng handmade nh\u00e9).<\/li><li><strong>B\u01b0\u1edbc 4<\/strong>: Th\u1ef1c hi\u1ec7n duy\u1ec7t qua t\u1eebng h\u00e0ng (t\u1eebng c\u00e2u h\u1ecfi), ki\u1ec3m tra xem ng\u01b0\u1eddi d\u00f9ng ch\u1ecdn \u0111\u00fang\/sai \u0111\u1ec3 t\u00ednh \u0111i\u1ec3m. Ch\u00fang ta duy\u1ec7t theo t\u1eebng h\u00e0ng, xem \u00f4 n\u00e0o \u0111\u01b0\u1ee3c t\u00f4 \u0111en nh\u1ea5t th\u00ec \u00f4 \u0111\u00f3 l\u00e0 l\u1ef1a ch\u1ecdn c\u1ee7a ng\u01b0\u1eddi d\u00f9ng v\u00e0 so s\u00e1nh v\u1edbi \u0111\u00e1p \u00e1p ch\u00fang ta \u0111\u00e3 c\u00f3 t\u1eeb tr\u01b0\u1edbc \u0111\u1ec3 quy\u1ebft \u0111\u1ecbnh \u0111\u00fang\/sai nh\u00e9.<\/li><\/ul>\n\n\n\n<script async=\"\" src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- InPost_Ad -->\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 3 &#8211; Tri\u1ec3n khai ch\u01b0\u01a1ng tr\u00ecnh ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m<\/h2>\n\n\n\n<p>R\u1ed3i, thu\u1eadt to\u00e1n \u0111\u1ea1i kh\u00e1i l\u00e0 nh\u01b0 v\u1eady, b\u00e2y gi\u1edd c\u00e1c b\u1ea1n t\u1ea3i m\u00e3 ngu\u1ed3n v\u1ec1 so s\u00e1nh gi\u1eefa m\u00e3 ngu\u1ed3n v\u00e0 thu\u1eadt to\u00e1n v\u00e0 sau \u0111\u00f3 l\u00e0 ch\u1ea1y th\u1eed nh\u00e9.<\/p>\n\n\n\n<p>C\u00e1c b\u1ea1n t\u1ea1o 1 project m\u1edbi b\u1eb1ng Pycharm (khuy\u1ebfn ngh\u1ecb d\u00f9ng m\u00f3n n\u00e0y \u0111\u1ec3 m\u1ed7i b\u00e0i l\u00e0 m\u1ed9t m\u00f4i tr\u01b0\u1eddng ri\u00eang, \u0111\u1ee1 l\u1ed7i nh\u00e9, ai ch\u01b0a c\u00f3 th\u00ec c\u00e0i t\u1ea1i www.pycharm.org ). C\u00e1c b\u1ea1n t\u1ea1o project xong th\u00ec v\u00e0o th\u01b0 m\u1ee5c venv g\u00f5 l\u1ec7nh:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">git clone https:\/\/github.com\/thangnch\/MiAI_Auto_Grading<\/pre>\n\n\n\n<p>\u0110\u1ee3i ch\u00fat source s\u1ebd bay v\u1ec1, b\u00e2y gi\u1edd c\u00e1c b\u1ea1n th\u1ef1c hi\u1ec7n c\u00e0i d\u1eb7t c\u00e1c th\u01b0 vi\u1ec7n c\u1ea7n thi\u1ebft:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">pip install -r setup.txt<\/pre>\n\n\n\n<p>Okie done! C\u00e0i c\u1eafm xong b\u00e2y gi\u1edd c\u00e1c b\u1ea1n \u0111\u1ec3 \u00fd s\u1ebd c\u00f3 2 file python:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>File utils.py : L\u00e0 file ch\u1ee9a c\u00e1c h\u00e0m ph\u1ee5c v\u1ee5 ch\u01b0\u01a1ng tr\u00ecnh nh\u01b0 v\u1ebd ch\u1eef, s\u1eafp x\u1ebfp contour, xoay h\u00ecnh&#8230;.<\/li><li>File grade.py : L\u00e0 file ch\u00ednh c\u1ee7a ch\u01b0\u01a1ng tr\u00ecnh s\u1ebd th\u1ef1c hi\u1ec7n c\u00e1c b\u01b0\u1edbc trong thu\u1eadt to\u00e1n. M\u00ecnh \u0111\u00e3 comment r\u1ea5t k\u1ef9 trong source \u0111\u1ec3 c\u00e1c b\u1ea1n hi\u1ec3u \u0111\u01b0\u1ee3c.<\/li><\/ul>\n\n\n\n<p>M\u00ecnh s\u1ebd c\u00f9ng t\u00ecm hi\u1ec3u source file grade.py nh\u00e9. \u0110\u00e2y l\u00e0 c\u00e1c b\u01b0\u1edbc x\u1eed l\u00fd th\u00f4ng th\u01b0\u1eddng v\u1edbi \u1ea3nh:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># 1. Doc anh, chuyen thanh anh xam\nimage = cv2.imread(\"omr_test_02.png\")\ngray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)\nblurred = cv2.GaussianBlur(gray, (5, 5), 0)\n\n \n# 2. Threshold de\nthresh = cv2.adaptiveThreshold(blurred,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C,            cv2.THRESH_BINARY_INV,31,3)\ncv2.imshow(\"Anh tai buoc 2\",thresh)\ncv2.waitKey()<\/pre>\n\n\n\n<p>Sau \u0111\u00f3 ch\u00fang ta ti\u1ebfn h\u00e0nh l\u1ea5y contour xung quanh t\u1edd gi\u1ea5y va crop n\u00f3 ri\u00eang ra:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># 3. Tim khung ben ngoai de tach van ban khoi nen\ncontours, hierarchy = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)\ncontours = sorted(contours, key=lambda x: cv2.contourArea(x),reverse=True)\napprox = cv2.approxPolyDP(contours[1], 0.01 * cv2.arcLength(contours[1], True), True)\nrect = cv2.minAreaRect(contours[1])\nbox = cv2.boxPoints(rect);<\/pre>\n\n\n\n<p>Ti\u1ebfp theo ch\u00fang ta th\u1ef1c hi\u1ec7n ph\u00e9p xoay 4 g\u00f3c \u0111\u1ec3 t\u1edd gi\u1ea5y th\u1eb3ng ra \u0111\u1ec3 sau \u0111\u00f3 x\u1eed l\u00fd ti\u1ebfp:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># 4. Thuc hien transform de xoay van ban\ncorner = find_corner_by_rotated_rect(box,approx)\nimage = four_point_transform(image,corner)\nwrap = four_point_transform(thresh,corner)\ncv2.imshow(\"Anh sau buoc 4\",wrap)\ncv2.waitKey()<\/pre>\n\n\n\n<p>Vi\u1ec7c c\u00f2n l\u1ea1i b\u00e2y gi\u1edd kh\u00e1 \u0111\u01a1n gi\u1ea3n, ta t\u00ecm t\u1ea5t c\u1ea3 c\u00e1c contour th\u1ecfa m\u00e3n \u0111i\u1ec1u ki\u1ec7n l\u00e0 h\u00ecnh tr\u00f2n trong h\u00ecnh v\u00e0 ki\u1ec3m tra xem \u0111\u00e2u l\u00e0 ph\u01b0\u01a1ng \u00e1n tick c\u1ee7a ng\u01b0\u1eddi d\u00f9ng v\u00e0 so s\u00e1nh v\u1edbi \u0111\u00e1p \u00e1n:<\/p>\n\n\n\n<script async=\"\" src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- InPost_Ad -->\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<pre class=\"wp-block-preformatted\"># 5. Tim cac o tick trong hinh\ncontours, _ = cv2.findContours(wrap, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)\ntickcontours = []\n# loop over the contours\nfor c in contours:\n    (x, y, w, h) = cv2.boundingRect(c)\n    ar = w \/ float(h)\n    if w &gt;= 30 and h &gt;= 30 and 0.8 &lt;= ar &lt;= 1.2:\n        tickcontours.append(c)<\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\"># 6. So sanh cac o tick voi dap an\n\n# Dinh nghia dap an\nright_anser = {0: 1, 1: 4, 2: 0, 3: 3, 4: 1,5: 1,6: 0,7: 4}\n\n# Sap xep cac contour theo hang\ntickcontours = sort_contours(tickcontours, method=\"top-to-bottom\")[0]\n\ncorrect = 0\n\nfor (q, i) in enumerate(np.arange(0, len(tickcontours), 5)):\n\n    # Dinh nghia mau rieng cho tung cau hoi\n    color = (random.randint(0, 255),random.randint(0, 255),random.randint(0, 255))\n    # Sap xep cac contour theo cot\n    cnts = sort_contours(tickcontours[i:i + 5])[0]\n    #cv2.drawContours(image, cnts, -1, color, 3)\n\n    choice = (0,0)\n    total = 0\n    # Duyet qua cac contour trong hang\n    for (j, c) in enumerate(cnts):\n\n        # Tao mask de xem muc do to mau cua contour\n        mask = np.zeros(wrap.shape, dtype=\"uint8\")\n        cv2.drawContours(mask, [c], -1, 255, -1)\n        mask = cv2.bitwise_and(wrap, wrap, mask=mask)\n        total = cv2.countNonZero(mask)\n\n        # Lap de chon contour to mau dam nhat\n        if total &gt; choice[0]:\n            choice = (total, j)\n\n    # Lay dap an cua cau hien tai\n    current_right = right_anser[q]\n    # Kiem tra voi lua chon cua nguoi dung\n    if current_right == choice[1]:\n        # Neu dung Thi to mau xanh\n        color = (0, 255, 0)\n        correct += 1\n    else:\n        # Neu sai Thi to mau do\n        color = (0, 0, 255)\n    # Ve ket qua len anh\n    cv2.drawContours(image, [cnts[current_right]], -1, color, 3)<\/pre>\n\n\n\n<p>N\u1ebfu \u0111\u1ecdc m\u00e0 c\u00f3 kh\u00f3 kh\u0103n g\u00ec ho\u1eb7c c\u00e0i b\u1ecb l\u1ed7i c\u00e1c b\u1ea1n c\u1ee9 post l\u00ean Group trao \u0111\u1ed5i, chia s\u1ebb: <strong><a rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\" href=\"https:\/\/facebook.com\/groups\/miaigroup\" target=\"_blank\">https:\/\/facebook.com\/groups\/miaigroup<\/a><\/strong> \u0111\u1ec3 c\u00f9ng th\u1ea3o lu\u1eadn nh\u00e9.<\/p>\n\n\n\n<p>C\u00f2n b\u00e2y gi\u1edd, ch\u1ea1y th\u1eed th\u00f4i, c\u00e1c b\u1ea1n g\u00f5 l\u1ec7nh<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python grade.py<\/pre>\n\n\n\n<p>Ch\u01b0\u01a1ng tr\u00ecnh ch\u1ea1y s\u1ebd in ra \u1ea3nh trong t\u1eebng b\u01b0\u1edbc \u0111\u1ec3 c\u00e1c b\u1ea1n theo d\u00f5i:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/Screen%20Shot%202020-04-02%20at%2014.59.56.png?raw=true\" alt=\"\"\/><figcaption>Sau khi threshold \u1ea3nh g\u1ed1c<\/figcaption><\/figure>\n\n\n\n<script async=\"\" src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- InPost_Ad -->\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<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/Screen%20Shot%202020-04-02%20at%2015.00.05.png?raw=true\" alt=\"\"\/><figcaption>Sau khi th\u1ef1c hi\u1ec7n xoay \u1ea3nh<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/Screen%20Shot%202020-04-02%20at%2015.00.11.png?raw=true\" alt=\"\"\/><figcaption>Sau khi ch\u1ea5m \u0111i\u1ec3m<\/figcaption><\/figure>\n\n\n\n<p>C\u00e1c b\u1ea1n \u0111\u1ec3 \u00fd \u1ea3nh cu\u1ed1i, c\u00e1c \u00f4 khoanh \u0111\u1ecf\/xanh l\u00e0 c\u00e1c \u00f4 \u0111\u00e1p \u00e1n c\u1ee7a t\u1eebng c\u00e2u h\u1ecfi. N\u1ebfu ng\u01b0\u1eddi d\u00f9ng ch\u1ecdn \u0111\u00fang s\u1ebd khoanh m\u00e0u xanh, ng\u01b0\u1eddi d\u00f9ng ch\u1ecdn sai th\u00ec s\u1ebd khoanh m\u00e0u \u0111\u1ecf. V\u00ed d\u1ee5: <\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>C\u00e2u 1: \u0110\u00e1p \u00e1n \u0111\u00fang l\u00e0 2, ng\u01b0\u1eddi d\u00f9ng ch\u1ecdn 3 n\u00ean l\u00e0 sai. M\u00e0u \u0111\u1ecf<\/li><li>C\u00e2u 6: \u0110\u1ea5p \u00e1n \u0111\u00fang l\u00e0 2, ng\u01b0\u1eddi d\u00f9ng ch\u1ecdn 2 n\u00ean l\u00e0 \u0111\u00fang. M\u00e0u xanh<\/li><\/ul>\n\n\n\n<p>Nh\u01b0 v\u1eady m\u00ecnh \u0111\u00e3 h\u01b0\u1edbng d\u1eabn c\u00e1c b\u1ea1n l\u00e0m ph\u1ea7n m\u1ec1m ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng. Ch\u00fang ta s\u1ebd ch\u1ee5p \u1ea3nh m\u1ed9t form tr\u1eafc nghi\u1ec7m \u0111\u00e3 \u0111\u01b0\u1ee3c h\u1ecdc sinh t\u00f4 m\u00e0u ch\u1ecdn c\u00e1c \u00f4 \u0111\u00e1p \u00e1n. Sau \u0111\u00f3 ph\u1ea7n m\u1ec1m t\u1ef1 \u0111\u1ed9ng nh\u1eadn d\u1ea1ng \u0111\u00e1p \u00e1n \u0111\u01b0\u1ee3c ch\u1ecdn, t\u00ednh \u0111i\u1ec3m v\u00e0 hi\u1ec3n th\u1ecb l\u00ean m\u00e0n h\u00ecnh.<\/p>\n\n\n\n<p>M\u00ecnh xin d\u1eebng b\u00e0i n\u00e0y t\u1ea1i \u0111\u00e2y v\u00e0 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<script async=\"\" src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\n<!-- InPost_Ad -->\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>Ch\u00fac c\u00e1c b\u1ea1n th\u00e0nh c\u00f4ng!<\/p>\n\n\n\n<p><strong>H\u00e3y join c\u00f9ng c\u1ed9ng \u0111\u1ed3ng M\u00ec AI nh\u00e9!<\/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 class=\"has-small-font-size\">C\u1ea3m \u01a1n b\u00e0i tham kh\u1ea3o r\u1ea5t hay c\u1ee7a t\u00e1c gi\u1ea3<em>by&nbsp;<\/em><a href=\"https:\/\/www.pyimagesearch.com\/2016\/10\/03\/bubble-sheet-multiple-choice-scanner-and-test-grader-using-omr-python-and-opencv\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">Adrian Rosebrock<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ch\u00e0o to\u00e0n th\u1ec3 anh em. \u0110ang l\u00e0 m\u00f9a cao \u0111i\u1ec3m COVID, nh\u00e0 nh\u00e0 ng\u01b0\u1eddi ng\u01b0\u1eddi th\u1ef1c hi\u1ec7n Work from home n\u00ean c\u00f3 t\u00fd th\u1eddi gian. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 nh\u00e9. \u1ede \u0111\u00e2y m\u00ecnh c\u0169ng xin n\u00f3i tr\u01b0\u1edbc [&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":[225,226,227,228,28,229,230],"class_list":["post-789","post","type-post","status-publish","format-standard","hentry","category-computer-vision","tag-auto-mark","tag-automatic-grading","tag-cham-diem-trac-nghiem","tag-multi-choices","tag-opencv","tag-threshold","tag-tu-dong-cham-diem"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng - M\u00ec AI<\/title>\n<meta name=\"description\" content=\"Ch\u00e0o to\u00e0n th\u1ec3 anh em. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 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=789\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng - M\u00ec AI\" \/>\n<meta property=\"og:description\" content=\"Ch\u00e0o to\u00e0n th\u1ec3 anh em. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 nh\u00e9.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/miai.vn\/?p=789\" \/>\n<meta property=\"og:site_name\" content=\"M\u00ec AI\" \/>\n<meta property=\"article:published_time\" content=\"2020-04-02T01:09:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true\" \/>\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=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789\"},\"author\":{\"name\":\"Ch\u1ee7 ti\u1ec7m M\u00ec\",\"@id\":\"https:\\\/\\\/miai.vn\\\/#\\\/schema\\\/person\\\/cc8bc24bb90bd3f596add82f3a59948c\"},\"headline\":\"M\u00f9a COVID, th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng\",\"datePublished\":\"2020-04-02T01:09:40+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789\"},\"wordCount\":1425,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.com\\\/thangnch\\\/MiAI_Auto_Grading\\\/blob\\\/master\\\/omr_test_02.png?raw=true\",\"keywords\":[\"auto mark\",\"automatic grading\",\"ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m\",\"multi choices\",\"opencv\",\"threshold\",\"t\u1ef1 \u0111\u1ed9ng ch\u1ea5m \u0111i\u1ec3m\"],\"articleSection\":[\"Computer Vision\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/miai.vn\\\/?p=789#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789\",\"url\":\"https:\\\/\\\/miai.vn\\\/?p=789\",\"name\":\"Th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng - M\u00ec AI\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.com\\\/thangnch\\\/MiAI_Auto_Grading\\\/blob\\\/master\\\/omr_test_02.png?raw=true\",\"datePublished\":\"2020-04-02T01:09:40+00:00\",\"description\":\"Ch\u00e0o to\u00e0n th\u1ec3 anh em. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 nh\u00e9.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/miai.vn\\\/?p=789\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#primaryimage\",\"url\":\"https:\\\/\\\/github.com\\\/thangnch\\\/MiAI_Auto_Grading\\\/blob\\\/master\\\/omr_test_02.png?raw=true\",\"contentUrl\":\"https:\\\/\\\/github.com\\\/thangnch\\\/MiAI_Auto_Grading\\\/blob\\\/master\\\/omr_test_02.png?raw=true\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/miai.vn\\\/?p=789#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/miai.vn\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"M\u00f9a COVID, th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng\"}]},{\"@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":"Th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng - M\u00ec AI","description":"Ch\u00e0o to\u00e0n th\u1ec3 anh em. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 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=789","og_locale":"en_US","og_type":"article","og_title":"Th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng - M\u00ec AI","og_description":"Ch\u00e0o to\u00e0n th\u1ec3 anh em. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 nh\u00e9.","og_url":"https:\/\/miai.vn\/?p=789","og_site_name":"M\u00ec AI","article_published_time":"2020-04-02T01:09:40+00:00","og_image":[{"url":"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true","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":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/miai.vn\/?p=789#article","isPartOf":{"@id":"https:\/\/miai.vn\/?p=789"},"author":{"name":"Ch\u1ee7 ti\u1ec7m M\u00ec","@id":"https:\/\/miai.vn\/#\/schema\/person\/cc8bc24bb90bd3f596add82f3a59948c"},"headline":"M\u00f9a COVID, th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng","datePublished":"2020-04-02T01:09:40+00:00","mainEntityOfPage":{"@id":"https:\/\/miai.vn\/?p=789"},"wordCount":1425,"commentCount":0,"publisher":{"@id":"https:\/\/miai.vn\/#organization"},"image":{"@id":"https:\/\/miai.vn\/?p=789#primaryimage"},"thumbnailUrl":"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true","keywords":["auto mark","automatic grading","ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m","multi choices","opencv","threshold","t\u1ef1 \u0111\u1ed9ng ch\u1ea5m \u0111i\u1ec3m"],"articleSection":["Computer Vision"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/miai.vn\/?p=789#respond"]}]},{"@type":"WebPage","@id":"https:\/\/miai.vn\/?p=789","url":"https:\/\/miai.vn\/?p=789","name":"Th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng - M\u00ec AI","isPartOf":{"@id":"https:\/\/miai.vn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/miai.vn\/?p=789#primaryimage"},"image":{"@id":"https:\/\/miai.vn\/?p=789#primaryimage"},"thumbnailUrl":"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true","datePublished":"2020-04-02T01:09:40+00:00","description":"Ch\u00e0o to\u00e0n th\u1ec3 anh em. H\u00f4m nay ch\u00fang ta c\u00f9ng th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng \u0111\u1ec3 gi\u00fap \u0111\u1ee1 c\u00e1c th\u1ea7y c\u00f4 nh\u00e9.","breadcrumb":{"@id":"https:\/\/miai.vn\/?p=789#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/miai.vn\/?p=789"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/miai.vn\/?p=789#primaryimage","url":"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true","contentUrl":"https:\/\/github.com\/thangnch\/MiAI_Auto_Grading\/blob\/master\/omr_test_02.png?raw=true"},{"@type":"BreadcrumbList","@id":"https:\/\/miai.vn\/?p=789#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/miai.vn\/"},{"@type":"ListItem","position":2,"name":"M\u00f9a COVID, th\u1eed x\u00e2y d\u1ef1ng h\u1ec7 th\u1ed1ng ch\u1ea5m \u0111i\u1ec3m tr\u1eafc nghi\u1ec7m t\u1ef1 \u0111\u1ed9ng"}]},{"@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\/789","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=789"}],"version-history":[{"count":0,"href":"https:\/\/miai.vn\/index.php?rest_route=\/wp\/v2\/posts\/789\/revisions"}],"wp:attachment":[{"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=789"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=789"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/miai.vn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=789"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}