问题标签 [semantic-segmentation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5991 浏览

computer-vision - Caffe 可以直接对图像的像素进行分类吗?

我想将图像的像素分类为“是街道”或“不是街道”。我有一些来自KITTI 数据集的训练数据,并且我看到 Caffe 有一个IMAGE_DATA图层类型。标签以与输入图像大小相同的图像形式存在。

除了 Caffe,我解决这个问题的第一个想法是在应该分类的像素周围提供图像补丁(例如,顶部/左侧/右侧/底部 20 个像素,导致每个像素有 41×41=1681 个我想要分类的特征.
但是,如果我可以告诉 caffe 如何使用标签而不必手动创建这些图像补丁(并且图层类型IMAGE_DATA似乎表明这是可能的)我更喜欢那样。

Caffe 可以直接对图像的像素进行分类吗?这样的 prototxt 网络定义会是什么样子?如何向 Caffe 提供有关标签的信息?

我猜输入层会是这样的

但是,我不确定究竟是什么crop_size意思。真的是居中吗?caffe 是如何处理角点像素的?new_height有什么new_width好处?

0 投票
3 回答
50936 浏览

image-processing - 与“分割”和“场景标注”相比,什么是“语义分割”?

语义分割只是一种 Pleonasm 还是“语义分割”和“分割”之间有区别?“场景标记”或“场景解析”有区别吗?

像素级分割和像素级分割有什么区别?

(附带问题:当你有这种逐像素注释时,你是免费获得对象检测还是还有什么可做的?)

请提供您的定义的来源。

使用“语义分割”的来源

  • Jonathan Long、Evan Shelhamer、Trevor Darrell:用于语义分割的全卷积网络。CVPR,2015 年和 PAMI,2016 年
  • Hong、Seunghoon、Hyeonwoo Noh 和 Bohyung Han:“用于半监督语义分割的解耦深度神经网络”。arXiv 预印本 arXiv:1506.04924 , 2015。
  • V. Lempitsky、A. Vedaldi 和 A. Zisserman:语义分割的 pylon 模型。在神经信息处理系统的进展中,2011 年。

使用“场景标签”的来源

使用“像素级”的来源

  • Pinheiro、Pedro O. 和 Ronan Collobert:“使用卷积网络从图像级到像素级标签。” IEEE 计算机视觉和模式识别会议论文集,2015 年。(参见http://arxiv.org/abs/1411.6228

使用“pixelwise”的来源

  • Li、Hongsheng、Rui Zhao 和 Xiaogang Wang:“用于像素分类的卷积神经网络的高效前向和反向传播。” arXiv 预印本 arXiv:1412.4526 , 2014。

谷歌 Ngram

“语义分割”最近似乎比“场景标注”更常用

在此处输入图像描述

0 投票
1 回答
853 浏览

neural-network - 语义分割中的上采样

我正在尝试实现一篇关于语义分割的论文,但我对如何对分割网络生成的预测图进行上采样以匹配输入图像大小感到困惑。

例如,我使用 Resnet101 的一个变体作为分割网络(如本文所用)。使用这种网络结构,大小为 321x321(本文再次使用)的输入会生成大小为 41x41xC(C 是类数)的最终预测图。因为我必须进行像素级预测,所以我需要将其上采样到 321x321xC。Pytorch 提供向上采样的功能,输出大小是预测图大小的倍数。所以,我不能在这里直接使用那个方法。

因为这一步涉及到每个语义分割网络,我相信应该有一个标准的方法来实现它。

我会很感激任何指示。提前致谢。

0 投票
1 回答
1418 浏览

python-3.x - 执行 sess.run() 时出错

我想执行我的图形模型,但我遇到了困难。代码是:

错误是:

-------------------------------------------------- ------------------------- KeyError Traceback(最近一次调用最后一次) D:\AnacondaIDE\lib\site-packages\tensorflow\python\client\ session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
1067 subfeed_t = self.graph.as_graph_element(subfeed, allow_tensor=True, -> 1068 allow_operation=False) 1069 例外为 e:

D:\AnacondaIDE\lib\site-packages\tensorflow\python\framework\ops.py in as_graph_element(self, obj, allow_tensor, allow_operation) 2707
with self._lock: -> 2708 return self._as_graph_element_locked(obj, allow_tensor, allow_operation ) 2709

D:\AnacondaIDE\lib\site-packages\tensorflow\python\framework\ops.py in _as_graph_element_locked(self, obj, allow_tensor, allow_operation) 2749 ”存在。操作,%s,不存在于“ -> 2750 “图形。” % (repr(name), repr(op_name))) 2751 尝试:

KeyError:“名称‘x:0’指的是不存在的张量。操作‘x’在图中不存在。”

在处理上述异常的过程中,又出现了一个异常:

() 22 # feed_dict = {x: epoch_x, y: epoch_y} 23 ---> 24 sess.run(optimizer, feed_dict = {"x:0": epoch_x, "y: 0": epoch_y}) 25 train_loss.append(sess.run(cost, feed_dict = {x: epoch_x, y: epoch_y})) 26 train_accuracy.append(sess.run(accr, feed_dict = {x: epoch_x, y: epoch_y}))

D:\AnacondaIDE\lib\site-packages\tensorflow\python\client\session.py in run(self, fetches, feed_dict, options, run_metadata) 893 try: 894 result = self._run(None, fetches, feed_dict, options_ptr , --> 895 run_metadata_ptr) 896 if run_metadata: 897 proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

D:\AnacondaIDE\lib\site-packages\tensorflow\python\client\session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
1069 例外为 e: 1070 raise TypeError('无法解释 feed_dict 键作为张量:' -> 1071 + e.args[0]) 1072 1073 if isinstance(subfeed_val, ops.Tensor):

TypeError:无法将 feed_dict 键解释为张量:名称“x:0”指的是不存在的张量。图中不存在操作“x”。

我也试过以下说法:

那么错误是:

-------------------------------------------------- ------------------------- NameError Traceback (last last call last) in () 22 # feed_dict = {x: epoch_x, y: epoch_y} 23 ---> 24 sess.run(优化器, feed_dict = {x: epoch_x, y: epoch_y}) 25 train_loss.append(sess.run(cost, feed_dict = {x: epoch_x, y: epoch_y})) 26 train_accuracy。追加(sess.run(accr,feed_dict = {x:epoch_x,y:epoch_y}))

NameError:名称“x”未定义

请注意,print(features.shape)产量:

(4000, 6000, 3)

我正在使用 Tensorflow-gpu (1.3.0)。

0 投票
1 回答
2264 浏览

tensorflow - Nan 在摘要直方图中: deconv2/biases

我的图像的原始大小是 3900 x 6000 x 3。我制作重叠的形状块 (232024, 28, 28, 3),然后制作大小为 1000 的批次。我有一个用于语义分割的 CNN 模型,如下所示:

开始培训课程时出现错误。错误如下:

[01/1000] trainLoss: 0.0000 trainAcc: 1.00

INFO:tensorflow:Error 报告给 Coordinator: , Nan 在摘要直方图中: deconv2/biases [[Node: deconv2/biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device :CPU:0"](deconv2/biases/tag, deconv2/bias/read/_105)]] [[节点:batch/fifo_queue_Size/_91 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task :0/device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_37_batch/fifo_queue_Size", tensor_type=DT_INT32, _device ="/job:localhost/replica:0/task:0/device:GPU:0"]]

由操作“deconv2/biases”引起,定义在:文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\runpy.py”,第 193 行,在 _run_module_as_main “ main", mod_spec) 文件 "c:\users\fawad khalil\appdata\local\programs\python\python36\lib\runpy.py",第 85 行,_run_code exec(code, run_globals) 文件 "c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel_launcher.py”,第 16 行,在 app.launch_new_instance() 文件“c:\users\fawad khalil\appdata\local\programs\python\ python36\lib\site-packages\traitlets\config\application.py”,第 658 行,在 launch_instance app.start() 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site -packages\ipykernel\kernelapp.py”,第 478 行,开始 self.io_loop.start() 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\zmq\ eventloop\ioloop.py",第 177 行,在 start super(ZMQIOLoop, self) 中。start() 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tornado\ioloop.py”,第 888 行,在 start handler_func(fd_obj, events) 文件“c :\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tornado\stack_context.py",第 277 行,在 null_wrapper 中返回 fn(*args, **kwargs) 文件“c:\ users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\zmq\eventloop\zmqstream.py”,第 440 行,在 _handle_events self._handle_recv() 文件“c:\users\fawad khalil\ appdata\local\programs\python\python36\lib\site-packages\zmq\eventloop\zmqstream.py”,第 472 行,在 _handle_recv self._run_callback(callback, msg) 文件“c:\users\fawad khalil\appdata\本地\程序\python\python36\lib\site-packages\zmq\eventloop\zmqstream。py”,第 414 行,在 _run_callback 回调(*args,**kwargs)文件中“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tornado\stack_context.py”,第 277 行,在 null_wrapper 返回 fn(*args, **kwargs) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\kernelbase.py”,第 281 行,在调度程序返回 self.dispatch_shell(stream, msg) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\kernelbase.py”,第 232 行,在 dispatch_shell handler(stream, idents, msg) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\kernelbase.py”,第 397 行,在 execute_request user_expressions,allow_stdin)文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\ipkernel.py”,第 208 行,在 do_execute res = shell.run_cell(代码,store_history=store_history,silent=silent)文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\zmqshell.py”,第 533 行,在 run_cell 返回 super(ZMQInteractiveShell, self).run_cell(*args , **kwargs) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\IPython\core\interactiveshell.py”,第 2728 行,run_cell interactivity=interactivity,编译器=compiler, result=result) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\IPython\core\interactiveshell.py”,第 2850 行,如果 self.运行代码(代码,结果):在 run_code exec(code_obj, self.user_global_ns, self. user_ns) 文件 "",第 1 行,在输出 = semantic_seg_model(image_batch, tf.estimator.ModeKeys.TRAIN, BATCH_SIZE) 文件 "",第 107 行,在语义_seg_model 名称 = "deconv2") 文件 "",第 78 行,在 deconv_layer tf.summary.histogram("biases", bias) 文件 "c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\summary\summary.py", 行192、在直方图中 tag=tag, values=values, name=scope) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\ops\gen_logging_ops.py”,第 187 行,在 _histogram_summary “HistogramSummary”中,tag=tag,values=values,name=name)文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ tensorflow\python\framework\op_def_library.py”,第 787 行,在 _apply_op_helper op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\ framework\ops.py”,第 2956 行,在 create_op op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops. py",第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\op_def_library.py”,第 787 行,在 _apply_op_helper op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 2956 行,在 create_op op_def=op_def) 文件“c:\users\fawad khalil\appdata\ local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py",第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\op_def_library.py”,第 787 行,在 _apply_op_helper op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 2956 行,在 create_op op_def=op_def) 文件“c:\users\fawad khalil\appdata\ local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py",第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 1470 行,在init self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

