0%

TITLE: Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking

AUTHER: Guanghan Ning, Zhi Zhang, Chen Huang, Zhihai He, Xiaobo Ren, Haohong Wang

ASSOCIATION: University of Missouri, University of Missouri

FROM: arXiv:1607.05781

CONTRIBUTIONS

  1. LSTM’s interpretation and regression capabilities of high-level visual features is explored.
  2. Neural network analysis is extended into the spatiotemporal domain for efficient visual object tracking.

METHOD

The main steps of the method is as follows:

  1. YOLO is used to collect rich and robust visual features, as well as preliminary location inferences.
  2. LSTM is used to regress the location of the object in video frames.

Some Details

There are two streams of data flowing into the LSTMs. One stream includes

  1. the feature representations from the convolutional layers $X_{t}$, for example the 4096-d feature from the fully-connected layer of VGG.
  2. the detection information $B_{t,i}$ from the fully connected layers. Thus, at each time-step t, we extract a feature vector of length 4096. We refer to these vectors as Xt .

Another stream includes

  1. the output of states from the last time-step $S_{t−1}$.

ADVANTAGES

  1. The processing speed is fast because of the YOLO algorithm.
  2. History of both location and appearance are considered.
  3. End-to-end training is used in tracking, which means that a unified system is introduced.

DISADVANTAGES

  1. YOLO may be not the best choice for detection.
  2. Only single object is processed.

OTHERS

  1. 4096-d feature is a representation for whole image, how about local representation.
  2. Is there a method of temporal-full convolutional operation on 3D video, similar with fully convolutional operation on 2D image?

deb是debian linus的安装格式,跟red hat的rpm非常相似,最基本的安装命令是:dpkg -i file.deb

dpkg 是Debian Package的简写,是为Debian专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix 等。

以下是一些 Dpkg 的普通用法:

  1. dpkg -i <package.deb> 安装一个 Debian 软件包,如你手动下载的文件。
  2. dpkg -c <package.deb> 列出 <package.deb> 的内容。
  3. dpkg -I <package.deb> 从<package.deb>中提取包裹信息。
  4. dpkg -r <package> 移除一个已安装的包裹。
  5. dpkg -P <package> 完全清除一个已安装的包裹。和 remove 不同的是,remove 只是删掉数据和可执行文件,purge另外还删除所有的配制文件。
  6. dpkg -L <package> 列出 安装的所有文件清单。同时请看 dpkg -c 来检查一个 .deb 文件的内容。
  7. dpkg -s <package> 显示已安装包裹的信息。同时请看 apt-cache 显示 Debian 存档中的包裹信息,以及 dpkg -I 来显示从一个 .deb 文件中提取的包裹信息。
  8. dpkg-reconfigure <package> 重新配制一个已经安装的包裹,如果它使用的是 debconf (debconf 为包裹安装提供了一个统一的配制界面)。

Though it is recommended using HTML5 in the field, Adobe FlashPlayer is still widely used. So it is of need to install it in our system. The main steps are as follows:

  1. Download Adobe FlashPlayer from the official website. I choosed .tar.gz version.
  2. Extract the archive using tar -zxvf install_flash_player_11_linux.x86_64.tar.gz
  3. Copy files to corresponding directories.
