{"id":70,"date":"2025-04-23T21:58:22","date_gmt":"2025-04-23T12:58:22","guid":{"rendered":"https:\/\/www.kuruma-ai-life.top\/?p=70"},"modified":"2025-04-23T22:31:55","modified_gmt":"2025-04-23T13:31:55","slug":"just-point-your-camera-roadmap-for-developing-an-ai-app-that-instantly-detects-car-model-and-price%e3%80%90dev-log-1%e3%80%91","status":"publish","type":"post","link":"https:\/\/www.kuruma-ai-life.top\/?p=70&lang=en","title":{"rendered":"Just Point Your Camera! Roadmap for Developing an AI App That Instantly Detects Car Model and Price\uff3bDev Log #1\uff3d"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcf8 Just Point Your Camera! Roadmap for Developing an AI App That Instantly Detects Car Model and Price\u3010Dev Log #1\u3011<\/h2>\n\n\n\n<p>Hello, I&#8217;m Wan.<br>Today, I\u2019d like to introduce a new solo project I\u2019ve started: an app called <strong>Kuruma Checker<\/strong>, which tells you the car model and its price just by pointing your camera at it.<\/p>\n\n\n\n<p>To begin with, I created a test classification model that recognizes <strong>three car models<\/strong> (Prius, Fit, Note).<br>In this post, I\u2019ll share the background, purpose, and current progress of the project as <strong>Dev Log #1<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd0d What You\u2019ll Learn from This Article<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Background and purpose of the project<\/li>\n\n\n\n<li>This trial: Classifying 3 car models<\/li>\n\n\n\n<li>Technologies and system structure used<\/li>\n\n\n\n<li>Progress so far<\/li>\n\n\n\n<li>Future roadmap<\/li>\n\n\n\n<li>Technical details (to be shared in separate posts)<\/li>\n\n\n\n<li>Summary<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udfaf Project Background and Purpose<\/h2>\n\n\n\n<p>The goal of this project is to develop an AI system that can automatically recognize cars seen on the street from images or video and classify them by model, such as:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u201cThis is a Prius.\u201d<br>\u201cThis is a Fit.\u201d<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udca1 Potential Applications<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Support for automatic used car appraisals<\/li>\n\n\n\n<li>Analyzing dashcam footage to identify car models<\/li>\n\n\n\n<li>Integration into car enthusiast web services<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\ude98 This Trial: Classification of 3 Car Models<\/h2>\n\n\n\n<p>As a trial run, I created a model to classify the following three car models:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Manufacturer<\/th><th>Model<\/th><\/tr><\/thead><tbody><tr><td>Toyota<\/td><td>Prius<\/td><\/tr><tr><td>Honda<\/td><td>Fit<\/td><\/tr><tr><td>Nissan<\/td><td>Note<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The purpose was to understand the end-to-end process of building a model, and I was able to achieve a promising validation accuracy of <strong>97%<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83e\uddf0 Technologies and System Overview<\/h2>\n\n\n\n<p>Here\u2019s a summary of the technologies used for this version:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>ResNet18 model<\/strong> using <strong>PyTorch<\/strong><\/li>\n\n\n\n<li>Fine-tuned from pretrained <strong>ImageNet weights<\/strong><\/li>\n\n\n\n<li>Image collection and manual filtering via web scraping<\/li>\n\n\n\n<li>Resized to <strong>224\u00d7224<\/strong>, with data augmentation applied<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcc8 Progress So Far<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u2460 Image Collection and Cleaning<\/h3>\n\n\n\n<p>I collected images of each car model from Google Image Search and used car listing websites.<br>Many images included noise\u2014people, buildings, or unrelated objects\u2014so I filtered them using <strong>YOLOv8<\/strong> to retain only clear car images.<\/p>\n\n\n\n<p><strong>YOLOv8 Filtering Workflow:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Detect objects in the image<\/li>\n\n\n\n<li>Exclude images where large non-car objects (e.g., people, signs) are present<\/li>\n\n\n\n<li>Select only images with a car centered in the frame<\/li>\n<\/ul>\n\n\n\n<p>Most of the final images came from used car websites.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2461 Data Preparation<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Images were split into <code>train \/ val \/ test<\/code> folders<\/li>\n\n\n\n<li>Organized into the <strong>ImageFolder<\/strong> format for PyTorch<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\u2462 Model Training<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>3-class classification using <strong>ResNet18<\/strong><\/li>\n\n\n\n<li>Achieved a validation accuracy of approximately <strong>97%<\/strong><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd2d Future Roadmap<\/h2>\n\n\n\n<p>This model is just a first step.<br>Here\u2019s what I plan to explore next:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udee0 Planned Features<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Add more car types: SUVs, kei cars, sports cars, etc.<\/li>\n\n\n\n<li>Integrate with YOLOv8 for full <strong>detection + classification<\/strong> automation<\/li>\n\n\n\n<li>Convert to ONNX\/TensorRT for lightweight, fast inference<\/li>\n\n\n\n<li>Apply to web\/mobile apps<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u2699\ufe0f Technical Deep Dives Coming Soon<\/h2>\n\n\n\n<p>This article focuses on project overview and progress.<br>In upcoming posts, I\u2019ll share detailed guides on:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>How I used YOLOv8 for filtering<\/li>\n\n\n\n<li>How I fine-tuned ResNet models<\/li>\n\n\n\n<li>Dataset prep and training tips<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcdd Summary<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The <strong>Car Recognition AI Project<\/strong> has begun!<\/li>\n\n\n\n<li>A 3-class classification model has been built (97% validation accuracy)<\/li>\n\n\n\n<li>Plans to expand to more car types, integrate with YOLO, and move toward app development<\/li>\n\n\n\n<li>Technical articles will follow in future blog posts<\/li>\n<\/ul>\n\n\n\n<p>I\u2019ll continue sharing the behind-the-scenes process, challenges, and progress in this blog.<br>If you\u2019re interested, be sure to <strong>bookmark or follow me on social media<\/strong> for updates!<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udcf8 Just Point Your Camera! Roadmap for Developing an AI App That Instantly Detects Car Model and Price\u3010Dev Log <\/p>\n","protected":false},"author":1,"featured_media":49,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[83],"tags":[59,69,65,63,73,77,75,61,71,81,79,67],"class_list":["post-70","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-car-recognition-project","tag-ai","tag-aiapp","tag-carrecognition","tag-computervision","tag-devlog","tag-fastapi","tag-flutter","tag-machinelearning","tag-mobileai","tag-resnet-en","tag-usedcars","tag-yolov8"],"jetpack_featured_media_url":"https:\/\/www.kuruma-ai-life.top\/wp-content\/uploads\/2025\/04\/ChatGPT-Image-2025\u5e744\u670822\u65e5-12_44_26.jpeg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":4,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":84,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/84"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=\/wp\/v2\/media\/49"}],"wp:attachment":[{"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kuruma-ai-life.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}