InvalidArgumentError(参见上面的回溯):Nan 在摘要直方图中: deconv2/biases [[Node: deconv2/biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU :0"](deconv2/biases/tag, deconv2/bias/read/_105)]] [[节点:batch/fifo_queue_Size/_91 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0 /device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_37_batch/fifo_queue_Size", tensor_type=DT_INT32, _device=" /job:localhost/replica:0/task:0/device:GPU:0"]]

本期完成的迭代次数:0 ------------------------------------------ --------------------------------- InvalidArgumentError Traceback(最近一次调用最后一次) c:\users\fawad khalil\appdata \local\programs\python\python36\lib\site-packages\tensorflow\python\client\session.py 在 _do_call(self, fn, *args) 1322 中尝试:-> 1323 返回 fn(*args) 1324,但错误除外。操作错误为 e:

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\client\session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata) 1301 feed_dict , fetch_list, target_list, -> 1302 状态, run_metadata) 1303

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\errors_impl.py退出(self,type_arg,value_arg,traceback_arg)472 compat.as_text(c_api .TF_Message(self.status.status)), --> 473 c_api.TF_GetCode(self.status.status)) 474 # 从内存中删除底层状态对象,否则它保持活动状态

InvalidArgumentError: Nan in summary histogram for: deconv2/biases
[[Node: deconv2/biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](deconv2 /biases/tag, deconv2/bias/read/_105)]] [[节点:batch/fifo_queue_Size/_91 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0 ", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_37_batch/fifo_queue_Size", tensor_type=DT_INT32, _device="/job:localhost/replica :0/任务:0/设备:GPU:0"]]

