معرفی کتاب «Real-Time IoT Imaging with Deep Neural Networks - Using Java on the Raspberry Pi 4» نوشتهٔ Nicolas Modrzyk، منتشرشده توسط نشر Apress در سال 2020. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
در دنیای امروز، تلفیق اینترنت اشیا (IoT) با یادگیری عمیق (Deep Learning) مرزهای تازهای در پردازش لحظهای تصاویر گشوده است. کتاب «Real-Time IoT Imaging with Deep Neural Networks» نوشتهٔ نیکولا مودژیک، راهنمایی عملی برای ساخت چنین سیستمهایی با استفاده از جاوا و رزبری پای ۴ به شمار میرود و شما را از مرحلهٔ کدنویسی تا پیادهسازی یک دستیار صوتی خانگی همراهی میکند.
دربارهٔ کتاب —
این کتاب یک منبع عملی و پروژهمحور است که به مخاطبان نشان میدهد چگونه از قدرت شبکههای عصبی عمیق (DNN) برای پردازش تصویر در زمان واقعی بر روی سختافزارهای مقرونبهصرفه استفاده کنند. نویسنده با تکیه بر زبان برنامهنویسی جاوا و کتابخانهٔ متنباز اوپنسیوی (OpenCV)، گامبهگام ساخت سیستمی را آموزش میدهد که قادر به تشخیص اشیاء مختلف مانند انسان، حیوانات خانگی و حتی اشیاء روزمره در یک محیط مشخص است. این مسیر از راهاندازی اولیهٔ رزبری پای ۴ تا پیادهسازی یک دستیار صوتی کامل با پلتفرم راسپی (Rhasspy) پیش میرود تا کاربر بتواند از طریق فرمانهای صوتی، بر سیستم خود مسلط شود. نویسنده با در نظر گرفتن اهمیت حریم خصوصی و آزادی عمل، بر استفاده از نرمافزارهای متنباز و پردازشهای محلی روی دستگاه تأکید دارد. این رویکرد به کاربر اطمینان میدهد که دادههای تصویری و فرمانهای صوتی او در اختیار سامانههای ابری شخص ثالث قرار نمیگیرد و کنترل کامل بر اطلاعات شخصی خود دارد. کتاب با ارائهٔ پروژههای عملی، از تشخیص اشیاء در جریان ویدئویی تا راهاندازی اتوماسیون خانگی، مفاهیم انتزاعی را به کاربردهایی ملموس و جذاب تبدیل میکند که مخاطب را برای خلق ایدههای نوین ترغیب مینماید.
دربارهٔ نویسنده
نیکولا مودژیک (Nicolas Modrzyk) مدیر ارشد فناوری اطلاعات (CTO) یک شرکت مشاورهٔ بینالمللی در توکیوی ژاپن است و بیش از ۱۵ سال سابقهٔ فعالیت در حوزهٔ فناوری اطلاعات در آسیا، اروپا و آمریکا را در کارنامه دارد. او نویسندهٔ چهار کتاب دیگر نیز هست و تمرکز اصلی خود را بر زبان برنامهنویسی کلوژر (Clojure) و کدنویسی رسا قرار داده است.
چرا باید «Real-Time IoT Imaging with Deep Neural Networks» را بخوانید؟
- یادگیری عملی پردازش تصویر با جاوا: شما به صورت گامبهگام با ایجاد فیلترهای اوپنسیوی و اجرای مدلهای پیشرفتهٔ تشخیص اشیاء مانند «یولو» (YOLO) آشنا میشوید و مهارت عملی در این حوزه کسب میکنید.
- تسلط بر برنامهنویسی رزبری پای ۴ با جاوا: این کتاب به طور خاص به اسکریپتنویسی جاوا بر روی این رایانهٔ تکبرد محبوب پرداخته و شما را برای برنامهنویسی از راهدور و محیطهای حرفهای آماده میسازد.
- پیادهسازی یک دستیار صوتی قدرتمند با راسپی: شما یاد میگیرید که چگونه از پلتفرم راسپی برای افزودن قابلیتهای کنترل صوتی به پروژههای خود استفاده کنید و فرمانهای صوتی را برای اتوماسیون منزل مدیریت نمایید.
- ایجاد یک سیستم اتوماسیون خانگی با حفظ حریم خصوصی: کتاب بر استفاده از ابزارهای متنباز و پردازش برونخط دادهها تأکید دارد و به شما امکان میدهد سیستمی امن و خصوصی برای خانهٔ هوشمند خود بسازید.
- ارائهٔ یک پروژهٔ کامل و سرگرمکننده: این کتاب فقط به بیان تئوری بسنده نمیکند و با راهنمایی برای ساخت یک سیستم کاربردی، مفاهیم را به شکلی ملموس و هیجانانگیز به تصویر میکشد.
این کتاب برای چه کسانی مناسب است؟
این منبع ارزشمند برای طیف گستردهای از مخاطبان طراحی شده است؛ از مهندسان نرمافزار و سختافزار گرفته تا علاقهمندان (هابیستهایی) که میخواهند با استفاده از ماشین مجازی جاوا (JVM) به پیادهسازی سیستمهای تشخیص اشیاء و شبکههای عصبی بر روی رزبری پای بپردازند. همچنین برای برنامهنویسان جاوا که به دنبال ورود به حوزههای اینترنت اشیا، بینایی ماشین و یادگیری ماشین هستند، یک نقطهٔ شروع عالی محسوب میشود.
سوالات متداول
آیا برای استفاده از این کتاب نیاز به دانش قبلی در زمینهٔ یادگیری ماشین دارم؟
این کتاب برای خوانندگانی با پیشینهٔ برنامهنویسی جاوا طراحی شده و مفاهیم پایهٔ یادگیری عمیق را در بستر پروژههای عملی آموزش میدهد. اگرچه داشتن آشنایی مقدماتی با مفاهیم یادگیری ماشین مفید است، اما کتاب از سطح پایه شروع کرده و شما را تا پیادهسازی پیشرفتهترین مدلها راهنمایی میکند.
آیا پروژههای کتاب فقط بر روی رزبری پای ۴ قابل اجرا هستند؟
تمرکز اصلی کتاب بر روی رزبری پای ۴ است، اما مفاهیم و کدهای ارائهشده با اندکی تغییر، قابلیت اجرا بر روی سایر سیستمهای مبتنی بر معماری ARM یا حتی کامپیوترهای شخصی را نیز دارند. هدف اصلی کتاب، آشنایی با فرایند و زیرساختهای لازم است.
آیا کتاب شامل پروژههای عملی برای اتوماسیون خانگی است؟
بله، بخش قابلتوجهی از کتاب به راهاندازی یک سیستم اتوماسیون خانگی اختصاص دارد. نویسنده با استفاده از پروتکل MQTT و پلتفرم راسپی، نحوهٔ اتصال و کنترل تجهیزات مختلف را از طریق فرمانهای صوتی و تشخیص تصویر آموزش میدهد تا شما بتوانید یک خانهٔ هوشمند واقعی و شخصیسازیشده بسازید.
This book shows you how to build real-time image processing systems all the way through to house automation. Find out how you can develop a system based on small 32-bit ARM processors that gives you complete control through voice commands. Real-time image processing systems are utilized in a wide variety of applications, such as in traffic monitoring systems, medical image processing, and biometric security systems. In Real-Time IoT Imaging with Deep Neural Networks , you will learn how to make use of the best DNN models to detect object in images using Java and a wrapper for OpenCV. Take a closer look at how Java scripting works on the Raspberry Pi while preparing your Visual Studio code for remote programming. You will also gain insights on image and video scripting. Author Nicolas Modrzyk shows you how to use the Rhasspy voice platform to add a powerful voice assistant and completely run and control your Raspberry Pi from your computer. To get your voice intents for house automation ready, you will explore how Java connects to the MQTT and handles parametrized Rhasspy voice commands. With your voice-controlled system ready for operation, you will be able to perform simple tasks such as detecting cats, people, and coffee pots in your selected environment. Privacy and freedom are essential, so priority is given to using open source software and an on-device voice environment where you have full control of your data and video streams. Your voice commands are your own—and just your own. With recent advancements in the Internet of Things and machine learning, cutting edge image processing systems provide complete process automation. This practical book teaches you to build such a system, giving you complete control with minimal effort. What You Will Learn: Show mastery by creating OpenCV filters Execute a YOLO DNN model for image detection Apply the best Java scripting on Raspberry Pi 4 Prepare your setup for real-time remote programming Use the Rhasspy voice platform for handling voice commands and enhancing your house automation setup Who This Book Is For: Engineers, and Hobbyists wanting to use their favorite JVM to run Object Detection and Networks on a Raspberry Pi Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Chapter 1: Getting Started Visual Studio Code Primer Running Your First Java Application Importing Core Java Packages Debugging Lesson Add a Breakpoint Execute the Code Step-by-Step Resume Execution Watch an Expression Change a Variable Value Wrapping Things Up Chapter 2: Object Detection in Video Streams Going Sepia: OpenCV Java Primer A Few Files to Make Things Easier... OpenCV Primer 2: Loading, Resizing, and Adding Pictures Simple Addition Weighted Addition Back to Sepia Finding Marcel: Detecting Objects Primer Finding Cat Faces in Pictures Using a Classifier What Is a Feature? Where in the World Is Marcel? Finding Cat Faces in Pictures Using the Yolo Neural Network Chapter 3: Vision on Raspberry Pi 4 Bringing the Raspberry to Life Shopping Downloading the OS Creating the Bootable SD Card Connecting the Cables First Boot Finding Your Raspberry Using nmap Setting Up SSH Easily Setting Up Visual Code Studio for Remote Use Setting Up the Java OpenJDK Alternative to Setting Up the Java SDK Checking Out the OpenCV/Java Template Performing a Git Clone Downloading the Zip File Using Maven Installing the Visual Code Java Extension Pack Remotely Running the First OpenCV Example Running on Linux or a VM with AWS Instead Capturing a Video Live Stream Playing a Video Chapter 4: Analyzing Video Streams on the Raspberry Pi Overview of Applying Filters Applying Basic Filters Gray Filter Edge Preserving Filter Canny Debugging (Again) Combining Filters Applying Instagram-like Filters Color Map Thresh Sepia Cartoon Pencil Effect Performing Object Detection Removing the Background Detecting by Contours Detecting by Color Detecting by Haar Transparent Overlay on Detection Detecting by Template Matching Detecting by Yolo Chapter 5: Vision and Home Automation Rhasspy Message Flow MQTT Message Queues Installing Mosquitto Comparison of Other MQTT Brokers MQTT Messages on the Command Line MQTT Messaging in Java Dependencies Setup Sending a Basic MQTT Message Simulating a Rhasspy Message JSON Fun Listening to MQTT Basic Messages Listening to MQTT JSON Messages Voice and Rhasspy Setup Preparing the Speaker Installing Docker Installing Rhasspy with Docker Starting the Rhasspy Console The Rhasspy Console First Voice Command First Command, Full Sentence Speech Section and Trying Your Intent Fine-Tuned Intents Optional Words Adding Alternatives Making Intents with Slots More Readable Defining Reusable Slots Settings: Get That Intent in the Queue Settings: Wake-Up Word Creating the Highlight Intent Voice and Real-Time Object Detection Simple Setup: Origami + Voice Origami Real-Time Video Analysis Setup Creating the Yolo Filter Running the Video Analysis Alone Integrating with Voice Index This book shows you how to build real-time image processing systems all the way through to house automation. Find out how you can develop a system based on small 32-bit ARM processors that gives you complete control through voice commands. Real-time image processing systems are utilized in a wide variety of applications, such as in traffic monitoring systems, medical image processing, and biometric security systems. In Real-Time IoT Imaging with Deep Neural Networks, you will learn how to make use of the best DNN models to detect object in images using Java and a wrapper for OpenCV. Take a closer look at how Java scripting works on the Raspberry Pi while preparing your Visual Studio code for remote programming. You will also gain insights on image and video scripting. Author Nicolas Modrzyk shows you how to use the Rhasspy voice platform to add a powerful voice assistant and completely run and control your Raspberry Pi from your computer. To get your voice intents for house automation ready, you will explore how Java connects to the MQTT and handles parametrized Rhasspy voice commands. With your voice-controlled system ready for operation, you will be able to perform simple tasks such as detecting cats, people, and coffee pots in your selected environment. Privacy and freedom are essential, so priority is given to using open source software and an on-device voice environment where you have full control of your data and video streams. Your voice commands are your own—and just your own. With recent advancements in the Internet of Things and machine learning, cutting edge image processing systems provide complete process automation. This practical book teaches you to build such a system, giving you complete control with minimal effort. You Will: Show mastery by creating OpenCV filters Execute a YOLO DNN model for image detection Apply the best Java scripting on Raspberry Pi 4 Prepare your setup for real-time remote programming Use the Rhasspy voice platform for handl ing voice commands and enhancing your house automation setup