1
2
sudo cp libflashplayer.so /usr/lib/mozilla/plugins/
sudo cp -r ./usr/* /usr/

Yesterday, I thought it was the GPU driver that solve the heat problem of my laptop. Actually, I tried another method which is lowering the level of APM_level (Advanced Power Management level). In the manuel of hdparm, a part of description is as follow:

Get/set Advanced Power Management feature, if the drive supports it. A low value means aggressive power management and a high value means better performance. Possible settings range from values 1 through 127 (which permit spin-down), and values 128 through 254 (which do not permit spin-down). The highest degree of power management is attained with a setting of 1, and the highest I/O performance with a setting of 254. A value of 255 tells hdparm to disable Advanced Power Management altogether on the drive (not all drives support disabling it, but most do).

A sample of the commond of changing APM_level is:

1
sudo hdparm -B 192 /dev/sda

or we can add it to /etc/rc.local

I have just installed Ubuntu 14.04 on my old Thinkpad T410i. But after the machine booted, it is sooo hot that can be used for frying eggs. I searched much online. Some said that it is because Ubuntu 14.04 does not handle dual graphic units well. Though my old T410i does not show two graphic units, I tried installing NVIDIA Driver and it seems help a little to cool down the machine. The steps are as follow:

  1. Add Nouveau to blacklist. Add blacklist nouveau to /etc/modprobe.d/blacklist.conf

  2. Install Nvidia Driver and Prime

    1
    sudo apt-get install nvidia-340 nvidia-prime
  3. Install Nvidia Prime indicator

    1
    2
    3
    sudo add-apt-repository ppa:nilarimogard/webupd8
    sudo apt-get update
    sudo apt-get install prime-indicator

    Then reboot the machine.

TITLE: Learning Deconvolution Network for Semantic Segmentation

AUTHER: Hyeonwoo Noh, Seunghoon Hong, Bohyung Han

ASSOCIATION: Department of Computer Science and Engineering, POSTECH, Korea

FROM: arXiv:1505.04366

CONTRIBUTIONS

  1. A multi-layer deconvolution network is designed and learned, which is composed of deconvolution, unpooling, and rectified linear unit (ReLU) layers.
  2. Instance-wise segmentations are merged for final sematic segmentation, which is free from scale issues.

METHOD

The main steps of the method is as follows:

  1. Object proposals are genereated by alogrithms such as EdgeBox.
  2. ROI extracted based on object proposals are sent to the Deconvolution Network. The outputs are instance-wise segmentations.
  3. instance-wise segmentations are combined to get the final segmentaton.

Some Details

Architecture of the network is shown as the following figure. In the network, unpooling operation captures example-specific structures by tracing the original locations with strong activations back to image space. On the other hand, deconvolution operation learnes filters to capture class-specific shapes.

Training contains two stages. At first stage, simpler data are used to train the network. The simpler data are generated using object annotations and contains constraint appearance of objects. At second stage, complex data are similarly generated but from object proposals.

Inference includes a CRF can further bootstrap the performance.

ADVANTAGES

  1. It handles objects in various scales effectively and identifies fine details of objects .
  2. Deconvolution can generate finer segmentations.

DISADVANTAGES

  1. Large number of proposals are needed to get better result, which means higher computational complexity.

看了一部也不知道是烂片还是好片的电影——《蝙蝠侠大战超人:正义黎明》。

先说说烂的一面。首先这个名字就颇有标题党的嫌疑,蝙蝠侠和超人的对决少的可怜,两者的打斗戏基本属于走过场,而且前一秒还势不两立,后一秒就并肩战斗了。其次逻辑过于弱智了,两者之间的矛盾纯粹是小人挑拨,而其中的离间计也拙劣到令人发指,甚至不如咱们《三国演义》里的桥段,然而就这么拙劣的伎俩居然就让两位神一样存在的人物那么掐起来了。最后就是这名为《蝙蝠侠大战超人》的电影,反而要让神奇女侠来推动剧情,如果不是导演剪辑版,不知道这故事还怎么讲。再有一点想要吐槽的就是,虽然蝙蝠侠就是在法律之外惩处罪恶,本身的人设比较黑暗,但是这一部中也过于偏执了。再一个就是超人的能力被限制的太过苛刻了,完全就是羸弱啊!

再说说值得思考的一面。首先是影片中的一个思考,如果一个人(姑且称他为人)具有这个世界完全不能控制的力量,那么他就是神,而神的所做所为只受神的高尚道德来约束,这样的神是不是被消灭才更好。其次,是影片临近末尾处,对人类的描述:Man are still good. We fight. We kill. We betray one another. But we can rebuild. We can do better. We will. We have to. 这一段描述让我想起《指环王》里阿拉贡最后的呼喊:A day may come when the courage of man fails, when we forsake our friends and break all bonds of fellowship.But it is not this day. An hour of wolves and shattered shields when the age of man comes crashing down. But it is not this day. This day we fight! 人类或许真的可以在大灾前领悟一些什么,但是为什么一定要在大灾难前呢?

记一篇流水账。

上周末去苏州玩的高铁上又看了一本东野圭吾的小说——《恶意》,依旧是最好的诡计和无懈可击的推理。东野圭吾很擅长挖掘人性中的一点,并让一个角色将这一点无限放大。譬如这一部作品中的主角野野口修对身边人的嫉妒,我们每个人身边都有邻居家的孩子、别人的男女朋友,老板喜欢的同事……他们都是照出我们阴暗面的太阳,我们可能至多在人家背后说说酸溜溜的坏话,或者干脆自欺欺人地对他们表现出不屑,而其实内心中在乎得要死。但是野野口却做出了一个杀人的决定。撇开野野口缜密的布局,让人思考的就是野野口杀人的动机——嫉妒,这也许是一种最最普通的情感了,读完这部小说,我不得不提醒自己,一定不能让这种心态吞噬自己,当嫉妒能够左右你所做的决定时,那么你离自己的灭亡也就不远了。

苏州一直在下雨,游览江南的园林就需要这种梅雨沥沥的意境。

从苏州回来的高铁上看了小李主演的《无间道风云》,影片刚刚公映的时候也想看过,尝试了几次,一直都没能看进去,要不是在高铁上实在没得干,估计还是看不进去。不知道是不是自己欣赏水平有限,不过还是得说一句:去看港版吧!

发现一个跨平台的对文件系统进行监测并由事件驱动进行操作的python工具——Watchdog,下面写一个简单的例子介绍如何使用watchdog

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

import sys
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler

class EventHandler(FileSystemEventHandler):

def on_created(self, event):
super(EventHandler, self).on_created(event)
self.file_name = event.src_path
if not event.is_directory:
print "create file: %s" % event.src_path
else:
print "create directory: %s" % event.src_path

def on_modified(self, event):
super(EventHandler, self).on_modified(event)
self.file_name = event.src_path
if not event.is_directory:
print "modify file: %s" % event.src_path
else:
print "modify directory: %s" % event.src_path


if __name__ == "__main__":
path = sys.argv[1] if len(sys.argv) > 1 else './test/'
event_handler = EventHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()

其中EventHandler继承自FileSystemEventHandler,其中可以针对不同的文件操作类型编写不同的处理逻辑。

今天看了一部法国电影,是一部蒸汽朋克风格的动画电影。这部电影的脑洞很大,故事发生在一个架空时空里,但是与真实历史也有一丝联系。故事的起始时间为1870年,法国皇帝拿破仑三世为了应对法国与普鲁士之间的战争急需更为先进的战争武器,于是他命令年轻科学家居斯塔夫-富兰克林研制一种终极血清,这些血清可以用于建立不死军团。然而居斯塔夫的研究失败了,他研制的血清只能使动物读书说话,气急败坏的拿破仑三世拔枪击中了实验室中的危险品导致爆炸,其当场殒命,两个在实验中被制造的怪物逃之夭夭。随后,拿破仑四世继承皇位并与普鲁士签订和平协议,由此便与真实历史不同了,普法战争在还没有开始的时候就宣告结束。随后,法国逐渐成为欧洲的统治者。随后奇怪的事情发生了,世界上的顶级科学家大量失踪,全世界的警察都无能为力,而事情的真相是这些科学家都被法国官方集中到一起,致力于保证法国在世界上的统治地位。从此,在外界看来,人类科学停滞,煤炭和木材始终是人类的主要能源,整个欧洲的树木都被砍光了,大气中弥漫着煤尘,空气质量极差,人们只得带着厚厚的面具出行。

阿薇尔的父母是居斯塔夫-富兰克林的儿子和儿媳,他们一家人都是杰出的科学家,为了不被警察抓走,他们费尽心思与官方进行周旋。与此同时,他们并没有停止对终极血清的研究,而就在他们即将成功的时刻,阿薇尔的父母还是被抓了,只有阿薇尔和她的爷爷居斯塔夫各自逃脱,在阿薇尔的父母被捕前,阿薇尔的母亲拼死将血清注入到阿薇尔喜爱的水晶球玩具里,而阿薇尔对此却一无所知。与家人失散后,阿薇尔与一只叫达尔文的猫相依为命,达尔文能读书说话,一直陪伴在阿薇尔身旁。阿薇尔为了完成父母的遗志,历尽千辛万苦,终于在十年后独立研制出了终极血清。历史再一次重演,官方凭借优势技术,得知阿薇尔拥有终极血清,并再一次找到阿薇尔。虽然阿薇尔得到爷爷的帮助暂时逃脱,但是他们终于还是被带到了囚禁科学家们的机构。此时真相才被揭开,原来政府已经被架空,操控这一切的竟然是两只大蜥蜴,它们正是从古斯塔夫实验室逃脱的怪物,在获取了人类的智慧和能力之后逐渐开始操控人类。经过一番殊死搏斗后,由蜥蜴操控幕后主使终于被消灭,终极血清使得地球上的植物起死回生,甚至使得外太空的星球上都适于人类呼吸。

电影很有趣,而且颇具深度,观众可以从各个角度深入思考,包括人与自然的关系、科学技术的双刃剑作用、亲情的力量、历史的假设……除了这些令人深思的地方,还有一些小细节也很有意思。比如电影中那只叫达尔文的猫,它在电影中的分量很重,甚至其拯救了人类。法国动画电影对猫好像情有独钟,以前还看过一部叫《屋顶上的猫》,也是一只猫的故事。再比如对历史的调侃,其中一个镜头中,希特勒正在巴黎街头作画,看来元首学画的梗总要被拿出来用一用。另一个有趣的地方是埃菲尔双子铁塔,其中一座在最终决战时被毁,这才与现实一致。