在处理上述异常的过程中,又出现了一个异常:

InvalidArgumentError Traceback (most recent call last) in () 40 # 照常终止。coord.request_stop()打两次电话是安全的。41 coord.request_stop() ---> 42 coord.join(enqueue_threads) 43 44 sess.close()

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\training\coordinator.py in join(self, threads, stop_grace_period_secs, ignore_live_threads) 387 self._registered_threads = set () 388 if self._exc_info_to_raise: --> 389 Six.reraise(*self._exc_info_to_raise) 390 elif stragglers: 391 if ignore_live_threads:

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\six.py in reraise(tp, value, tb) 691 if value。回溯不是 tb: 692 raise value.with_traceback(tb) --> 693 raise value 694 finally: 695 value = None

in () 13 train_loss = []; train_accuracy = [] 14 ---> 15 s = sess.run(merged_summary) 16 writer.add_summary(s, epoch) 17

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\client\session.py 在运行中(self,fetches,feed_dict,options,run_metadata)887 尝试:888结果 = self._run(None, fetches, feed_dict, options_ptr, --> 889 run_metadata_ptr) 890 if run_metadata: 891 proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\client\session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
1118 if final_fetches or final_targets or (handle and feed_dict_tensor): 1119 results = self._do_run(handle, final_targets, final_fetches, -> 1120 feed_dict_tensor, options, run_metadata) 1121 else: 1122 results = []

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\client\session.py in _do_run(self、handle、target_list、fetch_list、feed_dict、options、run_metadata) 1315 如果句柄为无:1316 返回 self._do_call(_run_fn, self._session, feeds, fetches, targets, -> 1317 options, run_metadata) 1318 else: 1319 return self._do_call(_prun_fn, self._session, handle, feeds,获取)

