/ g( m, l* E3 B
hi,我是为你们的xio习操碎了心的和鲸社区男运营 我们的网站:和鲸社区 Heywhale.com W. T% w/ g! ^9 _ @4 P
我们的公众号:和鲸社区(ID:heywhale-kesci) 有干货,来!大家好,事情的起源是这样的,我司搞了个声学图像水下目标检测的比赛,项目的同学托我来这里宣传宣传。 + _2 H" j' S. m: H7 a. F
好嘛,举手之劳。 ; G+ z) O+ ?( z! y( N" @
5 W: z6 d2 l$ }; P t& ? 但是我仔细看了下题目,咦,声学我懂,但是声学图像是啥?刚看到数据集的图片,我是懵的 . w7 q# s- h2 K+ P6 h
2 x7 x% m1 x' |$ L5 ]: d A 唯一的感觉是“金色的,怪好看的 ”,但你问我这具体画了啥?别问,问就是“我只能分清前视和侧扫” . L! i# I( r5 g! _
刚刚恶补了一下办赛老师的ppt,终于给整明白了,让我来个脱水版的说明。 : n; |: E% W; ?) m D
先看这两张图
4 t& ^3 p' r* ~! p + M2 T# S: [" D0 J
第一张图是《国家地理》杂志某一期的封面,采用航拍的视角,记录了沙漠中的骆驼(以及它们的影子) 0 r& H8 M" t8 C
+ s& R% u7 a; m6 w 第二张是一张声呐图像,显示的是海底的一辆自行车。 7 c' V3 R) N2 r4 R' F2 ]/ a& F
其实声呐图片和清晨/傍晚俯拍的照片是一样一样的,都是声源/光源在被观测物体斜上方,然后观测者以俯视的视角观测。
. @- P, J: T. I8 ^/ N: E 基于对图像的观察。你会觉得对于此类图片,识别物体的本身其实挺困难的,反而,“阴影”成为了我们识别物体的关键。
3 Q+ B2 a/ [' u 有了这么个和已有认知的连接,似乎声呐图像就好懂了一点。
+ K; k6 q% a9 b, f
5 n N4 i; ~+ m Q! ]. Y 你看这就是辆小汽车 / g: [' |6 z$ `0 N. W0 m. d$ `
+ R# |- O, d3 `: {' t
这就是人工堤坝和沙坡
# ? v. H. c9 T: n& r! A. z% ? 再往本质说,声呐图像就是根据收到回声时间的分布产生的图像。声呐发出一个触发脉冲,并在水中进行传播,碰到沙地/障碍物会反射,那么收到回声的时间越长,就说明目标物离声呐发出的距离越远。 + D' F8 e: M: `; x
下面右图是左图顶边的切片,可以看得到绿圈和红圈的两张图像上的峰谷值是相对应的。
) O7 S1 Z0 B7 H4 ^: `/ R* d s9 f' _, M) J# ~$ P
仔细观察下图④⑤⑥⑦的位置,距离声呐竖直方向的上的距离④<⑤<⑥<⑦,但是空间上⑥到①的距离小于④到①的距离,所以⑥在声学图像上离原点更近。而①④、①⑤、①⑥长度比较接近,所以他们会在声学图像上,产生一个高光区域(即图片上的“强反射”)
4 |1 z. m8 _* E6 \) q0 y/ r" _ 而⑥,⑦中间类似“背坡”,收不到声音,所以就产生了一块阴影。 * |7 F. G, h* A
% {! x8 E, g/ |4 R9 ^3 p# [8 n0 t+ D 大致就是这么个意思,你品,你细品。 ' x/ J( y7 D9 D
还想掌握更多细节,或者觉得我说的不太好懂,你可以查看以下视频,以及比赛的讨论区 " W y5 a. l1 g2 W: ]1 X
2020“水下目标检测算法赛”
- d3 L6 m2 K; h9 |" N/ ^ 水下目标检测算法赛(声学图像赛项) / 讨论区 1 r/ |) g( g+ z! p) J a7 }2 ]
有了前面的讲解,现在在回过头看声呐图片,是不是有那么点儿意思了? , k! i- @3 T6 [; j9 @2 J
# \9 N1 s$ k8 K$ G 你看这个侧扫声呐图像,显示的是稍微有些起伏的沙地,而这个前视声呐图像显示的是两根柱子。 . F) l0 P* J, ]1 c. b9 @
讲完图像之后,我们再来讲讲题该怎么做
( l' C8 b9 U+ J' c" v8 M 办赛老师甩了我们一篇论文[1],里面有一句话引起了我的注意“至今,没有专门为声呐图像设计的目标检测技术”。的确,我之前在四处找资料的时候也发现,相关资料少,使用的方法比较传统。 0 R# c2 c! J7 o; ?/ @
举个例子:
: ]5 W7 F j& z& t" g2 q WACV 2020收录的相关文章[2]中,使用主要的框架为Faster R-CNN 3 F7 s# I, H3 U9 C
老师给的论文中,使用的方法为CNN/FCN * ]7 w6 E+ m. `* N4 L
% n+ {6 t$ d E0 \ 其中Faster R-CNN发表于NIPS 15,CNN和FCN则更是CV领域传统艺能。可见,这个题目的答题空间之大。
, ^' y. p# c s 另外,WACV 2020收录的相关文章[2]也给了我们提示,其中写道: % G( E6 s3 R: ?" m5 e# l
“声纳图像的目标检测任务面临着数据量不足和噪声干扰两大挑战,这两大挑战导致了模型的过度拟合。” 0 C8 \0 f3 [6 ~/ C
以上的信息整合后,解题思路呼之欲出:使用为光学图像设计的目标检测算法+针对声学图像特点进行优化。(对不起好像也没说啥有用的)
, }7 t& t' q. x& p' B 要是不会,也别怕,现在排行榜上的大家也都还在摸索之中,说不定随便搞个光学目标检测算法就能登顶了呢?
* A: I8 B" r. H7 V- i! T 8 R# J: G5 c9 O
最后,要进行我们的传统项目,也是大家最最最期待的环节:
I! ^6 G# B: O: G 官方baseline公布9 y6 q! z0 B) W0 m
使用Google Object Detection 完成水下目标检测
2 V$ s/ l% L, c5 B7 I- g https://www.heywhale.com/mw/project/5e6331644b7a30002c98895e
- C' p% g! Q& X/ y) p. T 项目优雅介绍了baseline的使用全流程,欢迎大家试用 - q8 }1 i! o1 B- x7 w; x
什么?你说你不想努力了,只想找(划掉)富婆(划掉)操作更简单的baseline?行吧。 7 b# f' _/ H) b/ o
懒人版声学 Baseline
% S4 Z4 G/ [8 r1 f, ^% s0 @: z https://www.heywhale.com/mw/project/5e69d767ae2d090037791205
Z! j- D8 w8 y: v9 A 某位想出道的参赛选手为了大家,在官方baseline的基础上优化了一个更流畅的版本,连代码文件都不用拆开,直接调用+传参就可以了
+ C! \; u- c# t- Y 运行 tfrecord_generator.py, 采用 -path 参数传入大赛数据集的压缩包 ; S+ h. r& v: ]- V- B. H
运行 model_train.py, 采用 -path 参数传入预训练模型的文件夹地址 运行 inference.py, 采用 -step指定希望被用于推理的训练步数, -path指定被推理图片放置的文件夹路径有了它,三行代码,你就可以交上作业了,真是妙啊
' s2 \) d! @+ m* g T' {& D % N! R v6 _1 q3 O7 [7 t
再提一嘴,这次数据集的大小也非常友好,只有1.32GB,训练百八十次都不会心疼,平时输在算力的同学们,这次也可以大展身手了。 ; D) G) D2 j% z: v
你不算我不算,声呐图像怎么办? + m& Q6 M+ A4 U! }& n3 p' p* P
你参赛我参赛,海底世界任我探! ) J8 Q2 m, i. K i3 p$ Z! {
期待在排行榜上看到各位的大名。以上。 ) y, j4 D4 a0 D) T) b! l
相关资料:
4 C4 e5 o# ?$ b5 W6 d9 x8 h 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 A5 F- W z3 Q* M
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 / H& z. a: d$ N
" F3 R" y1 |( @3 I" i$ b& X5 [ u' D3 {0 B$ _ e
* N M5 t/ J* M: C- r1 I
! b% c; \6 }1 d& L |