: x4 c4 |* e9 O( D- h" O
hi,我是为你们的xio习操碎了心的和鲸社区男运营 我们的网站:和鲸社区 Heywhale.com
( {% K$ u1 n8 V; W% n 我们的公众号:和鲸社区(ID:heywhale-kesci) 有干货,来!大家好,事情的起源是这样的,我司搞了个声学图像水下目标检测的比赛,项目的同学托我来这里宣传宣传。
) E& h- N2 A1 Y; r0 D 好嘛,举手之劳。
* }" O { W# z1 W0 Z
0 @8 y4 c' _: I 但是我仔细看了下题目,咦,声学我懂,但是声学图像是啥?刚看到数据集的图片,我是懵的
$ w# s: { v* v9 h & W, X) K/ I' [/ e8 w$ f
唯一的感觉是“金色的,怪好看的 ”,但你问我这具体画了啥?别问,问就是“我只能分清前视和侧扫” + Z" X' H7 f; L6 b0 O5 x! U
刚刚恶补了一下办赛老师的ppt,终于给整明白了,让我来个脱水版的说明。
7 x2 _' `# z, O. R9 r$ Z5 W" J 先看这两张图 - L; K1 ^9 D' m
+ u1 Q1 U9 M8 l% Q$ h1 I, [
第一张图是《国家地理》杂志某一期的封面,采用航拍的视角,记录了沙漠中的骆驼(以及它们的影子)
* L& Y( X i* o& ~+ F
& o; o U3 `! f6 u& Y. J 第二张是一张声呐图像,显示的是海底的一辆自行车。
+ }$ a6 F, z' P- x9 z 其实声呐图片和清晨/傍晚俯拍的照片是一样一样的,都是声源/光源在被观测物体斜上方,然后观测者以俯视的视角观测。 2 V; K! Z9 ?" x- P) x' T! @3 f
基于对图像的观察。你会觉得对于此类图片,识别物体的本身其实挺困难的,反而,“阴影”成为了我们识别物体的关键。 ! h8 b, F* `- X9 L9 ?0 Y2 ~
有了这么个和已有认知的连接,似乎声呐图像就好懂了一点。
% ]* Z& V9 b* Z: @
' R& A' m+ }4 K6 F 你看这就是辆小汽车 1 T p3 u. [7 y1 ?7 f- T# B$ w3 ?
0 ~! Y: N) r$ m7 c/ Q8 ^
这就是人工堤坝和沙坡
, ]* g9 e6 _9 N2 [ 再往本质说,声呐图像就是根据收到回声时间的分布产生的图像。声呐发出一个触发脉冲,并在水中进行传播,碰到沙地/障碍物会反射,那么收到回声的时间越长,就说明目标物离声呐发出的距离越远。
0 ]* f$ c+ Q% h. @1 k, `! P$ \ 下面右图是左图顶边的切片,可以看得到绿圈和红圈的两张图像上的峰谷值是相对应的。
}" ^3 r! F }& W + H( Q$ C9 d9 l+ j. L
仔细观察下图④⑤⑥⑦的位置,距离声呐竖直方向的上的距离④<⑤<⑥<⑦,但是空间上⑥到①的距离小于④到①的距离,所以⑥在声学图像上离原点更近。而①④、①⑤、①⑥长度比较接近,所以他们会在声学图像上,产生一个高光区域(即图片上的“强反射”) $ i6 r+ e% ]$ M; K
而⑥,⑦中间类似“背坡”,收不到声音,所以就产生了一块阴影。
2 ]7 C8 k/ _! h0 I m" [+ ?: S3 W& ^& u2 i& e6 U
大致就是这么个意思,你品,你细品。 6 ~' F f, T8 T; ]. Y
还想掌握更多细节,或者觉得我说的不太好懂,你可以查看以下视频,以及比赛的讨论区
$ r# {3 H @% ]: {- c6 S. C 2020“水下目标检测算法赛” 9 @' ]$ y A* Q* z0 t8 O6 _% e( ]
水下目标检测算法赛(声学图像赛项) / 讨论区
2 H' K( s0 m5 L* h) X: v7 F' l( g 有了前面的讲解,现在在回过头看声呐图片,是不是有那么点儿意思了?
3 \5 S7 _1 k7 f* W3 c8 x% ^
8 z* R4 p- U& n( Q: A2 L0 ]6 d% j 你看这个侧扫声呐图像,显示的是稍微有些起伏的沙地,而这个前视声呐图像显示的是两根柱子。 0 X/ v5 e& e- a: T. i4 D1 A# Z
讲完图像之后,我们再来讲讲题该怎么做 n/ m- Y. Z* M+ Z, A0 r/ D
办赛老师甩了我们一篇论文[1],里面有一句话引起了我的注意“至今,没有专门为声呐图像设计的目标检测技术”。的确,我之前在四处找资料的时候也发现,相关资料少,使用的方法比较传统。
+ ~: j5 O: ~7 r; Y5 F2 a; I. e 举个例子:
4 z, r1 J* [1 \ WACV 2020收录的相关文章[2]中,使用主要的框架为Faster R-CNN
( p: r4 F+ r* y) ~ o 老师给的论文中,使用的方法为CNN/FCN - C% L' c/ x5 T+ z1 Q6 g
% S/ G& {/ b* x5 T
其中Faster R-CNN发表于NIPS 15,CNN和FCN则更是CV领域传统艺能。可见,这个题目的答题空间之大。
- y$ [$ h2 w5 E" ? 另外,WACV 2020收录的相关文章[2]也给了我们提示,其中写道: * D/ Q# [# `" g N2 P
“声纳图像的目标检测任务面临着数据量不足和噪声干扰两大挑战,这两大挑战导致了模型的过度拟合。”
- L% j5 p: F6 t7 V8 X5 m& R+ |) T 以上的信息整合后,解题思路呼之欲出:使用为光学图像设计的目标检测算法+针对声学图像特点进行优化。(对不起好像也没说啥有用的) 4 o7 v! c+ W8 y0 [
要是不会,也别怕,现在排行榜上的大家也都还在摸索之中,说不定随便搞个光学目标检测算法就能登顶了呢? 0 i: s5 D, P/ W+ V. R4 K
$ _0 n/ _/ ~! A
最后,要进行我们的传统项目,也是大家最最最期待的环节: 7 G$ y; [; V6 p( \
官方baseline公布
- H& H7 i; Y$ B, @ 使用Google Object Detection 完成水下目标检测
: b5 J7 f- K$ q7 \4 k: h https://www.heywhale.com/mw/project/5e6331644b7a30002c98895e " o, X( c4 K4 Y( J
项目优雅介绍了baseline的使用全流程,欢迎大家试用
$ b6 P, [) Q! U# I! H 什么?你说你不想努力了,只想找(划掉)富婆(划掉)操作更简单的baseline?行吧。 ! B) Z P* C% Y$ G6 ^
懒人版声学 Baseline
$ P& ^) ^* I4 M w x https://www.heywhale.com/mw/project/5e69d767ae2d090037791205
, ^3 l# B, `3 o; K8 c( V 某位想出道的参赛选手为了大家,在官方baseline的基础上优化了一个更流畅的版本,连代码文件都不用拆开,直接调用+传参就可以了 + W+ Z+ D% M# o! H* ?! V3 E5 J
运行 tfrecord_generator.py, 采用 -path 参数传入大赛数据集的压缩包
. V+ f: f* K: L; ?# x 运行 model_train.py, 采用 -path 参数传入预训练模型的文件夹地址 运行 inference.py, 采用 -step指定希望被用于推理的训练步数, -path指定被推理图片放置的文件夹路径有了它,三行代码,你就可以交上作业了,真是妙啊 ! I- `5 c$ M6 k' t; u
8 ~7 ]! `1 \$ u, W3 z
再提一嘴,这次数据集的大小也非常友好,只有1.32GB,训练百八十次都不会心疼,平时输在算力的同学们,这次也可以大展身手了。
) B' c8 M7 @6 q) Q 你不算我不算,声呐图像怎么办? 3 R( l* w. \/ T1 {4 k: a
你参赛我参赛,海底世界任我探!
9 z p: x9 u- e6 B 期待在排行榜上看到各位的大名。以上。
& b! h; U7 E: I 相关资料: }9 J' | M- d* O, @1 e5 G
1.M. Valdenegro-Toro, "Learning Objectness from Sonar Images for Class-Independent Object Detection," 2019 European Conference on Mobile Robots (ECMR), Prague, Czech Republic, 2019, pp. 1-6.
# ?8 y# n* |2 R$ Q* `# W 2.Qixiang Ma, Longyu Jiang, Wenxue Yu, Rui Jin, Zhixiang Wu, Fangjin Xu; The IEEE Winter Conference on Applications of Computer Vision (WACV), 2020, pp. 729-738 % n$ V: o, m2 `( v
, k8 m' s# i$ m% t
. n. J! D0 q& o6 U) N8 H7 j
z S k% @ H) r7 _4 w# e% C
" I$ P& {; X- d |