c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args) 1334 除了 KeyError: 1335 pass - > 1336 raise type(e)(node_def, op, message) 1337 1338 def _extend_graph(self):

InvalidArgumentError: Nan in summary histogram for: deconv2/biases
[[Node: deconv2/biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](deconv2 /biases/tag, deconv2/bias/read/_105)]] [[节点:batch/fifo_queue_Size/_91 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:GPU:0 ", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_37_batch/fifo_queue_Size", tensor_type=DT_INT32, _device="/job:localhost/replica :0/任务:0/设备:GPU:0"]]

由操作“deconv2/biases”引起,定义在:文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\runpy.py”,第 193 行,在 _run_module_as_main “ main", mod_spec) 文件 "c:\users\fawad khalil\appdata\local\programs\python\python36\lib\runpy.py",第 85 行,_run_code exec(code, run_globals) 文件 "c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel_launcher.py”,第 16 行,在 app.launch_new_instance() 文件“c:\users\fawad khalil\appdata\local\programs\python\ python36\lib\site-packages\traitlets\config\application.py”,第 658 行,在 launch_instance app.start() 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site -packages\ipykernel\kernelapp.py”,第 478 行,开始 self.io_loop.start() 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\zmq\ eventloop\ioloop.py",第 177 行,在 start super(ZMQIOLoop, self) 中。start() 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tornado\ioloop.py”,第 888 行,在 start handler_func(fd_obj, events) 文件“c :\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tornado\stack_context.py",第 277 行,在 null_wrapper 中返回 fn(*args, **kwargs) 文件“c:\ users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\zmq\eventloop\zmqstream.py”,第 440 行,在 _handle_events self._handle_recv() 文件“c:\users\fawad khalil\ appdata\local\programs\python\python36\lib\site-packages\zmq\eventloop\zmqstream.py”,第 472 行,在 _handle_recv self._run_callback(callback, msg) 文件“c:\users\fawad khalil\appdata\本地\程序\python\python36\lib\site-packages\zmq\eventloop\zmqstream。py”,第 414 行,在 _run_callback 回调(*args,**kwargs)文件中“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tornado\stack_context.py”,第 277 行,在 null_wrapper 返回 fn(*args, **kwargs) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\kernelbase.py”,第 281 行,在调度程序返回 self.dispatch_shell(stream, msg) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\kernelbase.py”,第 232 行,在 dispatch_shell handler(stream, idents, msg) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\kernelbase.py”,第 397 行,在 execute_request user_expressions,allow_stdin)文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\ipkernel.py”,第 208 行,在 do_execute res = shell.run_cell(代码,store_history=store_history,silent=silent)文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ipykernel\zmqshell.py”,第 533 行,在 run_cell 返回 super(ZMQInteractiveShell, self).run_cell(*args , **kwargs) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\IPython\core\interactiveshell.py”,第 2728 行,run_cell interactivity=interactivity,编译器=compiler, result=result) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\IPython\core\interactiveshell.py”,第 2850 行,如果 self.运行代码(代码,结果):在 run_code exec(code_obj, self.user_global_ns, self. user_ns) 文件 "",第 1 行,在输出 = semantic_seg_model(image_batch, tf.estimator.ModeKeys.TRAIN, BATCH_SIZE) 文件 "",第 107 行,在语义_seg_model 名称 = "deconv2") 文件 "",第 78 行,在 deconv_layer tf.summary.histogram("biases", bias) 文件 "c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\summary\summary.py", 行192、在直方图中 tag=tag, values=values, name=scope) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\ops\gen_logging_ops.py”,第 187 行,在 _histogram_summary “HistogramSummary”中,tag=tag,values=values,name=name)文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\ tensorflow\python\framework\op_def_library.py”,第 787 行,在 _apply_op_helper op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\ framework\ops.py”,第 2956 行,在 create_op op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops. py",第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\op_def_library.py”,第 787 行,在 _apply_op_helper op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 2956 行,在 create_op op_def=op_def) 文件“c:\users\fawad khalil\appdata\ local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py",第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\op_def_library.py”,第 787 行,在 _apply_op_helper op_def=op_def) 文件“c:\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 2956 行,在 create_op op_def=op_def) 文件“c:\users\fawad khalil\appdata\ local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py",第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 1470 行,在\users\fawad khalil\appdata\local\programs\python\python36\lib\site-packages\tensorflow\python\framework\ops.py”,第 1470 行,在init self._traceback = self._graph._extract_stack() # pylint: disable=protected-access

