У роботі представлена система розпізнавання елементів одягу та їх кольорів, розроблена мовою програмування Java у вигляді вебзастосунку, використовуючи архітектуру Model-View-Controller (MVC). Для зручності розробки та збирання проєкту використано систему автоматичного збирання Gradle. Система оперує принципами штучних нейронних мереж на платформі Clarifai, детально розглядаючи процес виявлення об'єктів на зображенні та ефективність роботи системи в умовах реального використання. Взято InceptionV2 як базову модель з оброблення зображень, використано техніку FPN для аналізу зображень з різними масштабами, зі зміною розміру зображень до 512 пікселів, і здійснено навчання за допомогою стохастичного градієнтного спуску з використанням техніки виділення важких прикладів (негативів). Застосовано алгоритм зрізу по медіані для визначення домінантного кольору елементу одягу; визначення домінантного кольору кожного елементу одягу розглядається окремо, з акцентом на точність розпізнавання, яка складає 100 %. Реалізовано підхід для визначення найближчого кольору з назвою на основі домінантного кольору. Підхід базується на обчисленні евклідової відстані між двома точками у тривимірному просторі, де здійснюється перебір 140 кольорів з назвою колірної моделі RGB для визначення найближчого кольору з назвою до домінантного. Проте при пошуку найближчого кольору з назвою виявлено певні обмеження, які призводять до пониження точності до 60 %. Вплив різних факторів, таких як освітлення та якість зображення, детально розглядається в контексті їх впливу на результат роботи системи. Інтерфейс користувача представлено як інтуїтивний інструмент для взаємодії з системою, що дає змогу перевіряти розпізнані елементи одягу та визначені кольори. Окрім того, додатково надаються рекомендації з основних колірних комбінацій, які можуть бути використані користувачем для поліпшення свого стилю одягу. У роботі наведено приклад застосування системи на реальному зображенні, візуально продемонстровано результати та описано якість розпізнавання елементів одягу та їх кольорів. Однією з ключових особливостей представленої системи є її гнучкість і можливість масштабування. Якість розпізнавання може бути надалі покращена за допомогою додаткового тренування моделі на більш великих наборах даних. У роботі висвітлені питання оптимізації процесів оброблення даних та подальшого аналізу отриманих результатів. Оцінено час та складність виконання алгоритмів пошуку домінантного кольору та пошуку найближчого кольору з назвою. Наукова новизна отриманих результатів дослідження полягає в тому, шо вперше розроблено комплексну систему розпізнавання елементів одягу та їх кольорів з використанням ШНМ та реалізовано підхід пошуку найближчого кольору з назвою, де під комплексністю системи розуміється повний цикл оброблення зображення в одній системі – визначення розташування елементів одягу, класифікація елементів одягу, визначення домінантного кольору елементів одягу та визначення найближчого кольору з назвою для подальшого візуального відображення усієї інформації користувачу та наданні основних колірних комбінацій для виправлення власних кольорів, чи для того, щоб запевнитись у правильності колірної комбінації. Практична значущість результатів дослідження полягає у розробленні структури та алгоритмів роботи застосунку, програмній реалізації системи, яка змінює підхід до вибору та перевірки колірних комбінацій. Такий підхід дає користувачу чіткі назви кольорів, згідно з якими можна створювати власні, правильні за комбінаціями кольорів, набори одягу або якісно здійснювати пошук елементів одягу у мережі за отриманими кольорами. Також систему можна використати як засіб для розмітки "даних" або, іншими словами, для підготовки матеріалу, який буде використовуватись для тренування моделей машинного навчання чи нейронних мереж. Перспективи розвитку включають інтеграцію з іншими системами, розширення бази даних зображень для покращення точності та використання додаткових джерел даних для розширення функціоналу системи.
1. Ahmad, I. (2020). 40 Algorithms Every Programmer Should Know: Hone your problem-solving skills by learning different algorithms and their implementation in Python (Illustrated ed.). Packt Publishing, 382p.
2. Alamsyah, A., Saputra, M. A. A., & Masrury, R. A. (2019). Object Detection Using Convolutional Neural Network To Identify Popular Fashion Product. Journal of Physics: Conference Series, 1192, 012040.
https://doi.org/10.1088/1742-6596/1192/1/012040
3. Albon, C. (2018). Machine Learning with Python Cookbook: Practical Solutions from Preprocessing to Deep Learning (1st ed.). O'Reilly Media, 364p. ISBN-10: 9781491989388, ISBN-13: 978-1491989388.
4. Brital, A. (2021). Inception V2 CNN Architecture Explained. Retrieved from: https://medium.com/@AnasBrital98/inception-v2-cnn-architecture-explained-128464f742ce
5. Brownlee, J. (2020 a). Machine Learning Mastery. Deep Learning CNN for Fashion-MNIST Clothing Classification. Retrieved from: https://machinelearningmastery.com/how-to-develop-a-cnn-from-scratch-for...
6. Brownlee, J. (2020 b). Machine Learning Mastery. How to Train an Object Detection Model with Keras. Retrieved from: https://machinelearningmastery.com/how-to-train-an-object-detection-mode...
7. Chu, J., Guo, Z., & Leng, L. (2018). Object Detection Based on Multi-Layer Convolution Feature Fusion and Online Hard Example Mining. IEEE Access, 6, 19959-19967.
https://doi.org/10.1109/ACCESS.2018.2815149
8. Clarifai. (2013). A leading platform for building AI-powered software solutions. Retrieved from: https://www.clarifai.com/company/about
9. Clarifai documentation. (2013). Retrieved from: https://docs.clarifai.com/api-guide/api-overview
10. Dhakar, L. (2011). Color Thief. Retrieved from: https://lokeshdhakar.com/projects/color-thief
11. Hui, J. (2018). Understanding Feature Pyramid Networks for Object Detection (FPN). Retrieved from: https://jonathan-hui.medium.com/understanding-feature-pyramid-networks-f... c
12. RapidTables. (2023). RGB Color Codes Chart. Retrieved from https://www.rapidtables.com/web/color/RGB_Color.html.
13. Schildt, H. (2021). Java: The Complete Reference, Twelfth Edition (12th ed.). McGraw Hill. ISBN-10: 1260463419, ISBN-13: 978-1260463415.
14. Shrivastava, A., Gupta, A., & Girshick, R. (2016). Training Region-based Object Detectors with Online Hard Example Mining. In 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 1, 761-69).
https://doi.org/10.1109/CVPR.2016.89
15. Sourabh, S. K., & Chakraborty, S. (2009). Empirical Study on the Robustness of Average Complexity & Parameterized Complexity Measure for Heapsort Algorithm. International Journal of Computational Cognition, 7(4), 1.
16. Taiwo, O. E., Christianah, A. O., Oluwatobi, A. N., & Aderonke, K. A. (2020). Comparative study of two divide and conquer sorting algorithms: quicksort and mergesort. Procedia Computer Science, 171, 2532-2540.
https://doi.org/10.1016/j.procs.2020.04.274
17. Thakkar, S. (2018). Dominant colors in an image using k-means clustering. Retrieved from: https://medium.com/buzzrobot/dominant-colors-in-an-image-using-k-means-c...
18. Tsang, S. (2019). FPN - Feature Pyramid Network (Object Detection). Retrieved from: https://towardsdatascience.com/review-fpn-feature-pyramid-network-object...
19. Woltmann, S. (2014). Color Thief by Lokesh Dhakar - A Fast Java Implementation. Retrieved from: https://github.com/SvenWoltmann/color-thief-java