{"id":592,"date":"2021-02-10T08:16:34","date_gmt":"2021-02-09T23:16:34","guid":{"rendered":"https:\/\/beeknowledge.co.jp\/?p=592"},"modified":"2025-06-09T07:40:44","modified_gmt":"2025-06-08T22:40:44","slug":"ai%e3%81%a7%e3%83%8a%e3%83%b3%e3%83%90%e3%83%bc%e3%83%97%e3%83%ac%e3%83%bc%e3%83%88%e8%aa%ad%e3%81%bf%e5%8f%96%e3%82%8a","status":"publish","type":"post","link":"https:\/\/beeknowledge.co.jp\/?p=592","title":{"rendered":"AI\u3067\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8\u8aad\u307f\u53d6\u308a\u65e5\u672c\u306e\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8AI\u8a8d\u8b58\uff5e\u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\u80cc\u666f\u9664\u53bb\u30d5\u30a3\u30eb\u30bf\u3082\u542b\u3081\u3066AI\u3067\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8\u8aad\u307f\u53d6\u308a\uff5e"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"ja\">\n<head>\n  <meta charset=\"UTF-8\">\n  <title>\u65e5\u672c\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8AI\u8a8d\u8b58\u3068\u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\u80cc\u666f\u9664\u53bb<\/title>\n  <style>\n    body { font-family: \"Segoe UI\", \"\u30e1\u30a4\u30ea\u30aa\", sans-serif; background: #f7f9fa; color: #222; margin: 0; padding: 0 0 3em 0;}\n    h1 { background: #2067b2; color: #fff; margin: 0 0 1em 0; padding: 1em;}\n    h2 { color: #2067b2; margin-top:2em; }\n    pre { background: #f0f0f0; padding: 1em; border-radius: 7px; overflow-x: auto;}\n    a { color: #2067b2; text-decoration: underline;}\n    ul, ol { line-height: 1.7; }\n    .section { max-width: 900px; margin: 0 auto 2.5em auto; background: #fff; border-radius: 10px; box-shadow: 0 2px 8px #0001; padding: 2em;}\n    @media (max-width:600px) {\n      .section {padding: 1em;}\n      pre { font-size: 12px;}\n    }\n  <\/style>\n<\/head>\n<body>\n\n\n  <div class=\"section\">\n    <h2>1. \u65e5\u672c\u306e\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8\u4e8b\u60c5\u3068\u8ab2\u984c<\/h2>\n    <ul>\n      <li>\u7d71\u4e00\u30d5\u30a9\u30f3\u30c8\u304c\u306a\u3044\uff08\u81ea\u6cbb\u4f53\u3054\u3068\u306b\u5fae\u5999\u306b\u7570\u306a\u308b\uff09<\/li>\n      <li>\u3072\u3089\u304c\u306a\u30fb\u6f22\u5b57\u30fb\u6570\u5b57\u30fb\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u306e\u6df7\u5728<\/li>\n      <li>\u30c7\u30b6\u30a4\u30f3\u306e\u591a\u69d8\u5316\uff08\u3054\u5f53\u5730\u30fb\u8a18\u5ff5\u30c7\u30b6\u30a4\u30f3\u3082\u542b\u3080\uff09<\/li>\n      <li>\u53cd\u5c04\u30fb\u6e7e\u66f2\u30fb\u6c5a\u308c\u7b49\u306b\u3088\u308b\u8aad\u53d6\u56f0\u96e3<\/li>\n      <li>\u56f3\u67c4\u5165\u308a\uff08\u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\uff09\u306f\u80cc\u666f\u304c\u8907\u96d1\u3067OCR\u306b\u4e0d\u5229<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"section\">\n    <h2>2. AI\u306b\u3088\u308b\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8\u8a8d\u8b58\u306e\u57fa\u672c\u6280\u8853<\/h2>\n    <ol>\n      <li>\u7269\u4f53\u691c\u51fa\uff08YOLOv8, YOLOX\u7b49\uff09\u3067\u30d7\u30ec\u30fc\u30c8\u9818\u57df\u3092\u62bd\u51fa<\/li>\n      <li>\u6df1\u5c64\u5b66\u7fd2OCR\uff08<a href=\"https:\/\/github.com\/PaddlePaddle\/PaddleOCR\" target=\"_blank\">PaddleOCR<\/a>\u3001TrOCR\u306a\u3069\uff09\u3067\u6587\u5b57\u8a8d\u8b58<\/li>\n      <li>\u69cb\u9020\u89e3\u6790\u30fb\u88dc\u6b63\uff08\u6b63\u898f\u8868\u73fe\u3084\u6587\u5b57\u9818\u57df\u3054\u3068\u306e\u51e6\u7406\uff09<\/li>\n    <\/ol>\n    <ul>\n      <li>Augmentation\u3084\u5408\u6210\u30c7\u30fc\u30bf\u751f\u6210\u3067\u3001\u73fe\u5b9f\u306e\u30d0\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u306b\u5f37\u304f\u3059\u308b\u306e\u304c\u30b3\u30c4<\/li>\n      <li>\u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\u306e\u56f3\u67c4\u80cc\u666f\u306f\u524d\u51e6\u7406\u304c\u91cd\u8981<\/li>\n    <\/ul>\n  <\/div>\n\n  <div class=\"section\">\n    <h2>3. \u30b5\u30f3\u30d7\u30eb\uff1aYOLOv8 + PaddleOCR\u306b\u3088\u308b\u30d7\u30ec\u30fc\u30c8\u8a8d\u8b58<\/h2>\n    <pre><code>from ultralytics import YOLO\nfrom paddleocr import PaddleOCR\nimport cv2\n\nmodel = YOLO(\"yolov8n.pt\")  # \u518d\u5b66\u7fd2\u30e2\u30c7\u30eb\u63a8\u5968\nimg = cv2.imread('test.jpg')\nresults = model(img)\nfor box in results[0].boxes.xyxy:\n    x1, y1, x2, y2 = map(int, box)\n    plate_img = img[y1:y2, x1:x2]\n    ocr = PaddleOCR(lang=\"japan\", use_angle_cls=True)\n    ocr_result = ocr.ocr(plate_img, cls=True)\n    print(\"\u8a8d\u8b58\u7d50\u679c:\", ocr_result)\n    <\/code><\/pre>\n\n  <\/div>\n\n  <div class=\"section\">\n    <h2>4. \u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\u80cc\u666f\u306e\u524a\u9664\uff08\u524d\u51e6\u7406\u30d5\u30a3\u30eb\u30bf\u4f8b\uff09<\/h2>\n    <p>\n      \u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\u306e\u56f3\u67c4\u30fb\u30ab\u30e9\u30fc\u80cc\u666f\u306fAI OCR\u306e\u5927\u304d\u306a\u969c\u5bb3\u3002<br>\n      <b>\u30b0\u30ec\u30fc\u30b9\u30b1\u30fc\u30eb\u5316\uff0b\u9069\u5fdc\u7684\u4e8c\u5024\u5316\uff0b\u30e2\u30eb\u30d5\u30a9\u30ed\u30b8\u30fc<\/b>\u3067\u6587\u5b57\u3060\u3051\u3092\u62bd\u51fa\u3059\u308b\u30d5\u30a3\u30eb\u30bf\u4f8b\u3067\u3059\u3002\n    <\/p>\n    <pre><code>import cv2\nimport numpy as np\n\nimg = cv2.imread('gotouchi_plate.jpg')\n\n# \u30b0\u30ec\u30fc\u30b9\u30b1\u30fc\u30eb\u5316\ngray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)\n\n# \u9069\u5fdc\u7684\u4e8c\u5024\u5316\nbin_img = cv2.adaptiveThreshold(\n    gray, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY_INV, 21, 10\n)\n\n# \u30e2\u30eb\u30d5\u30a9\u30ed\u30b8\u30fc\u51e6\u7406\uff08\u30ce\u30a4\u30ba\u9664\u53bb\u30fb\u6587\u5b57\u5f37\u8abf\uff09\nkernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3,3))\nclean = cv2.morphologyEx(bin_img, cv2.MORPH_OPEN, kernel, iterations=1)\n\n# \u7d50\u679c\u8868\u793a\ncv2.imshow('clean', clean)\ncv2.waitKey(0)\ncv2.destroyAllWindows()<\/code><\/pre>\n    <ul>\n      <li>adaptiveThreshold\u306f\u80cc\u666f\u306e\u660e\u308b\u3055\u30e0\u30e9\u306b\u3082\u5f37\u3044<\/li>\n      <li>\u3055\u3089\u306b\u6df1\u5c64\u5b66\u7fd2\u30bb\u30b0\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\uff08U-Net, Mask R-CNN\u7b49\uff09\u3067\u300c\u6587\u5b57\u306e\u307f\u300d\u30de\u30b9\u30af\u751f\u6210\u3082\u53ef\u80fd<\/li>\n    <\/ul>\n    <p>\n      \u30bb\u30b0\u30e1\u30f3\u30c6\u30fc\u30b7\u30e7\u30f3\u4f8b\uff1a<br>\n      <a href=\"https:\/\/arxiv.org\/abs\/2207.10403\" target=\"_blank\">U-Net-based license plate character segmentation\uff08arXiv\uff09<\/a>\n    <\/p>\n  <\/div>\n\n  <div class=\"section\">\n    <h2>5. \u4eca\u5f8c\u306e\u5c55\u671b\u30fb\u53c2\u8003\u30ea\u30f3\u30af<\/h2>\n    <ul>\n      <li>\u65e5\u672c\u8a9eOCR\u30fb\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u306e\u9032\u5316\u3067\u7cbe\u5ea6\u5411\u4e0a\u4e2d<\/li>\n      <li>OpenAI Vision API\u3084\u30af\u30e9\u30a6\u30c9OCR\u3082\u65e5\u672c\u8a9e\u5bfe\u5fdc\u62e1\u5927\u4e2d\uff08\u5546\u7528\u5229\u7528\u306f\u8cbb\u7528\u6ce8\u610f\uff09<\/li>\n      <li>\u5408\u6210\u30c7\u30fc\u30bf\u30fb\u80cc\u666f\u5206\u96e2\u306e\u81ea\u52d5\u5316\u3082\u9032\u5c55<\/li>\n    <\/ul>\n\n  <\/div>\n<\/body>\n<\/html>\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u65e5\u672c\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8AI\u8a8d\u8b58\u3068\u3054\u5f53\u5730\u30ca\u30f3\u30d0\u30fc\u80cc\u666f\u9664\u53bb 1. \u65e5\u672c\u306e\u30ca\u30f3\u30d0\u30fc\u30d7\u30ec\u30fc\u30c8\u4e8b\u60c5\u3068\u8ab2\u984c \u7d71\u4e00\u30d5\u30a9\u30f3\u30c8\u304c\u306a\u3044\uff08\u81ea\u6cbb\u4f53\u3054\u3068\u306b\u5fae\u5999\u306b\u7570\u306a\u308b\uff09 \u3072\u3089\u304c\u306a\u30fb\u6f22\u5b57\u30fb\u6570\u5b57\u30fb\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u306e\u6df7\u5728 \u30c7\u30b6\u30a4\u30f3\u306e\u591a\u69d8\u5316\uff08\u3054\u5f53\u5730\u30fb\u8a18\u5ff5\u30c7\u30b6 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"saved_in_kubio":false,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"sns_share_botton_hide":"","vkExUnit_sns_title":"","_vk_print_noindex":"","sitemap_hide":"","vkExUnit_EyeCatch_disable":"","_veu_custom_css":"","veu_display_promotion_alert":"common","vkexunit_cta_each_option":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[5,6,8],"tags":[],"class_list":["post-592","post","type-post","status-publish","format-standard","hentry","category-ai","category-programing","category-news"],"aioseo_notices":[],"veu_head_title_object":{"title":"","add_site_title":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/592","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=592"}],"version-history":[{"count":2,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/592\/revisions"}],"predecessor-version":[{"id":1250,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=\/wp\/v2\/posts\/592\/revisions\/1250"}],"wp:attachment":[{"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=592"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=592"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/beeknowledge.co.jp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=592"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}