InvalidArgumentError(参见上面的回溯):Nan 在摘要直方图中: deconv2/biases [[Node: deconv2/biases = HistogramSummary[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU :0"](deconv2/biases/tag, deconv2/bias/read/_105)]] [[节点:batch/fifo_queue_Size/_91 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0 /device:GPU:0", send_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device_incarnation=1, tensor_name="edge_37_batch/fifo_queue_Size", tensor_type=DT_INT32, _device=" /job:localhost/replica:0/task:0/device:GPU:0"]]

github tensorflow issues 上的某个人建议尝试在模型发散时降低学习率,但这并没有帮助。另一个建议应该将 dtype 从 float16 更改为 float32,因为 float16 是有问题的。当我将数据的 dtype 更改为 float32 时,我在 python 日志控制台中收到以下错误:

[libprotobuf 错误 C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\cmake_build\protobuf\src\protobuf\src\google\protobuf\message_lite.cc:297] 超过最大 protobuf 大小2GB。[libprotobuf 错误 C:\tf_jenkins\home\workspace\rel-win\M\windows-gpu\PY\36\cmake_build\protobuf\src\protobuf\src\google\protobuf\message_lite.cc:297] 超过最大 protobuf 大小2GB

当我尝试增加图像重叠块的宽度和高度时,也会发生同样的错误。我也尝试过减少 BATCH_SIZE 但没有帮助。

我有 4GB NVIDIA GeForce GTX 960M 专用显卡和 16GB RAM,配备 Intel Core i7-6700HQ CPU @ 2.60 GHz 2.60 GHz。Python 版本为 3.6.4,Tensorflow 版本为 1.4,带 GPU。

更新 1: 更新模型:

0 投票
1 回答
137 浏览

tensorflow - 用于语义分割的全卷积神经网络

如果这不是询问此类问题的适当渠道,我可能有一个幼稚的问题,很抱歉。我已经成功实现了一个用于语义分割的 FCNN,但我不涉及反卷积或反池化层。

我所做的只是将地面实况图像调整为最终 FCNN 层的大小,然后计算我的损失。通过这种方式,我获得了一个较小的图像作为输出,但正确分割。

是否需要反卷积或反池化过程?

我的意思是,在 python 中调整图像大小非常容易,那么为什么要涉及复杂的技术,例如 deconv 或 unpooling 来做同样的事情呢?我当然想念一些东西。

使用 unpooling 和执行 deconv 放大图像有什么优势?

0 投票
0 回答
36 浏览

deep-learning - 语义分割,关于面具?

如果我拿到了feature map上的mask,比如一个7 x 7的feature map,那么这些7 x 7的mask怎么会最终变成raw image上的mask呢?使用插值还是上采样?就我而言,如果您在只有 49 个像素的 7 x 7 特征图上进行遮罩,那么在原始图像中遮盖对象会不会太粗糙,因为您不能对仅 49 像素太具体...

非常感谢!!

0 投票
0 回答
977 浏览

python - keras - 用于语义分割的每像素、非标准化、softmax 损失

我正在对用于语义分割的 Keras/TensorFlow U-Net 进行故障排除。我不断遇到的一件事是这样的说法......

“现在的问题是在你的情况下使用 softmax,因为 Keras 不支持每个像素上的 softmax。”

这在此处(以及许多其他地方)进行了说明:语义分割 Keras 的交叉熵损失

他们典型的解决方案是将行和列展开为 1d,因此形状 (batch, rows, cols, n_classes) 的输出 (4d) 张量变为 3d 张量 (batch, rows*cols, n_classes) 并对其应用密集的 softmax。

但是这个虚拟示例让我认为具有 1x1 内核和“softmax”激活的 Conv2d 层确实执行每个像素的 softmax。

我错了吗?

例子:

在这种情况下,模拟输入到每像素 softmax 分类器的 3x3 字段,具有 5 个过滤器

构建 2 个具有相同随机权重的网络(一个线性,一个 softmax)

楷模

预测

这两个网络是否做出相同的预测?是的。

对于 softmax,每个像素类概率的总和是否为 1.0?是的。

我错过了什么?这看起来像每像素 softmax 工作正常,对吧?

有一些我不理解的基本内容吗?

提前致谢。

0 投票
1 回答
378 浏览

python-3.x - 无法为 Pascal VOC 泡菜数据集加载泡菜

我正在尝试从斯坦福网站加载 Pascal VOC 数据集还尝试在 Pascal VOC Pystruct 博客上实现语义图像分割的代码。但是当我尝试加载泡菜文件时,我得到了 UnicodeDecodeError。到目前为止,我尝试了以下代码:

我得到了这个错误:

我找不到任何相同的问题和解决方案。我怎样才能让它工作?

0 投票
1 回答
884 浏览

deep-learning - 在 Keras 中连接之前调整卷积层的大小

我正在阅读U-Net: Convolutional Networks for Biomedical Image Segmentation并希望在 Keras 中实现这一点。

在 U-Net 中,我需要连接卷积层,一个在收缩路径中,另一个在扩展路径中(论文中的图 1.1)。

但是,它们的大小不匹配,所以我必须在连接之前调整卷积层的输出大小。

我如何在 Keras 中做到这一点?