Автор молодец выполнил работу раньше срока. Спасибо
Подробнее о работе
Гарантия сервиса Автор24
Уникальность не ниже 50%
Введение 2
1 Анализ существующих аналогов системы поддержки принятия решений и их технологий 4
1.1 Сравнение существующих аналогов системы, разрабатываемой 5
1.1.1 Программное обеспечение Quantib ™ Brain 5
1.1.2 Программное обеспечение Mia ™ 9
1.1.3 Результат сравнений 11
1.2 Выбор технологий для разработки системы 12
1.2.1 Выбор языка программирования 12
1.2.2 Выбор среды программирования 14
1.2.3 Выбор фреймворков и библиотек, используемых 16
1.2.4 Выбор базы данных 10
1.2.5 Выбор архитектурного шаблона и паттернов проектирования 14
1.3 Выбор данных и модели машинного обучения 19
1.3.1 Выбор данных и алгоритмов предварительной обработки медицинских изображений 19
1.3.1 Выбор и обоснование алгоритма машинного обучения для сегментации аномалий на медицинских изображениях 19
1.4 Выводы к первому разделу 23
2 Проектирование системы поддержки принятия решений при обработке медицинских изображений 28
2.1 Цель и задачи ИС 24
2.2 Типы пользователей 25
2.3 Функциональные требования 26
2.4 Нефункциональные требования 29
2.5 Идентификация архетипа ИС 30
2.6 Пользовательский интерфейс 30
2.7 Логическое представление о ИС 39
2.8 Представление развертывания ИС 40
2.9 Представление слоев ИС 41
2.10 Представление процессов ИС 43
2.11 Представление данных ИС 46
2.12 Представление интерфейсов ИС 48
2.13 Представление безопасности ИС 49
2.14 Инфраструктурное представление ИС 50
2.15 Стратегия доставки товара 50
2.16 Описание стека технологий 50
2.17 Вывод ко второму разделу 51
3 Разработка системы поддержки принятия решений при обработке медицинских изображений 58
3.1 Представление о структуре проекта ИС 58
3.1.1 Структура серверной части системы 58
3.1.2 Структура клиентской части системы 60
3.2 Представление о классах ИС 61
3.3. Управление программным кодом системы 70
3.4 Расчет метрики программного кода системы 70
3.5 Контрольный список по качеству реализации системы 71
3.6 Тестирование информационной системы 72
3.6.1 Разработка тест-кейсов для функционального тестирования системы 73
3.6.2 Протокол проведения функционального тестирования системы 75
3.6.3 Проведение модульного тестирования системы 77
3.7 Документация информационной системы 78
3.8 Выводы по третьей главы 83
4 Охрана труда 85
Выводы 86
Перечень ссылок 88
Приложение А листинг программного кода 90
1.1 Порівняння існуючих аналогів системи, що розроблюється
Перед початком робочого процесу треба провести дослідження предметної області та знайти певні аналоги майбутньої системи.
На сьогоднішній день існує невелика кількість програмних продуктів для медичних закладів, які є системами підтримки прийняття рішень лікарів у постановці необхідних діагнозів [1, 2]. Доступ до більшості з них можуть отримати лише працівники відповідних закладів, усі програмні рішення сертифіковані та мають закриту реалізацію. Одними з таких продуктів є програмне забезпечення для сегментації мозку Quantib™ Brain та програмний продукт компанії Kheiron Medical Technologies для скринінгу молочної залози з метою виявлення раку.
...
1.1.1 Програмне забезпечення Quantib™ Brain
Quantib™ ND – програмне забезпечення для сегментації мозку – незамінний медичний програмний засіб для кількісного визначення атрофії та виявлення лейкоараріозу (гіперінтенсивності білої речовини) [4]. Після останнього оновлення до попередніх функцій програмного забезпечення було додано істотний перелік нових функцій, що підтримують діагностику та моніторинг деменції та розсіяного склерозу, в результаті чого з'явився унікальний радіологічний програмний продукт (рис. 1.1). Програмне забезпечення є надійним інструментом для відстеження об'єктивного розвитку хвороб. Продукт включає графіки, що надають інформацію про очікуваний обсяг мозку в певному віці. Медики можуть використовувати цю інформацію для порівняння обсягу мозку своїх пацієнтів з обсягом репрезентативного перерізу населення, тобто визначають різницю між очікуваним та вимірюваним обсягом мозку.
...
1.1.2 Програмне забезпечення Mia™
MiaTM (англ. Mammography Intelligent Assessment – Мамографічна інтелектуальна оцінка) – програмний продукт компанії Kheiron Medical Technologies для скринінгу молочної залози [5]. Їх місія – допомогти рентгенологам виявити рак молочної залози раніше за допомогою алгоритмів глибокого навчання.
Рисунок 1.4 – Програмне забезпечення MiaTM
Kheiron Medical Technologies – перша британська компанія, яка отримала знак СЕ в глибокому навчанні та радіології. Вони поєднують нові методи глибокого вивчення та рентгенологічне розуміння, щоб виявити злоякісні утворення на мамограмах.
...
1.1.3 Результат порівнянь
Підведемо підсумки, порівнявши рішення та виділивши переваги та недоліки існуючих систем. Порівняльний аналіз зображено в таблиці 1.1. Основними критеріями для порівняння є наявність можливості отримання передбачення по знімку, сегментація ділянок, які мають підозру на захворювання, перегляд змін у пацієнта з часом, можливість експорту результатів досліджень, а також безкоштовність системи.
Таблиця 1.1 – Порівняльний аналіз існуючих рішень
Критерій
Програмне забезпечення Quantib™ Brain
Програмне забезпечення Mia™
Система, що розробляється
Отримання передбачення по знімку
+
+
+
Сегментація ділянок, що мають підозру на захворювання
+
+
+
Передбачення відносно рентгенів легень
-
-
+
Перегляд змін у пацієнта з часом
+
+
+
Експорт даних пацієнта
+
+
+
Безкоштовність
-
-
+
Таким чином, основними недоліками існуючих систем є те, що вони розроблені для вирішення інших медичних завдань, їх закрита реалізація та відсутність безкоштовних версій.
...
1.2.1 Вибір мови програмування
На сьогоднішній день існує багато мов програмування, які можуть бути використані для розробки системи, кожна з них має свої переваги та недоліки. Розглянемо найбільш популярні мови, враховуючи необхідний функціонал: Python, Java, Javascript.
Для мови програмування Python існує велика кількість бібліотек та фреймворків, які стали традиційними для проведення математичних обчислень, побудування та оцінки моделей для цілей машинного навчання з одного боку, а також існують фреймворки для зручної реалізації серверної частини. Основні переваги мови:
• мова Python є швидкодiючою. За швидкiстю виконання вона мало чим поступається мовi С++, а також надає розробникам новi iнструменти та засоби та бiндинги до iнших мов програмування;
• мова Python є маcштабовною. На цiй мовi розробляють програми для найрiзноманiтнiших платформ i систем.
...
1.2.2 Вибір середовища програмування
PyCharm – інтегроване середовище розробки на мові Python. Воно надає засоби для аналізу коду, графічний відлагоджувач, інструмент для запуску юніт-тестів і підтримує веб-розробку на Django. PyCharm розроблена російською компанією JetBrains на основі IntelliJ IDEA. PyCharm працює під операційними системами Windows, Mac OS X і Linux.
...
1.2.3 Вибір фреймворків та бібліотек, що використовуються
TensorFlow – відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявлення та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди. Її наразі застосовують як для досліджень, так і для розробки продуктів Google, часто замінюючи на його ролі її закритого попередника, DistBelief.
TensorFlow надає бібліотеку готових алгоритмів чисельних обчислень, реалізованих через графи потоків даних (data flow graphs). Вузли в таких графах реалізують математичні операції або точки входу/виводу, в той час як ребра графа представляють багатовимірні масиви даних (тензори), які перетікають між вузлами.
...
1.2.4 Вибір бази даних
СКБД PostgreSQL – об'єктно-реляційна система керування базами даних. Вона є альтернативою як комерційним СКБД (Oracle Database, Microsoft SQL Server, IBM DB2 та інші), так і СКБД з відкритим кодом (MySQL, Firebird, SQLite).
Порівняно з іншими проектами з відкритим кодом, такими як Apache, FreeBSD або MySQL, PostgreSQL не контролюється якоюсь однією компанією, її розробка можлива завдяки співпраці багатьох людей та компаній, які хочуть використовувати цю СКБД та впроваджувати у неї найновіші досягнення. Сервер PostgreSQL написаний на мові C.
...
1.2.5 Вибір архітектурного шаблону та паттернів проектування
Для взаємодії клієнт-сервер було обрано архітектуру REST, який надає підхід до розробки веб-API. REST розшифровується як репрезентативна передача стану, а API – інтерфейс прикладної програми. REST – це програмний архітектурний стиль, який визначає набір правил, які будуть використовуватися для створення веб-служб.
Веб-сервіси, що відповідають архітектурному стилю REST, відомі як RESTful веб-сервіси. Це дозволяє запитувати системи доступу та керувати веб-ресурсами, використовуючи єдиний і заздалегідь визначений набір правил. Взаємодія в системах на базі REST відбувається через протокол передачі гіпертексту в Інтернеті (HTTP). Система RESTful складається з клієнта, який запитує ресурси та сервера, який має ресурси.
Також фреймворк Django реалізує трьохярусну архітектуру (three-tier architecture), тому система має три шари: шар уявлення, шар логіки та шар даних.
...
1.3.1 Вибір даних та алгоритмів попередньої обробки медичних зображень
В якості вибірки даних була обрана “SIIM-ACR Pneumothorax Segmentation”, представлена організацією SIIM (Society for Imaging Informatics in Medicine) [9]. SIIM є провідною професійною організацією охорони здоров’я для тих, хто зацікавлений у поточному та майбутньому використанні інформатики для роботи з медичними даними. Місія суспільства полягає в просуванні інформатики медичних зображень на підприємстві через освіту, дослідження та інновації в мультидисциплінарному співтоваристві.
Медичні зображення з цієї вибірки, як і більшість медичних даних, зберігаються у спеціальному форматі DICOM. Цифрові зображення та комунікації в медицині (DICOM) є стандартом для комунікації та управління медичною візуальною інформацією та суміжних даних.
...
1.3.2 Вибір та обґрунтування алгоритму машинного навчання для сегментації аномалій на медичних зображеннях
З комп'ютерної точки зору, сегментація — це процес розділення цифрового зображення на декілька сегментів. Сегментацію зображень зазвичай використовують для виділення об'єктів та меж (лінії, криві, і т. д.) на зображеннях [3]. Точніше, сегментація зображень — це процес присвоєння таких міток кожному пікселю зображення, що пікселі з однаковими мітками мають спільні візуальні характеристики. Результатом сегментації зображення є множина сегментів, які разом покривають все зображення, або множина контурів, виділених з зображення.
Cемантична сегментація зображення означає привласнення кожному пікселю певної позначки. У цьому полягає головна відмінність від класифікації, де всьому зображення ставиться у відповідність тільки одна мітка. Сегментація працює з безліччю об'єктів одного класу як з єдиним цілим.
Інстанс-сегментація обробляє кілька об'єктів одного класу як різні об'єкти.
...
1.4 Висновки до першого розділу
В результати проведення порівняння аналогів були розглянуті дві системи, що стоять найближче до системи, що розробляється, за функціоналом, але мають іншу мету.
Для побудови майбутньої системи, будуть використовуватись основні переваги інших систем та додані свої унікальні ознаки, які б відзначили та відрізнили застосунок з ряду інших та привнесла дещо нове. Зокрема, саме використання методів машинного навчання є ключовою особливістю системи, що розробляється.
Також були розглянуті основні технології, які будуть потрібні на етапі реалізації системи, а деякі вже на етапі проектування. Всі технології є безкоштовними та розповсюджуються за відкритими, вільними ліцензіями, а тому їх використання не накладає ніяких обмежень. Основною мовою програмування для реалізації алгоритму машинного навчання та серверної частини буде Python, а для клієнтської – JavaScript, а середами розробки відповідно JetBrains PyCharm та Visual Studio Code.
...
2.3 Функціональні вимоги
Група 1. Авторизація у системі.
F1.1 Функція прямої авторизації користувача у системі.
Дана функція доступна для Користувача та Адміністратора ІС.
FR1.1.1. Кожен користувач при авторизації має ввести логін та пароль.
FR1.1.2. У разі некоректного пароля або логіна система повинна видати повідомлення: «Некоректний логін або пароль» не вказуючи, що саме помилково.
FR1.1.3. Допустима довжина для логіна становить не більше 15 символів, для пароля - 20. Допускаються тільки символи латинського алфавіту і цифри.
FR1.1.4. При успішній авторизації користувач потрапляє на головну сторінку.
Група 2. Реєстрація в системі.
F2.1 Функція реєстрації гостей в системі.
Дана функція доступна для Гостей ІС.
FR2.1.1. Гість для реєстрації має заповнити необхідні поля: логін (обов'язково), пароль (обов'язково), ім'я, прізвище, організацію, посаду
FR2.1.2. У разі введення не всіх обов'язкових полів система повинна видати повідомлення: «Введіть всі обов'язкові поля!».
FR2.1.3.
...
2.6 Користувацький інтерфейс
Для наглядної візуалізації інтерфейсу користувача були розроблені мокапи сторінок веб-сайту. Проектування інтерфейсу користувача здійснювалось, виходячи із принципів мінімалістичного та плоского дизайну. Такий стиль дизайну дозволяє покращити досвід використання веб-сайту користувачем, завдяки тому, що відсутня велика кількість відволікаючих блоків інформації, а присутні елементи можуть використовуватись інтуїтивно, покращуючи UX якості веб-сторінок.
Дизайн було спроектовано однозначно; таким чином, щоб в незалежності від платформи, операційної системи, або браузеру, веб-сторінки мали єдиний стандартний вигляд, який відповідає макетам, що проектуються.
Веб-сайт буде мати 6 основних сторінок, вікна можна представити у вигляді таблиці з ідентифікаторами (табл. 2.1).
Таблиця 2.1 Описання сторінок веб-сайту
Ідентифікатор
Опис вікна
1
Сторінка авторизації.
2
Сторінка реєстрації.
...
2.9 Уявлення слоїв ІС
Вся система базується на двух фреймворках – React та Django. За допомогою даних фреймворків буде реалізована трьохярусна архітектура (three-tier architecture), тому система матиме три шари - шар даних, шар логіки та шар уявлення.
На рівні даних описуються моделі даних, що описують сутності бази даних. За допомогою засобів фреймворку моделі автоматично використовують вбудовані ORM, конструктор запитів та засоби взаємодії з базою даних.
На рівні логіки присутні класи-контролери, що взаємодіють с моделями даних, оновлюючи їх. За роботу з алгоритмом машинного навчання відповідає MLModel.
На рівні представлення присутні усі компоненти, які створені за допомогою фреймворку React та відповідають за взаємодію із користувачем и відображення усієї інформації.
Діаграма уявлення шарів системи зображена на рисунку 2.18.
Рисунок 2.
...
2.10 Уявлення процесів ІС
У системі підтримки прийняття рішень можна виділити два основних сценарія роботи із нею.
Сценарій 1. Один з головних алгоритмів системи – можливість передбачення наявності захворювання у пацієнта на рентгенівському знімку. Діаграма активності для даного сценарію зображена на рисунку 2.20.
Рисунок 2.20 – Діаграма активності отримання передбачення алгоритмом машинного навчання
Користувач за допомогою інтерфейсу (DiadnosticComponent) завантажує знімок та мета-дату, які відправляються на сервер (DiagnosticViewSet). На веб-сервері запускається алгоритм машинного навчання (MlModel), який спочатку обробляє вхідні дані, а потом здійснює передбачення. Усі передбачення разом із мета-датою відправляються до моделі даних (Prediction), а потім зберігаються у базі даних. Діаграма послідовностей для даного сценарію зображена на рисунку 2.21.
Рисунок 2.21 – Діаграма послідовностей отримання передбачення алгоритмом машинного навчання
Сценарій 2.
...
2.11 Уявлення даних ІС
Сховище даних буде одним та має тип PostgreSQL. У якості ORM фреймворку буде використовуватись Django ORM. Реляційна схема бази даних зображена на рисунку 2.24.
...
2.16 Опис стеку технологій
Для розробки серверної частини системи використовується фреймворк Django. Для написання її програмного коду використовується мова програмування Python.
Для розробки модулю машинного навчання використовується бібліотека Keras для мови програмування Python. Дана бібліотека дозволяє швидко проектувати, розроблювати на навчати нейронні мережі.
Для розробки клієнтської частини системи використовується фреймворк React. Для написання її програмного коду використовується мова програмування JavaScript.
База даних створюється за допомогою інструментарію PostgreSql, робота з якою відбувається за допомогою ORM моделі Django. Фреймворк надає можливість записувати, видаляти, редагувати чи доставати дані з бази, що знаходиться на пристрої користувача.
Для модульного тестування проекту використовується стандартна бібліотека Python unittest.
2.
...
1. H. Shibata, S. Hanaoka et al. Anomaly detection in chest radiographs with a weakly supervised flow-based deep learning method [Електронний ресурс] / Cornell University Library – документ. Режим доступу: https://arxiv.org/pdf/2001.07847.pdf.
2. S. Guendel, F. Ghesu et al. Multi-task Learning for Chest X-ray Abnormality Classification on Noisy Labels [Електронний ресурс] /
Cornell University Library – документ. Режим доступу: https://arxiv.org/pdf/1905.06362.pdf.
3. Лутц М. Изучаем Python, 4-е издание. / Пер. с англ. – СПб: Символ-Плюс, 2011. – 1280 с.
и еще 7 источников
Не подошла эта работа?
Закажи новую работу, сделанную по твоим требованиям
Введение 2
1 Анализ существующих аналогов системы поддержки принятия решений и их технологий 4
1.1 Сравнение существующих аналогов системы, разрабатываемой 5
1.1.1 Программное обеспечение Quantib ™ Brain 5
1.1.2 Программное обеспечение Mia ™ 9
1.1.3 Результат сравнений 11
1.2 Выбор технологий для разработки системы 12
1.2.1 Выбор языка программирования 12
1.2.2 Выбор среды программирования 14
1.2.3 Выбор фреймворков и библиотек, используемых 16
1.2.4 Выбор базы данных 10
1.2.5 Выбор архитектурного шаблона и паттернов проектирования 14
1.3 Выбор данных и модели машинного обучения 19
1.3.1 Выбор данных и алгоритмов предварительной обработки медицинских изображений 19
1.3.1 Выбор и обоснование алгоритма машинного обучения для сегментации аномалий на медицинских изображениях 19
1.4 Выводы к первому разделу 23
2 Проектирование системы поддержки принятия решений при обработке медицинских изображений 28
2.1 Цель и задачи ИС 24
2.2 Типы пользователей 25
2.3 Функциональные требования 26
2.4 Нефункциональные требования 29
2.5 Идентификация архетипа ИС 30
2.6 Пользовательский интерфейс 30
2.7 Логическое представление о ИС 39
2.8 Представление развертывания ИС 40
2.9 Представление слоев ИС 41
2.10 Представление процессов ИС 43
2.11 Представление данных ИС 46
2.12 Представление интерфейсов ИС 48
2.13 Представление безопасности ИС 49
2.14 Инфраструктурное представление ИС 50
2.15 Стратегия доставки товара 50
2.16 Описание стека технологий 50
2.17 Вывод ко второму разделу 51
3 Разработка системы поддержки принятия решений при обработке медицинских изображений 58
3.1 Представление о структуре проекта ИС 58
3.1.1 Структура серверной части системы 58
3.1.2 Структура клиентской части системы 60
3.2 Представление о классах ИС 61
3.3. Управление программным кодом системы 70
3.4 Расчет метрики программного кода системы 70
3.5 Контрольный список по качеству реализации системы 71
3.6 Тестирование информационной системы 72
3.6.1 Разработка тест-кейсов для функционального тестирования системы 73
3.6.2 Протокол проведения функционального тестирования системы 75
3.6.3 Проведение модульного тестирования системы 77
3.7 Документация информационной системы 78
3.8 Выводы по третьей главы 83
4 Охрана труда 85
Выводы 86
Перечень ссылок 88
Приложение А листинг программного кода 90
1.1 Порівняння існуючих аналогів системи, що розроблюється
Перед початком робочого процесу треба провести дослідження предметної області та знайти певні аналоги майбутньої системи.
На сьогоднішній день існує невелика кількість програмних продуктів для медичних закладів, які є системами підтримки прийняття рішень лікарів у постановці необхідних діагнозів [1, 2]. Доступ до більшості з них можуть отримати лише працівники відповідних закладів, усі програмні рішення сертифіковані та мають закриту реалізацію. Одними з таких продуктів є програмне забезпечення для сегментації мозку Quantib™ Brain та програмний продукт компанії Kheiron Medical Technologies для скринінгу молочної залози з метою виявлення раку.
...
1.1.1 Програмне забезпечення Quantib™ Brain
Quantib™ ND – програмне забезпечення для сегментації мозку – незамінний медичний програмний засіб для кількісного визначення атрофії та виявлення лейкоараріозу (гіперінтенсивності білої речовини) [4]. Після останнього оновлення до попередніх функцій програмного забезпечення було додано істотний перелік нових функцій, що підтримують діагностику та моніторинг деменції та розсіяного склерозу, в результаті чого з'явився унікальний радіологічний програмний продукт (рис. 1.1). Програмне забезпечення є надійним інструментом для відстеження об'єктивного розвитку хвороб. Продукт включає графіки, що надають інформацію про очікуваний обсяг мозку в певному віці. Медики можуть використовувати цю інформацію для порівняння обсягу мозку своїх пацієнтів з обсягом репрезентативного перерізу населення, тобто визначають різницю між очікуваним та вимірюваним обсягом мозку.
...
1.1.2 Програмне забезпечення Mia™
MiaTM (англ. Mammography Intelligent Assessment – Мамографічна інтелектуальна оцінка) – програмний продукт компанії Kheiron Medical Technologies для скринінгу молочної залози [5]. Їх місія – допомогти рентгенологам виявити рак молочної залози раніше за допомогою алгоритмів глибокого навчання.
Рисунок 1.4 – Програмне забезпечення MiaTM
Kheiron Medical Technologies – перша британська компанія, яка отримала знак СЕ в глибокому навчанні та радіології. Вони поєднують нові методи глибокого вивчення та рентгенологічне розуміння, щоб виявити злоякісні утворення на мамограмах.
...
1.1.3 Результат порівнянь
Підведемо підсумки, порівнявши рішення та виділивши переваги та недоліки існуючих систем. Порівняльний аналіз зображено в таблиці 1.1. Основними критеріями для порівняння є наявність можливості отримання передбачення по знімку, сегментація ділянок, які мають підозру на захворювання, перегляд змін у пацієнта з часом, можливість експорту результатів досліджень, а також безкоштовність системи.
Таблиця 1.1 – Порівняльний аналіз існуючих рішень
Критерій
Програмне забезпечення Quantib™ Brain
Програмне забезпечення Mia™
Система, що розробляється
Отримання передбачення по знімку
+
+
+
Сегментація ділянок, що мають підозру на захворювання
+
+
+
Передбачення відносно рентгенів легень
-
-
+
Перегляд змін у пацієнта з часом
+
+
+
Експорт даних пацієнта
+
+
+
Безкоштовність
-
-
+
Таким чином, основними недоліками існуючих систем є те, що вони розроблені для вирішення інших медичних завдань, їх закрита реалізація та відсутність безкоштовних версій.
...
1.2.1 Вибір мови програмування
На сьогоднішній день існує багато мов програмування, які можуть бути використані для розробки системи, кожна з них має свої переваги та недоліки. Розглянемо найбільш популярні мови, враховуючи необхідний функціонал: Python, Java, Javascript.
Для мови програмування Python існує велика кількість бібліотек та фреймворків, які стали традиційними для проведення математичних обчислень, побудування та оцінки моделей для цілей машинного навчання з одного боку, а також існують фреймворки для зручної реалізації серверної частини. Основні переваги мови:
• мова Python є швидкодiючою. За швидкiстю виконання вона мало чим поступається мовi С++, а також надає розробникам новi iнструменти та засоби та бiндинги до iнших мов програмування;
• мова Python є маcштабовною. На цiй мовi розробляють програми для найрiзноманiтнiших платформ i систем.
...
1.2.2 Вибір середовища програмування
PyCharm – інтегроване середовище розробки на мові Python. Воно надає засоби для аналізу коду, графічний відлагоджувач, інструмент для запуску юніт-тестів і підтримує веб-розробку на Django. PyCharm розроблена російською компанією JetBrains на основі IntelliJ IDEA. PyCharm працює під операційними системами Windows, Mac OS X і Linux.
...
1.2.3 Вибір фреймворків та бібліотек, що використовуються
TensorFlow – відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявлення та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди. Її наразі застосовують як для досліджень, так і для розробки продуктів Google, часто замінюючи на його ролі її закритого попередника, DistBelief.
TensorFlow надає бібліотеку готових алгоритмів чисельних обчислень, реалізованих через графи потоків даних (data flow graphs). Вузли в таких графах реалізують математичні операції або точки входу/виводу, в той час як ребра графа представляють багатовимірні масиви даних (тензори), які перетікають між вузлами.
...
1.2.4 Вибір бази даних
СКБД PostgreSQL – об'єктно-реляційна система керування базами даних. Вона є альтернативою як комерційним СКБД (Oracle Database, Microsoft SQL Server, IBM DB2 та інші), так і СКБД з відкритим кодом (MySQL, Firebird, SQLite).
Порівняно з іншими проектами з відкритим кодом, такими як Apache, FreeBSD або MySQL, PostgreSQL не контролюється якоюсь однією компанією, її розробка можлива завдяки співпраці багатьох людей та компаній, які хочуть використовувати цю СКБД та впроваджувати у неї найновіші досягнення. Сервер PostgreSQL написаний на мові C.
...
1.2.5 Вибір архітектурного шаблону та паттернів проектування
Для взаємодії клієнт-сервер було обрано архітектуру REST, який надає підхід до розробки веб-API. REST розшифровується як репрезентативна передача стану, а API – інтерфейс прикладної програми. REST – це програмний архітектурний стиль, який визначає набір правил, які будуть використовуватися для створення веб-служб.
Веб-сервіси, що відповідають архітектурному стилю REST, відомі як RESTful веб-сервіси. Це дозволяє запитувати системи доступу та керувати веб-ресурсами, використовуючи єдиний і заздалегідь визначений набір правил. Взаємодія в системах на базі REST відбувається через протокол передачі гіпертексту в Інтернеті (HTTP). Система RESTful складається з клієнта, який запитує ресурси та сервера, який має ресурси.
Також фреймворк Django реалізує трьохярусну архітектуру (three-tier architecture), тому система має три шари: шар уявлення, шар логіки та шар даних.
...
1.3.1 Вибір даних та алгоритмів попередньої обробки медичних зображень
В якості вибірки даних була обрана “SIIM-ACR Pneumothorax Segmentation”, представлена організацією SIIM (Society for Imaging Informatics in Medicine) [9]. SIIM є провідною професійною організацією охорони здоров’я для тих, хто зацікавлений у поточному та майбутньому використанні інформатики для роботи з медичними даними. Місія суспільства полягає в просуванні інформатики медичних зображень на підприємстві через освіту, дослідження та інновації в мультидисциплінарному співтоваристві.
Медичні зображення з цієї вибірки, як і більшість медичних даних, зберігаються у спеціальному форматі DICOM. Цифрові зображення та комунікації в медицині (DICOM) є стандартом для комунікації та управління медичною візуальною інформацією та суміжних даних.
...
1.3.2 Вибір та обґрунтування алгоритму машинного навчання для сегментації аномалій на медичних зображеннях
З комп'ютерної точки зору, сегментація — це процес розділення цифрового зображення на декілька сегментів. Сегментацію зображень зазвичай використовують для виділення об'єктів та меж (лінії, криві, і т. д.) на зображеннях [3]. Точніше, сегментація зображень — це процес присвоєння таких міток кожному пікселю зображення, що пікселі з однаковими мітками мають спільні візуальні характеристики. Результатом сегментації зображення є множина сегментів, які разом покривають все зображення, або множина контурів, виділених з зображення.
Cемантична сегментація зображення означає привласнення кожному пікселю певної позначки. У цьому полягає головна відмінність від класифікації, де всьому зображення ставиться у відповідність тільки одна мітка. Сегментація працює з безліччю об'єктів одного класу як з єдиним цілим.
Інстанс-сегментація обробляє кілька об'єктів одного класу як різні об'єкти.
...
1.4 Висновки до першого розділу
В результати проведення порівняння аналогів були розглянуті дві системи, що стоять найближче до системи, що розробляється, за функціоналом, але мають іншу мету.
Для побудови майбутньої системи, будуть використовуватись основні переваги інших систем та додані свої унікальні ознаки, які б відзначили та відрізнили застосунок з ряду інших та привнесла дещо нове. Зокрема, саме використання методів машинного навчання є ключовою особливістю системи, що розробляється.
Також були розглянуті основні технології, які будуть потрібні на етапі реалізації системи, а деякі вже на етапі проектування. Всі технології є безкоштовними та розповсюджуються за відкритими, вільними ліцензіями, а тому їх використання не накладає ніяких обмежень. Основною мовою програмування для реалізації алгоритму машинного навчання та серверної частини буде Python, а для клієнтської – JavaScript, а середами розробки відповідно JetBrains PyCharm та Visual Studio Code.
...
2.3 Функціональні вимоги
Група 1. Авторизація у системі.
F1.1 Функція прямої авторизації користувача у системі.
Дана функція доступна для Користувача та Адміністратора ІС.
FR1.1.1. Кожен користувач при авторизації має ввести логін та пароль.
FR1.1.2. У разі некоректного пароля або логіна система повинна видати повідомлення: «Некоректний логін або пароль» не вказуючи, що саме помилково.
FR1.1.3. Допустима довжина для логіна становить не більше 15 символів, для пароля - 20. Допускаються тільки символи латинського алфавіту і цифри.
FR1.1.4. При успішній авторизації користувач потрапляє на головну сторінку.
Група 2. Реєстрація в системі.
F2.1 Функція реєстрації гостей в системі.
Дана функція доступна для Гостей ІС.
FR2.1.1. Гість для реєстрації має заповнити необхідні поля: логін (обов'язково), пароль (обов'язково), ім'я, прізвище, організацію, посаду
FR2.1.2. У разі введення не всіх обов'язкових полів система повинна видати повідомлення: «Введіть всі обов'язкові поля!».
FR2.1.3.
...
2.6 Користувацький інтерфейс
Для наглядної візуалізації інтерфейсу користувача були розроблені мокапи сторінок веб-сайту. Проектування інтерфейсу користувача здійснювалось, виходячи із принципів мінімалістичного та плоского дизайну. Такий стиль дизайну дозволяє покращити досвід використання веб-сайту користувачем, завдяки тому, що відсутня велика кількість відволікаючих блоків інформації, а присутні елементи можуть використовуватись інтуїтивно, покращуючи UX якості веб-сторінок.
Дизайн було спроектовано однозначно; таким чином, щоб в незалежності від платформи, операційної системи, або браузеру, веб-сторінки мали єдиний стандартний вигляд, який відповідає макетам, що проектуються.
Веб-сайт буде мати 6 основних сторінок, вікна можна представити у вигляді таблиці з ідентифікаторами (табл. 2.1).
Таблиця 2.1 Описання сторінок веб-сайту
Ідентифікатор
Опис вікна
1
Сторінка авторизації.
2
Сторінка реєстрації.
...
2.9 Уявлення слоїв ІС
Вся система базується на двух фреймворках – React та Django. За допомогою даних фреймворків буде реалізована трьохярусна архітектура (three-tier architecture), тому система матиме три шари - шар даних, шар логіки та шар уявлення.
На рівні даних описуються моделі даних, що описують сутності бази даних. За допомогою засобів фреймворку моделі автоматично використовують вбудовані ORM, конструктор запитів та засоби взаємодії з базою даних.
На рівні логіки присутні класи-контролери, що взаємодіють с моделями даних, оновлюючи їх. За роботу з алгоритмом машинного навчання відповідає MLModel.
На рівні представлення присутні усі компоненти, які створені за допомогою фреймворку React та відповідають за взаємодію із користувачем и відображення усієї інформації.
Діаграма уявлення шарів системи зображена на рисунку 2.18.
Рисунок 2.
...
2.10 Уявлення процесів ІС
У системі підтримки прийняття рішень можна виділити два основних сценарія роботи із нею.
Сценарій 1. Один з головних алгоритмів системи – можливість передбачення наявності захворювання у пацієнта на рентгенівському знімку. Діаграма активності для даного сценарію зображена на рисунку 2.20.
Рисунок 2.20 – Діаграма активності отримання передбачення алгоритмом машинного навчання
Користувач за допомогою інтерфейсу (DiadnosticComponent) завантажує знімок та мета-дату, які відправляються на сервер (DiagnosticViewSet). На веб-сервері запускається алгоритм машинного навчання (MlModel), який спочатку обробляє вхідні дані, а потом здійснює передбачення. Усі передбачення разом із мета-датою відправляються до моделі даних (Prediction), а потім зберігаються у базі даних. Діаграма послідовностей для даного сценарію зображена на рисунку 2.21.
Рисунок 2.21 – Діаграма послідовностей отримання передбачення алгоритмом машинного навчання
Сценарій 2.
...
2.11 Уявлення даних ІС
Сховище даних буде одним та має тип PostgreSQL. У якості ORM фреймворку буде використовуватись Django ORM. Реляційна схема бази даних зображена на рисунку 2.24.
...
2.16 Опис стеку технологій
Для розробки серверної частини системи використовується фреймворк Django. Для написання її програмного коду використовується мова програмування Python.
Для розробки модулю машинного навчання використовується бібліотека Keras для мови програмування Python. Дана бібліотека дозволяє швидко проектувати, розроблювати на навчати нейронні мережі.
Для розробки клієнтської частини системи використовується фреймворк React. Для написання її програмного коду використовується мова програмування JavaScript.
База даних створюється за допомогою інструментарію PostgreSql, робота з якою відбувається за допомогою ORM моделі Django. Фреймворк надає можливість записувати, видаляти, редагувати чи доставати дані з бази, що знаходиться на пристрої користувача.
Для модульного тестування проекту використовується стандартна бібліотека Python unittest.
2.
...
1. H. Shibata, S. Hanaoka et al. Anomaly detection in chest radiographs with a weakly supervised flow-based deep learning method [Електронний ресурс] / Cornell University Library – документ. Режим доступу: https://arxiv.org/pdf/2001.07847.pdf.
2. S. Guendel, F. Ghesu et al. Multi-task Learning for Chest X-ray Abnormality Classification on Noisy Labels [Електронний ресурс] /
Cornell University Library – документ. Режим доступу: https://arxiv.org/pdf/1905.06362.pdf.
3. Лутц М. Изучаем Python, 4-е издание. / Пер. с англ. – СПб: Символ-Плюс, 2011. – 1280 с.
и еще 7 источников
Купить эту работу vs Заказать новую | ||
---|---|---|
0 раз | Куплено | Выполняется индивидуально |
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что
уровень оригинальности
работы составляет не менее 40%
|
Уникальность | Выполняется индивидуально |
Сразу в личном кабинете | Доступность | Срок 1—6 дней |
2700 ₽ | Цена | от 3000 ₽ |
Не подошла эта работа?
В нашей базе 55690 Дипломных работ — поможем найти подходящую