Эквивалент Tensorflow эквивалента Matlab bigimageDatastore для листов WSI без сохранения? - PullRequest
0 голосов
/ 18 апреля 2020

В настоящее время я работаю над гистопатологическими c изображениями (или WSI для изображений с целыми слайдами) в рамках проекта, посвященного многоклассовой классификации опухолей с использованием глубокого обучения. Я использую Python 3.7.1 и Tensorflow 2.0.

WSI часто имеют размер + 1 ГБ с указанным форматом c (.svs, .czi, .tiff и др. c.) , что делает их использование как сложно. После быстрого обзора литературы я начал создавать алгоритм предварительной обработки с целью извлечения исправлений из WSI. Эти патчи RGB обычно имеют форму 224x224x3 (или 299x299x3) и хранятся локально до подачи их в нейронную сеть. Процесс извлечения занимает довольно много времени в зависимости от спецификаций хранилища (например, SSD или HDD), в основном из-за шагов хранения ... Небольшие .png образы обычно занимают 1 Mo на диске. Это, безусловно, может быть уменьшено в зависимости от коэффициента сжатия, используемого в преобразовании PNG или JPEG. В среднем 5000 изображений извлекаются из WSI, что подразумевает наличие на диске не менее + 5 ГБ, что немаловажно.

Если предположить, что я хочу проверить влияние некоторых параметров предварительной обработки (например, размера изображения), На этапе предварительной обработки (как я его реализовал) новые образы снова будут сохранены на диске.

Вопрос: Знаете ли вы какое-либо конкретное c использование Tensorflow tf.data / tf.dataset, которое могло бы использовать мою функцию предварительной обработки в качестве параметра и извлекать плитки + перемешивать + кормить сеть на лету ?

Это помешало бы мне локально хранить изображения. Я нашел интересное руководство Matlab о том, как обрабатывать большие WSI для обучения Inception-v3 на WSI (см. https://www.mathworks.com/help/images/deep-learning-classification-of-large-multiresolution-images.html) с использованием объекта bigimagedatastore (https://www.mathworks.com/help/images/ref/bigimagedatastore.html). Кажется, что небольшие патчи (или тайлы) не хранятся локально. Я цитирую: « Отдельные блоки изображения, соответствующие изображению логической маски, находятся во временном каталоге. Запись в каталог сохраняет пользовательские пространственные ссылки, что гарантирует, что нормальные изображения и соответствующие им изображения маски имеют одинаковые пространственные ссылки."

Большое спасибо!

...